/* Navegación contextual, mejoras progresivas y preferencias opcionales. */
.breadcrumbs { display:flex; gap:9px; flex-wrap:wrap; align-items:center; font-size:10px; color:var(--muted); padding-top:20px; padding-bottom:0; }
.breadcrumbs ol { display:flex; align-items:center; flex-wrap:wrap; gap:9px; list-style:none; padding:0; margin:0; }
.breadcrumbs li+li::before { content:"/"; padding-right:9px; color:#9d917d; }
.breadcrumbs a:hover { color:var(--red); text-decoration:underline; }
.product-photo { text-align:inherit; }
.product-title a { font:inherit; letter-spacing:inherit; }
.product-title a:hover { color:var(--red); }
.product-static-details { grid-column:1/-1; font-size:11px; color:var(--muted); margin-top:12px; }
.product-static-details summary { cursor:pointer; color:var(--red); }
.product-static-details p { margin-top:10px; line-height:1.9; }
.shop-enhanced .product-static-details { display:none; }
.shop-page:not(.shop-enhanced) .catalog-toolbar, .shop-page:not(.shop-enhanced) .sort-control,
.shop-page:not(.shop-enhanced) .product-add, .shop-page:not(.shop-enhanced) .favorite-button { display:none; }
.shop-page:not(.shop-enhanced) .cart-trigger { visibility:hidden; }
.privacy-footer { display:flex; flex-wrap:wrap; gap:17px; font-size:9px; color:var(--muted); padding-bottom:17px; }
.privacy-footer a:hover { color:var(--red); text-decoration:underline; }
.privacy-footer button { border:0; background:transparent; padding:0; color:inherit; font:inherit; text-align:left; }
.privacy-footer button:hover { color:var(--red); text-decoration:underline; }
.consent-panel { position:fixed; bottom:22px; left:22px; z-index:50; max-width:430px; width:calc(100% - 44px); background:var(--paper); border:1px solid #cfc4b1; border-radius:9px; box-shadow:0 8px 40px #30281c22; padding:22px; }
.consent-panel h2 { font-family:var(--serif); font-size:28px; letter-spacing:-.5px; line-height:1.1; }
.consent-panel p { font-size:11px; line-height:1.85; color:var(--muted); margin-top:12px; }
.consent-panel p a { text-decoration:underline; text-underline-offset:3px; }
.consent-actions { display:flex; gap:11px; flex-wrap:wrap; margin-top:17px; }
.consent-actions button { flex:1; min-height:40px; border:1px solid var(--red); border-radius:5px; font-size:10px; padding:10px 12px; background:var(--red); color:var(--paper); }
.consent-actions button[data-consent="denied"] { color:var(--red); background:transparent; }
.legal-page { max-width:850px; padding-block:65px 90px; }
.legal-page h1,.error-page h1 { font-size:clamp(55px,7vw,88px); line-height:1.02; margin-top:23px; letter-spacing:-2px; }
.legal-page .legal-intro { font-size:15px; color:var(--muted); line-height:1.9; margin-top:25px; max-width:600px; }
.legal-page section { margin-top:38px; padding-top:28px; border-top:1px solid var(--line); }
.legal-page section h2 { font-size:35px; letter-spacing:-.7px; margin-bottom:17px; }
.legal-page section p { font-size:13px; line-height:1.95; color:var(--muted); margin-top:14px; }
.legal-page section a { color:var(--red); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.legal-page section .button { margin-top:20px; font-size:11px; }
.analytics-preference-status { font-size:11px!important; }
.error-page { position:relative; min-height:calc(100svh - 112px); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding-block:50px; }
.error-page .eyebrow { justify-content:center; position:relative; }
.error-page h1 { position:relative; }
.error-page>p:not(.eyebrow) { margin-top:24px; font-size:13px; color:var(--muted); line-height:1.9; position:relative; }
.error-page>.button { margin-top:27px; }
.error-page>.text-link { margin-top:16px; font-size:11px; }
.error-code { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:var(--serif); color:#d9ccae42; font-size:clamp(170px,37vw,480px); pointer-events:none; }
@media(max-width:680px) {
  .breadcrumbs { font-size:9px; padding-top:15px; }
  .legal-page { padding-block:45px 65px; }
  .legal-page h1 { font-size:55px; }
  .legal-page .legal-intro { font-size:13px; }
  .legal-page section h2 { font-size:30px; }
  .legal-page section p { font-size:12px; }
  .privacy-footer { font-size:8px; }
  .consent-panel { left:15px; bottom:15px; width:calc(100% - 30px); padding:20px; }
  .error-page { min-height:calc(100svh - 84px); }
}
