/* Capa visual de revisión. El catálogo y el motor comercial se conservan. */
:root {
  --bg-base: #101211;
  --bg-surface: #191b1a;
  --bg-surface-elevated: #222523;
  --bg-surface-hover: #292d29;
  --bg-glass: rgba(22,25,22,.95);
  --text-primary: #f3f2ed;
  --text-secondary: #b7bbb5;
  --text-muted: #a0a59e;
  --metallic-accent: #ced0c8;
  --border-metallic: rgba(230,231,221,.2);
  --color-cash: #bccebd;
  --color-cash-bg: rgba(188,206,189,.1);
  --color-cuotas: #d3d4cc;
  --radius-md: 3px;
  --radius-lg: 4px;
}
body { font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif; font-size: 16px; }
:focus-visible { outline: 2px solid #dce4c7; outline-offset: 5px; }
section[id], footer[id] { scroll-margin-top: 105px; }
.container { max-width: 1400px; padding-inline: clamp(22px,4.3vw,72px); }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 10000; background: #fff; color: #111; padding: 12px 20px; }
.skip-link:focus { top: 10px; }
.top-notice-bar { padding-block: 10px; background: #080a09; font-size: .875rem; }
.notice-content { max-width: 1400px; }
.notice-right .notice-item { display: none; }
.site-header { background: rgba(16,18,17,.97); }
.header-inner { min-height: 104px; gap: 28px; }
/* La marca original se conserva; la composición tipográfica es independiente. */
.site-header .brand-signature { display: flex; flex-direction: row; align-items: center; gap: 20px; flex-shrink: 0; padding-block: 12px; }
.brand-symbol { display: flex; align-items: center; padding-right: 18px; position: relative; }
.brand-symbol::after { content: ""; position: absolute; right: 0; top: 6px; bottom: 6px; width: 1px; background: linear-gradient(180deg, transparent, #a8aeb0 40%, #757c7e 70%, transparent); }
.site-header .brand-symbol img { width: 62px; height: 70px; object-fit: contain; }
.brand-wordmark { display: flex; flex-direction: column; align-items: center; }
.brand-overline { font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif; font-size: .75rem; font-weight: 500; line-height: 1.4; text-transform: uppercase; letter-spacing: .3em; padding-left: .3em; color: #c1c7ca; }
.brand-name { font-family: "Cinzel", Georgia, serif; font-size: 1.65rem; font-weight: 600; line-height: 1.2; text-transform: uppercase; letter-spacing: .045em; color: #e1e5e7; }
@supports (background-clip: text) or (-webkit-background-clip: text) {
  .brand-name { background: linear-gradient(175deg, #fafafa 5%, #cbd2d7 34%, #a7b0b6 48%, #f1f3f5 61%, #bfc6cb 91%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
}
.brand-origin { display: flex; align-items: center; gap: 9px; color: #b5bdc1; font-size: .75rem; line-height: 1.5; letter-spacing: .1em; text-transform: uppercase; margin-top: 6px; border-top: 1px solid #7b848648; padding-top: 5px; width: 100%; justify-content: center; }
.brand-origin-dot { color: #879296; }
.brand-signature:hover .brand-overline, .brand-signature:hover .brand-origin { color: #e0e4e6; }
.main-nav { gap: clamp(18px,2.4vw,38px); }
.nav-link { font-size: .875rem; letter-spacing: .025em; text-transform: none; }
.btn-cart-trigger { border-radius: 3px; font-size: .875rem; min-height: 44px; }
.btn { border-radius: 3px; min-height: 46px; font-size: .875rem; }
.btn-primary { background: #dce0d6; color: #161b16; box-shadow: none; }
.btn-outline { border-color: var(--border-metallic); }
.living-hero { display: grid; grid-template-columns: .82fr 1.6fr; max-width: 1800px; margin: auto; align-items: center; }
.living-copy { padding: 60px 32px 64px clamp(22px,4.3vw,72px); }
.editorial-kicker { font-size: .875rem; line-height: 1.65; letter-spacing: .1em; color: #b7bbb0; margin: 0 0 25px; text-transform: uppercase; }
.living-copy h1 { font-family: "Cinzel", Georgia, serif; font-weight: 500; font-size: clamp(46px,4.6vw,76px); line-height: 1.14; letter-spacing: -.03em; text-transform: none; }
.living-copy h1 em, .rooms-intro h2 em, .room-copy h3 em { font-family: Georgia, serif; color: #cbd1c2; font-weight: 400; }
.living-copy > p:not(.editorial-kicker) { margin: 26px 0 32px; color: #b7bbb5; font-size: 1rem; line-height: 1.8; }
.living-copy .btn { justify-content: space-between; gap: 28px; width: max-content; max-width: 100%; padding: 16px 20px; }
.living-explore { display: flex; align-items: center; gap: 22px; margin-top: 27px; width: max-content; color: #b7bbb5; font-size: .875rem; }
.living-scene { margin: 0; min-width: 0; }
.living-photo { position: relative; overflow: hidden; }
.living-photo > img { width: 100%; aspect-ratio: 4 / 3; height: auto; display: block; object-fit: cover; transform-origin: center 60%; animation: living-breathe 24s ease-in-out infinite alternate; }
.living-scene figcaption { display: flex; align-items: center; justify-content: space-between; padding: 15px 25px; color: #b7bbb5; border-bottom: 1px solid var(--border-subtle); font-size: .875rem; gap: 16px; }
.living-scene figcaption button { background: none; color: #edece6; border: 0; cursor: pointer; font-size: .875rem; }
.motion-toggle { position: absolute; top: 15px; right: 15px; border-radius: 3px; padding: 8px 11px; background: rgba(16,18,17,.85); color: #fff; border: 1px solid rgba(255,255,255,.25); font-size: .75rem; cursor: pointer; min-height: 38px; }
@keyframes living-breathe { from { transform: scale(1); } to { transform: scale(1.022); } }
.benefits-bar { background: #151815; padding-block: 32px; border-bottom: 1px solid var(--border-subtle); }
.benefits-grid { gap: 25px; }
.benefit-card { gap: 13px; align-items: flex-start; }
.benefit-icon { background: none; border: 0; width: 26px; height: 32px; color: #b8c0b2; flex-shrink: 0; }
.benefit-info h4 { font-family: inherit; font-size: .875rem; letter-spacing: 0; margin-bottom: 8px; font-weight: 600; }
.benefit-info p { font-size: .875rem; line-height: 1.65; }
.room-stories { padding-top: clamp(70px,8vw,120px); padding-bottom: clamp(55px,7vw,100px); }
.rooms-intro { margin-bottom: 65px; }
.rooms-intro h2 { font-family: "Cinzel",Georgia,serif; font-weight: 500; letter-spacing: -.035em; font-size: clamp(32px,3.5vw,52px); line-height: 1.25; }
.rooms-intro > p:last-child { color: #b7bbb5; font-size: 1rem; margin-top: 20px; }
.room-story { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(35px,7vw,110px); align-items: center; }
.room-story + .room-story { margin-top: clamp(70px,9vw,140px); }
.room-image { position: relative; margin: 0; min-width: 0; }
.room-image img { display: block; width: 100%; height: auto; }
.room-dining .room-image img { aspect-ratio: 4 / 5; object-fit: cover; object-position: center bottom; }
.room-image figcaption { color: #aeb4aa; margin-top: 14px; text-align: right; font-size: .875rem; }
.room-index { display: block; font-size: .875rem; color: #a8b29e; letter-spacing: .13em; margin-bottom: 30px; }
.room-copy h3 { font-family: "Cinzel",Georgia,serif; font-weight: 500; font-size: clamp(29px,3vw,45px); letter-spacing: -.025em; line-height: 1.25; }
.room-copy p { margin: 24px 0 30px; font-size: 1rem; line-height: 1.8; color: #b7bbb5; max-width: 370px; }
.room-link { display: flex; width: max-content; max-width: 100%; gap: 35px; align-items: center; font-size: .9375rem; padding-bottom: 14px; border-bottom: 1px solid #9ba393; color: #f3f2ed; }
.room-link span { transition: transform .25s; }
.room-link:hover span { transform: translate(3px,-3px); }
.room-secondary { display: block; margin-top: 22px; background: none; border: 0; color: #b7bbb5; font-size: .875rem; cursor: pointer; text-align: left; }
.room-rest { grid-template-columns: .8fr 1.2fr; }
.room-rest .room-image { grid-column: 2; grid-row: 1; }
.room-rest .room-copy { grid-column: 1; grid-row: 1; padding-left: 18px; }
.room-rest .room-image img { aspect-ratio: 4 / 3; object-fit: contain; }
.section { padding-block: 80px; }
#catalogo { background: #171a17; border-top: 1px solid var(--border-subtle); }
#catalogo .section-header { text-align: left; margin-bottom: 40px; }
.section-title { font-size: clamp(30px,3.3vw,46px); font-weight: 500; letter-spacing: -.025em; }
.section-tag, .section-subtitle { font-size: 1rem; }
.section-tag { font-size: .875rem; }
.chairs-promo-banner { padding: 22px 26px; border-radius: 3px; background: #1f2720; border-color: #3a483b; }
.promo-banner-content h3 { font-family: inherit; font-size: 1rem; letter-spacing: 0; }
.promo-banner-content p { font-size: .875rem; max-width: 610px; }
.promo-pill { border-radius: 3px; }
.promo-pill span { font-size: .875rem; }
.catalog-pricing-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin: 30px 0; font-size: .9375rem; color: var(--text-secondary); }
.header-pricing-toggle { width: auto; border-radius: 3px; flex-wrap: wrap; }
.pricing-toggle-label { font-size: .875rem; border-radius: 3px; min-height: 44px; padding: 8px 16px; }
.pricing-toggle-label input { display: inline; position: absolute; width: 1px; height: 1px; opacity: 0; }
.pricing-toggle-label:focus-within { outline: 2px solid #cbd8b9; outline-offset: 3px; }
.catalog-search-row { gap: 22px; }
.category-filter-btn { font-size: .875rem; min-height: 44px; border-radius: 3px; }
.catalog-status-bar { font-size: .875rem; flex-wrap: wrap; gap: 14px; }
.products-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.product-card { border-radius: 3px; box-shadow: none; }
.product-card:hover { transform: none; box-shadow: none; }
.card-media { background: #ece9e2; }
.card-img { object-fit: contain; }
.product-card:hover .card-img { transform: none; }
.card-body { padding: 23px; }
.card-category, .card-dimensions, .price-label, .card-finishes-summary, .cash-savings-tag, .cuotas-tag { font-size: .875rem; }
.card-title { font-size: 1.25rem; letter-spacing: -.015em; line-height: 1.35; }
.card-overlay-actions { opacity: 1; transform: none; }
.badge { font-size: .75rem; }
.badge-cash { background: #d9e3d7; color: #233b29; border-color: #b5c6b2; backdrop-filter: none; }
.badge-promo-chair { background: #435948; box-shadow: none; }
.btn-quick-view { min-height: 42px; font-size: .875rem; }
.modal-main-img { object-fit: contain; }
.modal-main-image-wrap { background: #ece9e2; }
.wa-floating-button { background: #325340; border: 1px solid #63846b; box-shadow: 0 6px 24px #0005; }
.wa-floating-button:hover { box-shadow: 0 8px 30px #0005; }
html[data-motion="off"] { scroll-behavior: auto; }
html[data-motion="off"] *, html[data-motion="off"] *::before, html[data-motion="off"] *::after { animation: none !important; transition: none !important; }
html[data-page-hidden="true"] .living-photo > img { animation-play-state: paused; }
/* Movimiento de interfaz: corto, sin desplazar controles ni alterar las fotos. */
.product-card { transition: transform .35s cubic-bezier(.2,.65,.25,1), border-color .3s, box-shadow .35s; }
.btn, .btn-quick-view, .btn-add-cart, .btn-cart-trigger, .category-filter-btn, .modal-thumb-btn { transition: transform .22s ease, color .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease; }
.brand-symbol img, .room-link span, .living-copy .btn > span { transition: transform .35s cubic-bezier(.2,.65,.25,1); }
.brand-name { background-size: 100% 180%; background-position: 50% 20%; transition: background-position .8s ease; }
.modal-thumb-btn { opacity: .72; transition: opacity .25s, border-color .25s, transform .25s; }
.modal-thumb-btn.active, .modal-thumb-btn:focus-visible { opacity: 1; }
.product-modal-dialog { animation: none; }
html[data-motion="on"] #product-detail-modal.open .product-modal-dialog { animation: detail-arrive .4s cubic-bezier(.2,.65,.25,1); }
html[data-motion="on"] .site-header .main-nav.open { animation: menu-arrive .25s ease-out; }
@keyframes detail-arrive { from { opacity: .65; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes menu-arrive { from { opacity: .75; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
@media (hover: hover) and (pointer: fine) {
  html[data-motion="on"] .product-card:hover { transform: translateY(-5px); border-color: #a5b0a06b; box-shadow: 0 16px 35px #0003; }
  html[data-motion="on"] .brand-signature:hover .brand-symbol img { transform: translateY(-2px); }
  html[data-motion="on"] .brand-signature:hover .brand-name { background-position: 50% 80%; }
  html[data-motion="on"] .btn:hover, html[data-motion="on"] .btn-quick-view:hover, html[data-motion="on"] .btn-add-cart:hover { transform: translateY(-2px); }
  html[data-motion="on"] .living-copy .btn:hover > span { transform: translate(3px,-3px); }
  html[data-motion="on"] .modal-thumb-btn:hover { opacity: 1; transform: translateY(-2px); }
}
html[data-motion="on"] .btn:active, html[data-motion="on"] .btn-add-cart:active, html[data-motion="on"] .category-filter-btn:active { transform: scale(.985); }
.motion-toggle { min-height: 44px; }
@media (max-width: 1100px) {
  .living-hero { grid-template-columns: .9fr 1.35fr; }
  .living-copy { padding-right: 22px; padding-block: 45px; }
  .living-copy h1 { font-size: clamp(38px,4.7vw,55px); }
  .living-photo > img { aspect-ratio: auto; }
  .header-inner { gap: 18px; }
  .main-nav { gap: 18px; }
  .products-grid { gap: 20px; }
  .card-body { padding: 17px; }
  .benefits-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 800px) {
  .living-hero { grid-template-columns: 1fr; }
  .living-copy { padding: 45px 24px 36px; }
  .living-copy h1 { font-size: clamp(43px,8vw,64px); }
  .living-copy h1 br { display: none; }
  .living-copy > p:not(.editorial-kicker) br { display: none; }
  .living-copy > p:not(.editorial-kicker) { margin: 20px 0 26px; }
  .living-explore { display: none; }
  .living-scene { padding: 0 22px; }
  .living-scene figcaption { padding-inline: 0; }
  .living-photo > img { animation-name: none; }
  .motion-toggle { top: 10px; right: 10px; }
  .room-story { gap: 32px; grid-template-columns: 1fr 1fr; }
  .room-copy h3 { font-size: 29px; }
  .room-rest .room-copy { padding-left: 0; }
  .room-link { gap: 18px; }
  .products-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalog-search-row { flex-wrap: wrap; }
  .notice-item { white-space: normal; }
  .notice-item > svg { display: none; }
}
/* La firma mantiene su aire sin apretar la navegación en pantallas medianas. */
@media (max-width: 1000px) {
  .site-header .main-nav { display: none; position: fixed; top: 104px; left: 0; right: 0; flex-direction: column; padding: 24px; gap: 16px; background: var(--bg-surface-elevated); border-bottom: 1px solid var(--border-subtle); box-shadow: var(--shadow-lg); }
  .site-header .main-nav.open { display: flex; }
  .site-header .mobile-menu-btn { display: block; }
}
@media (max-width: 600px) {
  .header-inner { min-height: 94px; gap: 12px; padding-inline: 18px; }
  .site-header .brand-signature { gap: 12px; padding-block: 10px; }
  .brand-symbol { padding-right: 11px; }
  .site-header .brand-symbol img { width: 40px; height: 58px; }
  .brand-name { font-size: 1.35rem; }
  .brand-overline { letter-spacing: .22em; }
  .brand-origin { letter-spacing: .025em; gap: 7px; padding-top: 4px; margin-top: 4px; }
  .header-actions { gap: 4px; }
  .btn-cart-trigger { padding-inline: 9px; }
  .btn-cart-trigger > span:not(.cart-count-badge) { display: none; }
  .btn-cart-trigger .cart-count-badge { display: inline-flex; }
  .site-header .main-nav { top: 94px; }
  .top-notice-bar { font-size: .75rem; padding: 9px 20px; }
  .living-copy .editorial-kicker { margin-bottom: 16px; font-size: .75rem; }
  .living-copy h1 { font-size: 42px; }
  .living-copy { padding-top: 34px; }
  .living-scene figcaption { font-size: .75rem; }
  .living-scene figcaption button { font-size: .875rem; }
  .benefits-grid { gap: 25px 14px; }
  .benefit-icon { display: none; }
  .benefit-info h4 { line-height: 1.6; }
  .benefit-info p { line-height: 1.7; }
  .rooms-intro { margin-bottom: 42px; }
  .room-story, .room-rest { display: flex; flex-direction: column; gap: 28px; align-items: stretch; }
  .room-index { margin-bottom: 15px; }
  .room-copy h3 { font-size: 32px; }
  .room-copy p { margin: 18px 0 23px; max-width: none; }
  .room-image figcaption { font-size: .75rem; }
  .room-dining .room-image img { aspect-ratio: 4 / 5; }
  .section { padding-block: 58px; }
  .products-grid { grid-template-columns: 1fr; gap: 28px; }
  .card-body { padding: 24px; }
  .catalog-pricing-row { margin-block: 25px; }
  .search-input-wrap, .sort-select-wrap { min-width: 0; width: 100%; }
  .category-filters-scroll { max-width: 100%; }
  .chairs-promo-banner { padding: 20px; }
  .promo-discounts-pills { flex-wrap: wrap; }
  .catalog-status-bar > span:last-child { display: none; }
  .shipping-cards-grid, .terms-accordion-grid { grid-template-columns: minmax(0,1fr); }
  .about-content, .shipping-box, .term-item { min-width: 0; overflow-wrap: anywhere; }
  .shipping-box { padding: 24px; }
  .footer-contact-item, .footer-contact-item a { overflow-wrap: anywhere; min-width: 0; }
}
@media (max-width: 360px) {
  .header-inner { padding-inline: 12px; gap: 8px; }
  .site-header .brand-signature { gap: 8px; }
  .brand-symbol { padding-right: 8px; }
  .site-header .brand-symbol img { width: 32px; height: 52px; }
  .brand-name { font-size: 1.23rem; }
  .living-copy h1 { font-size: 37px; }
  .living-scene figcaption { gap: 8px; }
}
@media (forced-colors: active) {
  .brand-name { background: none; -webkit-text-fill-color: LinkText; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .motion-toggle { display: none; }
}
