.fem-product-details { margin-top: 18px; margin-bottom: 24px; }
.fem-product-details details { border: 1px solid #e4dadd; border-radius: 12px; background: #fff; padding: 0 18px; }
.fem-product-details summary { padding: 16px 0; color: #432832; font-size: 1.05rem; font-weight: 600; cursor: pointer; }
.fem-product-details summary:focus-visible { outline: 3px solid #ac4455; outline-offset: 4px; }
.fem-product-description { line-height: 1.6; overflow-wrap: anywhere; }
.fem-product-photo-note { margin: 8px 0 0; color: #62575b; font-size: .86rem; line-height: 1.45; }
.fem-product-variant-help { margin-top: 12px; line-height: 1.45; }
.fem-product-total { margin: 0 0 18px; padding: 14px; border: 1px solid #e4dadd; border-radius: 10px; background: #faf7f7; }
.fem-product-total p { margin: 0 0 5px; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.fem-product-total p:last-child { margin: 0; padding-top: 7px; border-top: 1px solid #e4dadd; font-weight: 600; }
.fem-product-total small { display: block; margin-top: 8px; line-height: 1.4; }
.fem-product-form .fem-date-native { min-width: 0; width: 100%; color: #42383c; appearance: auto; -webkit-appearance: auto; }
.fem-product-form .form-control, .fem-product-form .bootstrap-select > .btn, .fem-product-details { scroll-margin-top: 180px; }
.fem-product-form .fem-schedule-retry { margin-top: 8px; background: #fff; color: #81283c; border: 1px solid #ac4455; border-radius: 7px; padding: 8px 12px; min-height: 44px; }
.fem-product-form [hidden] { display: none !important; }
.fem-product-edit-note { padding: 12px; background: #fff5f7; border-radius: 8px; color: #5b3441; }
@media (min-width: 768px) {
  .fem-product-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: min-content 1fr; align-items: start; }
  .fem-product-layout > .fem-product-main { grid-column: 1; grid-row: 1; max-width: 100%; }
  .fem-product-layout > .fem-product-form { grid-column: 2; grid-row: 1 / 3; max-width: 100%; }
  .fem-product-layout > .fem-product-details { grid-column: 1; grid-row: 2; max-width: 100%; }
}
@media (max-width: 767px) {
  .fem-product-details { padding: 0 8px; }
  .fem-product-page .fem-product-main img[src*="/images/products/500x500/"] { max-width: min(100%, 340px); max-height: 340px; object-fit: contain; }
}
/* Composición y entrega con la misma escala del catálogo. */
.fem-product-configure{display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;margin:8px 8px 0;border:1px solid #983548;border-radius:8px;color:#873044;font-weight:650;background:#fff;text-decoration:none}
.fem-product-configure:hover{color:#6c2033;background:#fbf4f5}
.fem-product-selected-variant{padding:12px 0 0;color:#49333b;font-size:.95rem}
.fem-product-form .fem-form-intro h2{font-family:proxima-nova,sans-serif;font-size:1.35rem;font-weight:650}
.fem-product-page .fem-product-main .fem-product-photo-note{font-size:.8rem;margin:0;line-height:1.35}
.fem-product-form .bootstrap-select>.btn .filter-option-inner-inner{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35}
.fem-product-form .bootstrap-select>.btn{height:auto;min-height:48px}
.fem-product-form .fem-form-section{padding-bottom:18px;margin-bottom:18px}
.fem-product-form .fem-form-intro{padding-bottom:14px;margin-bottom:18px}
.fem-product-form .fem-form-intro p{display:none}
.fem-product-form .fem-product-variant-help{font-size:.8rem;margin-top:8px;margin-bottom:0}
.fem-product-page .fem-related-heading h2{color:#382a30}
.fem-product-layout a{scroll-margin-top:130px}
@media(max-width:767px){
 .fem-product-form,.fem-product-form .form-control,.fem-product-form .bootstrap-select>.btn,.fem-product-details{scroll-margin-top:110px}
 .fem-product-summary{padding-top:16px}
 .fem-product-summary h1{font-size:1.65rem}
 .fem-product-summary-price strong{font-size:1.5rem}
 .fem-product-page .fem-product-main img[src*="/images/products/500x500/"]{max-height:250px;max-width:100%;object-fit:contain;box-shadow:none;border-radius:10px!important}
 .fem-product-main>.row>div{padding-top:8px!important;padding-bottom:8px!important}
 .fem-product-main>.row>div>.p-2{padding-top:0!important;padding-bottom:0!important}
 .fem-product-layout>.fem-product-form{padding:18px!important;margin-top:12px}
 .fem-product-form .fem-size-label{padding:11px 12px;min-height:58px}
 .fem-product-form .fem-form-delivery .row>.pb-4{padding-bottom:14px!important}
 .fem-product-form .fem-form-message textarea{min-height:76px}
 .fem-product-form .fem-product-total{padding:12px}
}
.fem-dedication{border:1px solid #e6dadd;border-radius:8px;padding:0 12px;margin-bottom:14px}
.fem-dedication summary{padding:12px 0;min-height:46px;color:#49333b;font-weight:600;cursor:pointer}
.fem-dedication summary span{font-weight:400;font-size:.85rem}
.fem-dedication>label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.fem-dedication small{margin-top:8px}
@media(min-width:360px) and (max-width:767px){
 .fem-product-form .fem-form-delivery .row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:0}
 .fem-product-form .fem-form-delivery .row>.col-12{padding-left:0;padding-right:0;min-width:0;max-width:100%}
 .fem-product-form .fem-form-delivery input,.fem-product-form .fem-form-delivery select{padding-left:8px;padding-right:6px;font-size:.92rem}
}
@media(min-width:360px) and (max-width:767px){.fem-product-form .fem-form-delivery .row>.col-12+.col-12{margin-top:0}}
.fem-product-form .fem-date-native{cursor:pointer}
.fem-date-overlay{position:fixed;inset:0;z-index:2500;background:rgba(35,23,29,.4);display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.fem-date-calendar{width:350px;max-width:100%;padding:22px;background:#fff;border:1px solid #e6dadd;border-radius:14px;box-shadow:0 16px 55px rgba(35,23,29,.22);color:#382a30}
.fem-date-calendar h2{font:650 1.25rem/1.3 proxima-nova,sans-serif!important;margin:0 0 14px;color:#382a30}
.fem-date-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px}
.fem-date-nav strong{text-transform:capitalize}
.fem-date-calendar button{min-width:40px;min-height:42px;background:#fff;color:#382a30;border:1px solid #e6dadd;border-radius:7px;font:inherit;cursor:pointer}
.fem-date-calendar button:hover:not(:disabled){background:#fbf0f3;border-color:#983548}
.fem-date-calendar button:disabled{color:#aaa;cursor:default;background:#f8f6f7;border-color:transparent}
.fem-date-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center;margin-bottom:6px}
.fem-date-days span{font-size:.8rem;color:#6e5d65;padding:5px 0}
.fem-date-days button{min-width:0}
.fem-date-days button[aria-current="date"]{background:#983548;color:#fff;border-color:#983548}
.fem-date-calendar p{font-size:.82rem;line-height:1.4;color:#6e5d65;margin:12px 0}
.fem-date-calendar .fem-date-close{width:100%;color:#873044;font-weight:600}
.fem-date-field{position:relative}
.fem-date-open{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:9px;background:transparent;cursor:pointer}
.fem-date-calendar{margin:auto 0}
