/* ============================================================
   Sastrería Don Antonio — style.css
   Paleta: #37474F (gris Oxford) · #8D6E63 (café hilo) · #ECEFF1 (gris perla)
   Tipografía: EB Garamond (display) · Karla (cuerpo)
   ============================================================ */

/* --- Reset & base --- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Karla',Helvetica,Arial,sans-serif;font-size:16px;line-height:1.7;color:#37474F;background:#ECEFF1}
img{max-width:100%;height:auto;display:block}
a{color:#8D6E63;text-decoration:none;transition:color .2s}
a:hover,a:focus{color:#5D4037}
button{cursor:pointer;font-family:inherit}
ul,ol{list-style:none}

/* --- Utility --- */
.container{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}
@media(min-width:768px){.container{padding:0 40px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.section-title{font-family:'EB Garamond',Georgia,serif;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;color:#37474F;text-align:center;margin-bottom:.3em}
.section-subtitle{text-align:center;color:#8D6E63;font-size:.95rem;margin-bottom:2rem;letter-spacing:.5px}
.accent-line{display:block;width:60px;height:2px;background:#8D6E63;margin:0 auto 2rem}
.btn{display:inline-block;padding:.75rem 2rem;font-size:.95rem;font-weight:700;border-radius:2px;border:2px solid #8D6E63;color:#fff;background:#8D6E63;text-align:center;transition:background .25s,color .25s,transform .15s;letter-spacing:.5px}
.btn:hover,.btn:focus{background:#5D4037;border-color:#5D4037;color:#fff;transform:translateY(-1px)}
.btn--outline{background:transparent;color:#8D6E63}
.btn--outline:hover,.btn--outline:focus{background:#8D6E63;color:#fff}

/* --- Image placeholders (CSS gradients) --- */
.img-placeholder{background:linear-gradient(135deg,#8D6E63 0%,#A1887F 40%,#BCAAA4 70%,#D7CCC8 100%);border-radius:4px;position:relative;overflow:hidden}
.img-placeholder::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(255,255,255,.04) 8px,rgba(255,255,255,.04) 16px)}
.img-placeholder--dark{background:linear-gradient(135deg,#37474F 0%,#455A64 40%,#607D8B 70%,#78909C 100%)}
.img-placeholder--warm{background:linear-gradient(135deg,#5D4037 0%,#8D6E63 50%,#BCAAA4 100%)}
.img-placeholder--fabric{background:linear-gradient(160deg,#4E342E 0%,#6D4C41 25%,#8D6E63 50%,#A1887F 75%,#D7CCC8 100%);background-size:200% 200%;animation:fabric-shimmer 8s ease infinite}
@keyframes fabric-shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* ============================================================
   HEADER — centered calling-card style
   ============================================================ */
.site-header{background:#fff;border-bottom:1px solid #D7CCC8;position:sticky;top:0;z-index:100}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding-top:.75rem;padding-bottom:.75rem}
.header-logo img{height:44px;width:auto}
@media(min-width:768px){.header-logo img{height:54px}}

/* Desktop nav */
.desktop-nav{display:none}
@media(min-width:900px){
  .desktop-nav{display:flex;align-items:center;gap:.15rem}
  .desktop-nav a{font-family:'EB Garamond',Georgia,serif;font-size:.95rem;color:#37474F;padding:.4rem .9rem;letter-spacing:.6px;position:relative;transition:color .2s}
  .desktop-nav a::after{content:'·';margin-left:.15rem;color:#BCAAA4;pointer-events:none}
  .desktop-nav a:last-child::after{content:''}
  .desktop-nav a:hover,.desktop-nav a.active{color:#8D6E63}
}

/* Hamburger */
.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;padding:4px}
.menu-toggle span{display:block;height:2px;background:#37474F;border-radius:1px;transition:transform .3s,opacity .3s}
@media(min-width:900px){.menu-toggle{display:none}}

/* Mobile nav */
.mobile-nav{position:fixed;top:0;right:-100%;width:280px;height:100%;background:#fff;z-index:200;padding:4rem 2rem 2rem;transition:right .35s ease;box-shadow:-4px 0 20px rgba(0,0,0,.12);overflow-y:auto}
.mobile-nav.open{right:0}
.mobile-nav a{display:block;font-family:'EB Garamond',Georgia,serif;font-size:1.15rem;color:#37474F;padding:.75rem 0;border-bottom:1px solid #ECEFF1;letter-spacing:.5px}
.mobile-nav a:hover{color:#8D6E63}
.mobile-nav .nav-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.6rem;color:#37474F;line-height:1}
.nav-overlay{position:fixed;inset:0;background:rgba(55,71,79,.45);z-index:190;opacity:0;pointer-events:none;transition:opacity .3s}
.nav-overlay.visible{opacity:1;pointer-events:auto}

/* ============================================================
   HERO — asymmetric with large text
   ============================================================ */
.hero{padding:3rem 0 2.5rem;position:relative;overflow:hidden}
.hero-grid{display:grid;gap:2rem;align-items:center}
@media(min-width:768px){.hero-grid{grid-template-columns:1fr 1fr;gap:3rem}}
.hero-text{order:2}
@media(min-width:768px){.hero-text{order:1}}
.hero-tagline{font-family:'EB Garamond',Georgia,serif;font-size:clamp(2rem,5.5vw,3.4rem);font-weight:700;color:#37474F;line-height:1.15;margin-bottom:.5rem}
.hero-tagline em{font-style:italic;color:#8D6E63}
.hero-sub{font-size:1.05rem;color:#607D8B;margin-bottom:1.5rem;max-width:420px}
.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem}
.hero-image{order:1;aspect-ratio:4/5;border-radius:4px;min-height:280px}
@media(min-width:768px){
  .hero-image{order:2;min-height:400px;aspect-ratio:3/4}
}

/* Decorative tape measure */
.hero::before{content:'';position:absolute;bottom:0;left:0;right:0;height:6px;background:repeating-linear-gradient(90deg,#8D6E63 0 10px,#ECEFF1 10px 12px,#8D6E63 12px 22px,#D7CCC8 22px 24px)}

/* ============================================================
   SECTIONS
   ============================================================ */
.section{padding:3.5rem 0}
.section--alt{background:#fff}
.section--dark{background:#37474F;color:#ECEFF1}
.section--dark .section-title{color:#fff}
.section--dark .accent-line{background:#D7CCC8}
.section--dark a{color:#D7CCC8}
.section--dark a:hover{color:#fff}

/* About intro */
.about-intro{display:grid;gap:2rem;align-items:center}
@media(min-width:768px){.about-intro{grid-template-columns:5fr 4fr;gap:3rem}}
.about-intro__img{aspect-ratio:4/3;border-radius:4px;min-height:220px}
.about-intro__text p{margin-bottom:1rem}

/* Services — menu-card style */
.services-menu{max-width:720px;margin:0 auto}
.svc-group{margin-bottom:2.5rem}
.svc-group__title{font-family:'EB Garamond',Georgia,serif;font-size:1.3rem;color:#8D6E63;margin-bottom:.75rem;border-bottom:1px solid #D7CCC8;padding-bottom:.4rem;letter-spacing:.5px}
.svc-item{display:flex;justify-content:space-between;align-items:baseline;padding:.5rem 0;border-bottom:1px dotted #BCAAA4}
.svc-item__name{font-weight:700;font-size:.95rem;flex:1}
.svc-item__dots{flex:1;border-bottom:1px dotted #BCAAA4;margin:0 .5rem;min-width:30px;align-self:baseline;height:1em}
.svc-item__price{font-family:'EB Garamond',Georgia,serif;font-size:1.1rem;color:#8D6E63;white-space:nowrap;font-weight:700}

/* Process steps */
.steps{display:grid;gap:2rem;margin-top:1rem}
@media(min-width:600px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{text-align:center;padding:1.5rem 1rem}
.step__num{font-family:'EB Garamond',Georgia,serif;font-size:2.2rem;color:#8D6E63;font-weight:700;line-height:1;margin-bottom:.4rem}
.step__title{font-weight:700;margin-bottom:.3rem;font-size:1rem}
.step__desc{font-size:.88rem;color:#607D8B;line-height:1.5}

/* Blog cards */
.blog-grid{display:grid;gap:1.5rem}
@media(min-width:600px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.blog-grid{grid-template-columns:repeat(3,1fr)}}
.blog-card{background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 2px 8px rgba(55,71,79,.08);transition:transform .25s,box-shadow .25s}
.blog-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(55,71,79,.14)}
.blog-card__img{aspect-ratio:16/9;min-height:160px}
.blog-card__body{padding:1.25rem}
.blog-card__date{font-size:.8rem;color:#8D6E63;margin-bottom:.3rem}
.blog-card__title{font-family:'EB Garamond',Georgia,serif;font-size:1.15rem;margin-bottom:.4rem;line-height:1.3}
.blog-card__title a{color:#37474F}
.blog-card__title a:hover{color:#8D6E63}
.blog-card__excerpt{font-size:.88rem;color:#607D8B;line-height:1.5}

/* Gallery grid */
.gallery-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:600px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}
.gallery-item{aspect-ratio:1;border-radius:4px;cursor:pointer;transition:transform .25s}
.gallery-item:hover{transform:scale(1.03)}
.gallery-item:nth-child(1){grid-column:span 2;grid-row:span 2;aspect-ratio:auto}

/* Gallery lightbox */
.lightbox{position:fixed;inset:0;background:rgba(55,71,79,.92);z-index:300;display:none;align-items:center;justify-content:center;padding:2rem}
.lightbox.active{display:flex}
.lightbox__inner{max-width:900px;width:100%;text-align:center}
.lightbox__img{width:100%;aspect-ratio:4/3;border-radius:4px}
.lightbox__caption{color:#D7CCC8;margin-top:.75rem;font-size:.95rem}
.lightbox__close{position:absolute;top:1rem;right:1.5rem;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer}
.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);border:none;color:#fff;font-size:1.8rem;padding:.5rem 1rem;cursor:pointer;border-radius:2px}
.lightbox__nav:hover{background:rgba(255,255,255,.3)}
.lightbox__nav--prev{left:1rem}
.lightbox__nav--next{right:1rem}

/* FAQ */
.faq-list{max-width:760px;margin:0 auto}
.faq-item{border-bottom:1px solid #D7CCC8;padding:1rem 0}
.faq-item__q{font-family:'EB Garamond',Georgia,serif;font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;color:#37474F;background:none;border:none;width:100%;text-align:left;padding:.25rem 0;line-height:1.4}
.faq-item__q::after{content:'+';font-size:1.4rem;color:#8D6E63;flex-shrink:0;transition:transform .25s}
.faq-item.open .faq-item__q::after{content:'−'}
.faq-item__a{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s;padding:0}
.faq-item.open .faq-item__a{max-height:600px;padding:.75rem 0 .25rem}
.faq-item__a p{font-size:.93rem;color:#607D8B;line-height:1.6}

/* Contact form */
.contact-grid{display:grid;gap:2.5rem}
@media(min-width:768px){.contact-grid{grid-template-columns:1fr 1fr}}
.form-group{margin-bottom:1.25rem}
.form-group label{display:block;font-weight:700;font-size:.88rem;margin-bottom:.3rem;color:#37474F}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:.7rem .9rem;border:1px solid #BCAAA4;border-radius:2px;font-family:'Karla',sans-serif;font-size:.95rem;color:#37474F;background:#fff;transition:border-color .2s}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#8D6E63;box-shadow:0 0 0 2px rgba(141,110,99,.15)}
.form-group textarea{min-height:120px;resize:vertical}
.form-group .error-msg{color:#C62828;font-size:.82rem;margin-top:.2rem;display:none}
.form-group.has-error .error-msg{display:block}
.form-group.has-error input,.form-group.has-error textarea{border-color:#C62828}
.form-notice{font-size:.82rem;color:#607D8B;margin-bottom:1rem}
.form-notice a{text-decoration:underline}

.contact-info{padding:1.5rem;background:#fff;border-radius:4px;box-shadow:0 2px 8px rgba(55,71,79,.06)}
.contact-info h3{font-family:'EB Garamond',Georgia,serif;font-size:1.2rem;margin-bottom:1rem;color:#37474F}
.contact-info__item{display:flex;gap:.75rem;margin-bottom:1rem;font-size:.93rem;align-items:flex-start}
.contact-info__item svg{flex-shrink:0;width:20px;height:20px;fill:#8D6E63;margin-top:.15rem}
.contact-info__item a{color:#37474F}
.contact-info__item a:hover{color:#8D6E63}

/* Map placeholder */
.map-container{aspect-ratio:16/9;border-radius:4px;margin-top:2rem;overflow:hidden;min-height:200px}

/* Pricing table (pagos, envios, devoluciones) */
.info-table{width:100%;border-collapse:collapse;max-width:700px;margin:1rem auto}
.info-table th,.info-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #D7CCC8;font-size:.93rem}
.info-table th{background:#37474F;color:#fff;font-weight:700}
.info-table tr:nth-child(even){background:rgba(141,110,99,.05)}

/* Blog article */
.article{max-width:760px;margin:0 auto}
.article__header{margin-bottom:2rem}
.article__date{color:#8D6E63;font-size:.88rem;margin-bottom:.5rem}
.article__hero{aspect-ratio:16/9;border-radius:4px;margin-bottom:2rem;min-height:200px}
.article h2{font-family:'EB Garamond',Georgia,serif;font-size:1.5rem;margin:2rem 0 .75rem;color:#37474F}
.article h3{font-family:'EB Garamond',Georgia,serif;font-size:1.2rem;margin:1.5rem 0 .5rem;color:#5D4037}
.article p{margin-bottom:1rem;line-height:1.8}
.article ul,.article ol{margin:1rem 0 1rem 1.5rem;list-style:disc}
.article li{margin-bottom:.4rem;line-height:1.6}

/* Legal pages */
.legal{max-width:760px;margin:0 auto;line-height:1.8}
.legal h2{font-family:'EB Garamond',Georgia,serif;font-size:1.35rem;margin:2rem 0 .75rem;color:#37474F}
.legal h3{font-size:1.05rem;font-weight:700;margin:1.5rem 0 .5rem}
.legal p,.legal li{margin-bottom:.75rem;font-size:.93rem}
.legal ul,.legal ol{margin:1rem 0 1rem 1.5rem}
.legal ul{list-style:disc}
.legal ol{list-style:decimal}
.legal a{text-decoration:underline}
.legal table{width:100%;border-collapse:collapse;margin:1rem 0}
.legal table th,.legal table td{border:1px solid #D7CCC8;padding:.5rem .75rem;font-size:.88rem;text-align:left}

/* Cotizador */
.cotizador{background:#fff;padding:1.5rem;border-radius:4px;box-shadow:0 2px 8px rgba(55,71,79,.06);max-width:500px;margin:2rem auto}
.cotizador h3{font-family:'EB Garamond',Georgia,serif;font-size:1.2rem;margin-bottom:1rem;text-align:center}
.cotizador__result{font-family:'EB Garamond',Georgia,serif;font-size:1.6rem;color:#8D6E63;text-align:center;margin:1rem 0;font-weight:700}

/* 404 */
.page-404{text-align:center;padding:5rem 1rem}
.page-404 h1{font-family:'EB Garamond',Georgia,serif;font-size:clamp(4rem,10vw,8rem);color:#D7CCC8;line-height:1}
.page-404 p{font-size:1.1rem;margin:1rem 0 2rem;color:#607D8B}

/* Breadcrumb */
.breadcrumb{padding:.75rem 0;font-size:.85rem;color:#8D6E63}
.breadcrumb a{color:#8D6E63}
.breadcrumb a:hover{color:#5D4037;text-decoration:underline}
.breadcrumb span{color:#607D8B}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:#37474F;color:#BCAAA4;padding:3rem 0 0;font-size:.88rem}
.footer-grid{display:grid;gap:2rem;margin-bottom:2rem}
@media(min-width:600px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}
.footer-col h4{font-family:'EB Garamond',Georgia,serif;font-size:1.05rem;color:#fff;margin-bottom:.75rem;letter-spacing:.3px}
.footer-col p,.footer-col li{line-height:1.6;margin-bottom:.35rem}
.footer-col a{color:#BCAAA4;transition:color .2s}
.footer-col a:hover{color:#fff}
.footer-social{display:flex;gap:.75rem;margin-top:.5rem}
.footer-social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid #78909C;transition:border-color .2s,background .2s}
.footer-social a:hover{border-color:#8D6E63;background:rgba(141,110,99,.15)}
.footer-social svg{width:18px;height:18px;fill:#BCAAA4}
.footer-bottom{border-top:1px solid #455A64;padding:1.25rem 0;text-align:center;font-size:.8rem;color:#78909C}
.footer-bottom a{color:#8D6E63}
.footer-bottom a:hover{color:#D7CCC8}

/* ============================================================
   FLOATING BUTTONS (Call + WhatsApp)
   ============================================================ */
.floating-btns{position:fixed;bottom:5.5rem;right:1rem;display:flex;flex-direction:column;gap:.6rem;z-index:80}
.float-btn{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 12px rgba(0,0,0,.2);transition:transform .2s,box-shadow .2s;border:none}
.float-btn:hover{transform:scale(1.08);box-shadow:0 5px 18px rgba(0,0,0,.25)}
.float-btn svg{width:24px;height:24px;fill:#fff}
.float-btn--call{background:#37474F}
.float-btn--wa{background:#25D366}

/* ============================================================
   CHATBOT
   ============================================================ */
.chatbot{position:fixed;bottom:1rem;right:1rem;z-index:90}
.chatbot-toggle{width:52px;height:52px;border-radius:50%;background:#8D6E63;border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 12px rgba(0,0,0,.2);transition:transform .2s}
.chatbot-toggle:hover{transform:scale(1.08)}
.chatbot-toggle svg{width:24px;height:24px;fill:#fff}
.chatbot-window{position:absolute;bottom:64px;right:0;width:340px;max-width:calc(100vw - 2rem);background:#fff;border-radius:8px;box-shadow:0 8px 32px rgba(55,71,79,.2);display:none;flex-direction:column;overflow:hidden;max-height:480px}
.chatbot.open .chatbot-window{display:flex}
.chatbot-header{background:#37474F;color:#fff;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center}
.chatbot-header h4{font-family:'EB Garamond',Georgia,serif;font-size:1rem;letter-spacing:.3px}
.chatbot-header__actions{display:flex;gap:.5rem}
.chatbot-header button{background:none;border:none;color:#BCAAA4;font-size:1.1rem;cursor:pointer;padding:2px 4px}
.chatbot-header button:hover{color:#fff}
.cb-messages{flex:1;overflow-y:auto;padding:1rem;min-height:200px;max-height:300px;display:flex;flex-direction:column;gap:.6rem}
.cb-msg{padding:.6rem .9rem;border-radius:12px;font-size:.88rem;line-height:1.5;max-width:85%;word-wrap:break-word}
.cb-msg a{text-decoration:underline;color:#8D6E63}
.cb-bot{background:#ECEFF1;color:#37474F;align-self:flex-start;border-bottom-left-radius:2px}
.cb-user{background:#8D6E63;color:#fff;align-self:flex-end;border-bottom-right-radius:2px}
.cb-quick{display:flex;flex-wrap:wrap;gap:.4rem;padding:.5rem 1rem}
.cb-quick-btn{font-size:.78rem;padding:.35rem .7rem;background:#ECEFF1;border:1px solid #D7CCC8;border-radius:20px;color:#37474F;cursor:pointer;transition:background .2s,border-color .2s}
.cb-quick-btn:hover{background:#D7CCC8;border-color:#8D6E63}
.chatbot-input{display:flex;border-top:1px solid #ECEFF1;padding:.5rem}
.chatbot-input input{flex:1;border:none;padding:.5rem .75rem;font-size:.88rem;color:#37474F;outline:none}
.chatbot-input button{background:#8D6E63;color:#fff;border:none;padding:.5rem .85rem;border-radius:2px;font-size:.85rem;font-weight:700;transition:background .2s}
.chatbot-input button:hover{background:#5D4037}

/* ============================================================
   COOKIE BANNER
   ============================================================ */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#37474F;color:#ECEFF1;padding:1rem;z-index:110;box-shadow:0 -2px 12px rgba(0,0,0,.15);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;font-size:.85rem;transition:transform .3s}
.cookie-banner.hidden{transform:translateY(100%);pointer-events:none}
.cookie-banner p{flex:1;min-width:200px;line-height:1.5}
.cookie-banner p a{color:#D7CCC8;text-decoration:underline}
.cookie-btns{display:flex;gap:.5rem;flex-shrink:0}
.cookie-btn{padding:.5rem 1.2rem;font-size:.85rem;font-weight:700;border-radius:2px;border:none;cursor:pointer;transition:background .2s}
.cookie-btn--accept{background:#8D6E63;color:#fff}
.cookie-btn--accept:hover{background:#5D4037}
.cookie-btn--reject{background:transparent;color:#D7CCC8;border:1px solid #78909C}
.cookie-btn--reject:hover{background:#455A64}

/* When cookie banner is visible, push floating buttons up */
.cookie-banner:not(.hidden)~.floating-btns{bottom:8.5rem}
.cookie-banner:not(.hidden)~.chatbot{bottom:4rem}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0s!important;transition-duration:0s!important}
  html{scroll-behavior:auto}
}

/* ============================================================
   PRINT
   ============================================================ */
/* Interior, catálogo, mapa */
.header-searchbar{background:#fff;border-bottom:1px solid #ECEFF1;padding:0 0 .7rem}
.header-searchbar input{width:100%;max-width:28rem;border:none;border-bottom:1px solid #8D6E63;padding:.35rem 0;font-family:'EB Garamond',Georgia,serif;font-size:1.05rem;color:#37474F;background:transparent}
.header-searchbar input:focus{outline:none;border-bottom-width:2px}
.page-hero{background:linear-gradient(120deg,#37474F 0%,#455A64 46%,#6D4C41 100%);color:#ECEFF1;padding:2.2rem 0 2.1rem}
.page-hero h1{font-family:'EB Garamond',Georgia,serif;font-size:clamp(2rem,5vw,3.1rem);line-height:1.12;font-weight:700;color:#fff;max-width:18ch}
.page-hero .lede{max-width:40rem;color:#ECEFF1;margin-top:.55rem}
.page-hero .breadcrumb,.page-hero .breadcrumb a,.page-hero .breadcrumb span{color:#D7CCC8}
.catalog-tools{display:grid;gap:.75rem;margin-bottom:1rem}
@media(min-width:700px){.catalog-tools{grid-template-columns:1.5fr .8fr .9fr;align-items:end}}
.catalog-tools label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.25rem}
.catalog-tools input,.catalog-tools select{width:100%;padding:.7rem .8rem;border:1px solid #BCAAA4;background:#fff;color:#37474F;font-family:'Karla',sans-serif;font-size:.95rem}
.result-line{font-size:.88rem;color:#8D6E63;margin-bottom:1rem}
.catalog-grid{display:grid;gap:1rem}
@media(min-width:720px){.catalog-grid{grid-template-columns:1fr 1fr}}
.catalog-card{background:#fff;padding:1rem 1rem 1.1rem;border-radius:4px;box-shadow:0 2px 8px rgba(55,71,79,.06)}
.catalog-card[hidden]{display:none}
.catalog-card__swatch{height:128px;margin-bottom:.8rem;border-radius:4px}
.catalog-card p{font-size:.9rem;color:#546E7A;margin-top:.35rem}
.catalog-empty{text-align:center;padding:2rem 1rem;color:#546E7A}
.map-container iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-note{position:relative;z-index:1;color:#fff;text-align:center;padding:2.2rem 1rem;text-shadow:0 1px 2px rgba(55,71,79,.35)}
.cb-wa{display:block;text-align:center;padding:.6rem 1rem;background:#25D366;color:#fff;font-weight:700;font-size:.85rem}
.cb-wa:hover,.cb-wa:focus{background:#1ebe5d;color:#fff}
.check-line{font-weight:400;display:flex;gap:.5rem;align-items:flex-start}
.check-line input{margin-top:.35rem;flex-shrink:0}

@media print{
  .site-header,.header-searchbar,.site-footer,.floating-btns,.chatbot,.cookie-banner,.mobile-nav,.nav-overlay,.lightbox{display:none!important}
  body{color:#000;background:#fff;font-size:12pt}
  a{color:#000;text-decoration:underline}
  .container{max-width:100%}
}
