
/* ==========================================================================
   v96 · UX / CONTACT / FILTERS / MOBILE EXPERIENCE
   ========================================================================== */
:root{
  --cartuja-blue:#012169;
  --cartuja-ink:#0F1A2E;
  --cartuja-rule:#D9DDE4;
}

/* FOOTER SOCIAL — larger, centered and readable */
.footer-social{
  gap:12px!important;
  margin-top:22px!important;
}
.footer-social a{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid var(--cartuja-rule)!important;
  color:var(--cartuja-ink)!important;
  background:#fff!important;
  overflow:hidden!important;
  border-radius:50%!important;
  transition:background .28s ease,color .28s ease,border-color .28s ease,transform .28s ease!important;
}
.footer-social a:hover,
.footer-social a:focus-visible{
  background:var(--cartuja-blue)!important;
  border-color:var(--cartuja-blue)!important;
  color:#fff!important;
  transform:translateY(-2px)!important;
}
.footer-social svg{
  display:block!important;
  width:19px!important;
  height:19px!important;
  margin:auto!important;
  overflow:visible!important;
  color:currentColor!important;
  flex:none!important;
}
.footer-social a:first-child svg{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.55!important;
}
.footer-social a:nth-child(2) svg,
.footer-social a:nth-child(3) svg,
.footer-social a:nth-child(4) svg{
  fill:currentColor!important;
  stroke:none!important;
}
.footer-locale{display:inline-flex;align-items:center;gap:7px}

/* CONTACT — more editorial, less empty white */
.contact-page{
  background:
    linear-gradient(180deg,#fff 0,#fff 53%,#f7f7f4 53%,#f7f7f4 100%)!important;
}
.contact-hero{
  padding-top:clamp(72px,9vh,118px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr)!important;
  gap:min(7vw,105px)!important;
  align-items:center!important;
  border-bottom:0!important;
}
.contact-hero-copy{padding:40px 0 18px}
.contact-hero h1{font-size:clamp(66px,8vw,132px)!important;margin-bottom:28px!important}
.contact-hero-copy>p{max-width:560px!important}
.contact-hero-rule{width:72px;height:1px;background:var(--cartuja-blue);margin:34px 0 22px}
.contact-hero-note{max-width:440px!important;font-size:12px!important;line-height:1.8!important;color:#758092!important}
.contact-hero-visual{
  margin:0;
  height:clamp(430px,62vh,690px);
  position:relative;
  overflow:hidden;
  background:#eef0f3;
}
.contact-hero-visual:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 52%,rgba(4,24,67,.72));
  pointer-events:none;
}
.contact-hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center}
.contact-hero-visual figcaption{
  position:absolute;z-index:2;left:28px;right:28px;bottom:25px;color:#fff;
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px
}
.contact-hero-visual figcaption span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;opacity:.78}
.contact-hero-visual figcaption strong{font:400 clamp(19px,2vw,29px)/1.05 'EB Garamond',serif;max-width:270px;text-align:right}
.contact-details{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  border-top:1px solid var(--cartuja-rule)!important;
  margin-top:10px;
}
.contact-details>div{
  min-height:118px!important;
  padding:24px 26px!important;
  border-right:1px solid var(--cartuja-rule)!important;
  border-bottom:1px solid var(--cartuja-rule)!important;
}
.contact-details>div:first-child{border-left:1px solid var(--cartuja-rule)!important}

.contact-form-section{
  padding-top:clamp(76px,9vh,120px)!important;
  align-items:stretch!important;
}
.contact-form-intro{
  background:var(--cartuja-blue);
  color:#fff;
  padding:clamp(34px,4vw,62px);
  min-height:100%;
  position:relative;
  overflow:hidden;
}
.contact-form-intro:after{
  content:"1841";position:absolute;right:-18px;bottom:-44px;
  font:400 clamp(110px,15vw,230px)/1 'EB Garamond',serif;
  color:rgba(255,255,255,.055);pointer-events:none
}
.contact-form-intro .contact-kicker{color:rgba(255,255,255,.62)!important}
.contact-form-intro h2{color:#fff!important;max-width:9ch!important}
.contact-form-intro>p{color:rgba(255,255,255,.72)!important}
.contact-blue-card{
  margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.22);
  position:relative;z-index:1
}
.contact-blue-card>span{
  display:block;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:12px
}
.contact-blue-card strong{display:block;font:400 25px/1.08 'EB Garamond',serif;max-width:14ch}
.contact-blue-card p{font-size:11px;line-height:1.7;color:rgba(255,255,255,.68);max-width:430px;margin:17px 0 22px}
.contact-blue-card a{
  display:inline-flex;gap:14px;align-items:center;font-size:9px;letter-spacing:.15em;text-transform:uppercase;
  border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:6px
}
.contact-form{
  align-content:start;
  padding:18px clamp(0px,1vw,18px) 0!important;
}
.contact-field{
  border-bottom:1px solid var(--cartuja-rule)!important;
  padding:20px 0 17px!important;
}
.contact-field input,.contact-field textarea{
  font-size:14px!important;
}
.contact-field textarea{min-height:150px}
.contact-select-field{position:relative}
.contact-select-wrap{
  position:relative;
  margin-top:2px;
  background:#f7f7f4;
  border:1px solid #e3e5e9;
  transition:border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.contact-select-wrap:focus-within{
  background:#fff;border-color:var(--cartuja-blue);box-shadow:0 0 0 3px rgba(1,33,105,.06)
}
.contact-field .contact-select-wrap select{
  width:100%;height:52px;padding:0 48px 0 16px!important;
  appearance:none!important;background:none!important;border:0!important;
  font-size:12px!important;color:var(--cartuja-ink)!important;cursor:pointer
}
.contact-select-icon{
  position:absolute;right:16px;top:50%;transform:translateY(-53%);
  width:25px;height:25px;border-radius:50%;display:grid;place-items:center;
  background:var(--cartuja-blue);color:#fff;font-size:14px;pointer-events:none
}
.contact-submit-row button{background:#fff!important}
.contact-submit-row button:hover{background:var(--cartuja-blue)!important;border-color:var(--cartuja-blue)!important}

/* Shop toolbar filter trigger */
.filter-trigger{
  width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--cartuja-rule);
  color:var(--cartuja-ink);margin-right:14px;transition:background .25s,color .25s,border-color .25s;
}
.filter-trigger:hover,.filter-trigger[aria-expanded="true"]{
  background:var(--cartuja-blue);border-color:var(--cartuja-blue);color:#fff
}
.filter-trigger svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.35}
.toolbar-left{display:flex;align-items:center}

/* Filter drawer */
.filter-drawer-shell{
  position:fixed;inset:0;z-index:260;visibility:hidden;pointer-events:none;
}
.filter-drawer-shell.is-open{visibility:visible;pointer-events:auto}
.filter-drawer-backdrop{
  position:absolute;inset:0;background:rgba(5,15,38,.32);opacity:0;transition:opacity .32s ease;backdrop-filter:blur(3px)
}
.filter-drawer-shell.is-open .filter-drawer-backdrop{opacity:1}
.filter-drawer{
  position:absolute;left:0;top:0;bottom:0;width:min(520px,92vw);
  background:#fff;transform:translateX(-102%);transition:transform .48s cubic-bezier(.16,1,.3,1);
  box-shadow:30px 0 90px rgba(15,26,46,.14);display:flex;flex-direction:column
}
.filter-drawer-shell.is-open .filter-drawer{transform:none}
.filter-drawer-head{
  min-height:82px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--cartuja-rule)
}
.filter-drawer-head strong{font:400 29px/1 'EB Garamond',serif}
.filter-drawer-close{width:40px;height:40px;border:1px solid var(--cartuja-rule);font-size:24px;line-height:1}
.filter-drawer-body{overflow-y:auto;padding:26px 28px 40px;overscroll-behavior:contain}
.filter-group{margin-bottom:34px}
.filter-group-title{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;
  font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#747d8c
}
.filter-quick-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--cartuja-rule);border-left:1px solid var(--cartuja-rule)}
.filter-quick{
  min-height:102px;padding:15px 15px 13px;border-right:1px solid var(--cartuja-rule);border-bottom:1px solid var(--cartuja-rule);
  display:flex;flex-direction:column;justify-content:space-between;position:relative;transition:background .24s,color .24s
}
.filter-quick b{font:400 18px/1.08 'EB Garamond',serif}
.filter-quick small{font-size:9px;line-height:1.45;color:#87909d;max-width:20ch}
.filter-quick .filter-no{font-size:7px;letter-spacing:.14em;color:#a4abb6;align-self:flex-end}
.filter-quick:hover,.filter-quick.is-active{background:var(--cartuja-blue);color:#fff}
.filter-quick:hover small,.filter-quick.is-active small,
.filter-quick:hover .filter-no,.filter-quick.is-active .filter-no{color:rgba(255,255,255,.65)}
.filter-collections{display:grid;gap:0;border-top:1px solid var(--cartuja-rule)}
.filter-collections a{
  min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--cartuja-rule);
  font-size:11px;letter-spacing:.06em
}
.filter-collections a:after{content:"→";opacity:.45}
.filter-collections a.is-active{color:var(--cartuja-blue);font-weight:500}

/* Gift cards: indicate selected item if a hash/route is active */
.gift-subcategories a.is-active{background:var(--cartuja-blue)!important;color:#fff!important}
.gift-subcategories a.is-active em,.gift-subcategories a.is-active span{color:rgba(255,255,255,.68)!important}

/* Seal archive: reserve a true safe zone on short desktop windows */
@media (min-width:701px) and (max-height:840px){
  .stamp-archive-head{
    z-index:280!important;
    top:calc(var(--header-h) + 8px)!important;
    padding-bottom:9px!important;
  }
  .stamp-archive-title{
    position:relative;z-index:2;padding:6px 20px 8px 0;
    background:linear-gradient(90deg,#071b48 0%,#071b48 78%,rgba(7,27,72,0) 100%)
  }
  .stamp-coverflow-viewport{
    top:calc(var(--header-h) + 142px)!important;
    bottom:74px!important;
  }
  .stamp-coverflow-track{top:8%!important}
  .stamp-horizontal-story{--seal-card-w:clamp(150px,25vh,198px)!important}
  .stamp-active-caption{top:55%!important}
  .stamp-caption-period{font-size:clamp(23px,1.9vw,32px)!important}
  .stamp-caption-desc{font-size:10px!important;line-height:1.5!important;-webkit-line-clamp:3!important}
  .stamp-era-menu button{height:31px!important;min-width:56px!important;font-size:8px!important}
  .stamp-timeline-wrap{bottom:10px!important}
}
@media (min-width:701px) and (max-height:680px){
  .stamp-coverflow-viewport{top:calc(var(--header-h) + 130px)!important;bottom:60px!important}
  .stamp-horizontal-story{--seal-card-w:clamp(138px,23vh,170px)!important}
  .stamp-coverflow-track{top:4%!important}
  .stamp-active-caption{top:53%!important}
  .stamp-caption-desc{-webkit-line-clamp:2!important}
  .stamp-timeline-wrap{bottom:6px!important}
}

/* ==========================================================================
   MOBILE ONLY — ecommerce and navigation
   ========================================================================== */
@media(max-width:780px){
  :root{--header-h:70px}

  /* Header safe area + better vertical placement */
  .site-header .nav{
    width:calc(100vw - 28px)!important;
    height:calc(70px + env(safe-area-inset-top,0px))!important;
    padding-top:env(safe-area-inset-top,0px)!important;
    align-items:center!important;
  }
  .site-header .nav-left,.site-header .nav-right{
    gap:12px!important;transform:translateY(-2px)
  }
  .site-header .menu-trigger{gap:7px!important;font-size:9px!important;letter-spacing:.12em!important}
  .site-header .hamb{transform:scale(.86)}
  .site-header .logo,
  .site-header a.logo,
  .site-header .logo img{height:42px!important;max-height:42px!important}
  .site-header .search-link{width:34px!important;height:34px!important}
  .site-header .nav-right>a:last-child{font-size:9px!important;letter-spacing:.08em!important;white-space:nowrap}

  /* Mobile mega menu: 2 columns where it helps, less endless scrolling */
  .mega{
    top:calc(70px + env(safe-area-inset-top,0px))!important;
    max-height:calc(100dvh - 70px - env(safe-area-inset-top,0px))!important;
    overflow-y:auto!important;overscroll-behavior:contain
  }
  .mega-inner{
    width:calc(100vw - 30px)!important;
    padding:24px 0 calc(26px + env(safe-area-inset-bottom,0px))!important;
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:26px 18px!important
  }
  .mega-inner>div{min-width:0}
  .mega h3{font-size:22px!important;margin-bottom:13px!important}
  .mega ul{gap:7px!important}
  .mega li a{
    font-size:9px!important;line-height:1.35!important;letter-spacing:.045em!important;
    padding:7px 0!important;align-items:flex-start
  }
  .mega-card{padding:10px!important}
  .mega-card img{height:112px!important}
  .mega-card p{font-size:18px!important;margin:12px 0 10px!important}
  .mega-card .cta{font-size:8px!important}

  /* Home hero: no scroll required to reveal the copy on mobile. */
  #heroScroll.hero-scroll{
    height:100svh!important;height:100dvh!important;min-height:560px!important;
    --hero-title-opacity:1!important;--hero-progress:1!important;--hero-dim:.08!important;--hero-media-scale:1.025!important
  }
  #heroScroll .hero-sticky{
    position:relative!important;top:auto!important;height:100svh!important;height:100dvh!important
  }
  #heroScroll .hero-frame{
    height:100svh!important;height:100dvh!important;clip-path:none!important
  }
  #heroScroll .hero-title{
    opacity:1!important;
    transform:translate3d(-50%,0,0)!important;
    width:calc(100vw - 42px)!important;
    bottom:calc(42px + env(safe-area-inset-bottom,0px))!important;
  }
  #heroScroll .hero-title h1{font-size:clamp(42px,12.4vw,64px)!important;line-height:.98!important}
  #heroScroll .hero-title p{font-size:11px!important;line-height:1.62!important;max-width:340px!important}
  #heroScroll .hero-progress,#heroScroll .scroll-cue{display:none!important}
  #heroScroll .hero-media{object-position:center center!important}

  /* Listing pages: sidebar becomes an accessible filter drawer; default grid is 2 columns. */
  .collection-page .shop-layout{
    width:calc(100vw - 28px)!important;display:block!important;margin:0 auto!important
  }
  .collection-page .sidebar{display:none!important}
  .collection-page .collection-intro{
    padding-top:28px!important;margin-bottom:24px!important;gap:20px!important
  }
  .collection-page .collection-intro h1{font-size:clamp(42px,12vw,62px)!important}
  .collection-page .collection-intro>p{font-size:11px!important;line-height:1.65!important;text-align:left!important}
  .collection-page .breadcrumbs{font-size:9px!important}
  .collection-page .toolbar{
    position:sticky!important;top:calc(70px + env(safe-area-inset-top,0px))!important;z-index:35!important;
    background:rgba(255,255,255,.96)!important;backdrop-filter:blur(14px)!important;
    margin:0 -2px 18px!important;padding:10px 2px!important;border-bottom:1px solid rgba(15,26,46,.08)!important
  }
  .collection-page .filter-trigger{width:36px;height:36px;margin-right:8px}
  .collection-page .view-toggle{gap:6px!important}
  .collection-page .view-btn{width:34px!important;height:34px!important}
  .collection-page .sort-btn{height:36px!important;min-width:105px!important;padding:0 11px!important;font-size:8px!important}
  .collection-page .products,
  .product-related .related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:28px 10px!important
  }
  .collection-page .products.is-list{grid-template-columns:1fr!important}
  .collection-page .product-media,
  .product-related .product-media{aspect-ratio:4/5!important}
  .collection-page .product-info,
  .product-related .product-info{
    margin-top:9px!important;gap:4px 8px!important;font-size:10px!important
  }
  .collection-page .product-info h3,
  .product-related .product-info h3{font-size:10px!important;line-height:1.32!important}
  .collection-page .product-info p,
  .product-related .product-info p{font-size:8px!important;line-height:1.35!important}
  .collection-page .price,
  .product-related .price{font-size:10px!important}
  .collection-page .fav,.product-related .fav{width:32px!important;height:32px!important;right:6px!important;top:5px!important}
  .collection-page .badge{font-size:7px!important;padding:5px 7px!important;top:7px!important;left:7px!important}
  .collection-page .editorial-insert{margin:34px 0 16px!important}
  .collection-page .editorial-insert img{height:58vw!important}
  .gift-subcategories{grid-template-columns:1fr 1fr!important}
  .gift-subcategories a{min-height:126px!important;padding:18px 14px!important}
  .gift-subcategories strong{font-size:18px!important}
  .gift-subcategories em{font-size:9px!important}

  /* Drawer becomes a full-height sheet on phones */
  .filter-drawer{width:100vw!important}
  .filter-drawer-head{
    min-height:calc(66px + env(safe-area-inset-top,0px))!important;
    padding:env(safe-area-inset-top,0px) 18px 0!important
  }
  .filter-drawer-body{padding:22px 18px calc(34px + env(safe-area-inset-bottom,0px))!important}
  .filter-quick{min-height:94px!important;padding:13px!important}
  .filter-quick b{font-size:16px!important}
  .filter-quick small{font-size:8px!important}

  /* Actual product detail pages: image first, then concise information, then sticky buy action. */
  .product-page .flor-breadcrumb-bar,
  .product-page .ceilan-breadcrumb-bar{padding-top:12px!important}
  .product-page .product-detail{
    width:calc(100vw - 28px)!important;display:flex!important;flex-direction:column!important;
    gap:0!important;padding-top:14px!important
  }
  .product-page .product-gallery-panel{order:1!important;width:100%!important}
  .product-page .product-title-panel{order:2!important;width:100%!important}
  .product-page .product-info-panel{order:3!important;width:100%!important}
  .product-page .product-main-media{
    width:100%!important;height:min(62dvh,510px)!important;min-height:360px!important;
    background:#eeeff1!important;margin:0!important
  }
  .product-page .product-main-media .product-gallery-slide{
    object-fit:contain!important;object-position:center!important;background:#eeeff1!important
  }
  .product-page .product-title-sticky{
    padding:26px 2px 20px!important;text-align:left!important
  }
  .product-page .product-title-sticky h1{font-size:clamp(34px,10vw,48px)!important;line-height:.96!important}
  .product-page .product-short{font-size:12px!important;line-height:1.68!important;max-width:95%!important}
  .product-page .product-info-sticky{padding:0!important;min-height:0!important}
  .product-page .piece-color-row,
  .product-page .piece-dimension-row{min-height:48px!important;padding:13px 0!important}
  .product-page .product-accordion button{min-height:50px!important;padding:14px 0!important}
  .product-page .product-accordion>div>p{font-size:11.5px!important;line-height:1.65!important}
  .product-page .product-buy-block,
  .product-page .ceilan-bundle-footer{
    position:sticky!important;bottom:0!important;z-index:45!important;background:rgba(255,255,255,.97)!important;
    padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px))!important;margin-top:8px!important;
    border-top:1px solid rgba(15,26,46,.10)!important;box-shadow:0 -10px 30px rgba(15,26,46,.05)!important
  }
  .product-page .product-price-large{font-size:25px!important}
  .product-page .add-to-bag{height:50px!important}
  .product-page .bundle-options{gap:6px!important}
  .product-page .bundle-option{min-height:40px!important;padding:0 12px!important;font-size:9px!important}
  .product-page .ceilan-price-config-row{gap:10px!important;align-items:center!important}
  .product-page .ceilan-pack-section{width:calc(100vw - 28px)!important;padding:46px 0!important}
  .product-page .ceilan-includes-list{grid-auto-columns:min(72vw,270px)!important}
  .product-page .product-story{width:calc(100vw - 28px)!important}
  .product-page .product-story-card{grid-template-columns:1fr!important}
  .product-page .product-story-media{min-height:320px!important}
  .product-page .product-related{width:calc(100vw - 28px)!important}
  .product-lightbox{grid-template-columns:1fr!important}
  .product-lightbox .lightbox-thumbs{display:none!important}
  .product-lightbox .lightbox-scroll figure img{width:94vw!important;height:88dvh!important;object-fit:contain!important}

  /* Contact mobile */
  .contact-hero,.contact-form-section{width:calc(100vw - 28px)!important}
  .contact-hero{
    grid-template-columns:1fr!important;gap:30px!important;padding-top:42px!important
  }
  .contact-hero-copy{padding:18px 0 0!important}
  .contact-hero h1{font-size:clamp(58px,18vw,82px)!important}
  .contact-hero-visual{height:56dvh!important;min-height:390px!important}
  .contact-hero-visual figcaption{left:18px;right:18px;bottom:18px}
  .contact-hero-visual figcaption strong{font-size:20px!important}
  .contact-details{
    grid-template-columns:1fr 1fr!important;margin-top:0!important
  }
  .contact-details>div{padding:17px 13px!important;min-height:100px!important}
  .contact-form-section{grid-template-columns:1fr!important;gap:22px!important;padding-top:52px!important}
  .contact-form-intro{padding:32px 24px!important}
  .contact-form-intro h2{font-size:44px!important}
  .contact-blue-card{margin-top:34px!important}
  .contact-form{padding:0!important;grid-template-columns:1fr!important}
  .contact-submit-row button{width:100%!important}

  /* Footer mobile social target sizes */
  .footer-social a{width:42px!important;height:42px!important}
  .footer-social svg{width:20px!important;height:20px!important}
}

@media(max-width:420px){
  .mega-inner{gap:22px 14px!important}
  .mega h3{font-size:20px!important}
  .contact-details{grid-template-columns:1fr!important}
  .collection-page .products,
  .product-related .related-grid{gap:24px 8px!important}
  .collection-page .product-info h3,
  .product-related .product-info h3{font-size:9.5px!important}
}


@media(max-width:780px){
  .site-header .menu-trigger,
  .site-header .search-link,
  .site-header .nav-right>a:last-child{min-height:44px!important;display:inline-flex!important;align-items:center!important}
  .site-header .search-link{width:40px!important;height:40px!important}
  .collection-page .filter-trigger{width:42px!important;height:42px!important}
  .collection-page .view-btn{width:40px!important;height:40px!important}
  .collection-page .sort-btn{height:42px!important}
}
@media(hover:none) and (pointer:coarse){
  .product:hover .product-media img.main{opacity:1!important;transform:none!important}
  .product:hover .product-media img.hover{opacity:0!important;transform:none!important}
}


/* ==========================================================================
   v97 · FINAL POLISH — footer / contacto / mobile / sellos
   ========================================================================== */

/* Removed in this revision: the injected filter drawer and Gifts & Decor tile filter. */
.filter-trigger,.filter-drawer-shell,.gift-subcategories{display:none!important}

/* FOOTER SOCIAL — true centering, no hover colour change. */
.site-footer-unified .footer-social{
  display:flex!important;align-items:center!important;gap:12px!important;margin-top:22px!important
}
.site-footer-unified .footer-social a{
  width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;
  display:grid!important;place-items:center!important;margin:0!important;padding:0!important;
  border:1px solid var(--cartuja-rule)!important;border-radius:50%!important;
  background:#fff!important;color:var(--cartuja-ink)!important;transform:none!important;
  line-height:0!important;overflow:hidden!important;transition:border-color .2s ease!important
}
.site-footer-unified .footer-social a:hover,
.site-footer-unified .footer-social a:focus-visible{
  background:#fff!important;color:var(--cartuja-ink)!important;border-color:var(--cartuja-rule)!important;
  transform:none!important
}
.site-footer-unified .footer-social svg{
  position:static!important;display:block!important;width:19px!important;height:19px!important;
  min-width:19px!important;min-height:19px!important;margin:0!important;padding:0!important;
  transform:none!important;transform-origin:center!important;overflow:visible!important
}
.site-footer-unified .footer-social a:first-child svg{fill:none!important;stroke:currentColor!important;stroke-width:1.55!important}
.site-footer-unified .footer-social a:nth-child(2) svg,
.site-footer-unified .footer-social a:nth-child(3) svg,
.site-footer-unified .footer-social a:nth-child(4) svg{fill:currentColor!important;stroke:none!important}

/* CONTACT — clearer service data and a card-based form. */
.contact-page{background:#f7f7f5!important}
.contact-hero{background:#fff!important;padding-left:clamp(26px,3vw,52px)!important;padding-right:clamp(26px,3vw,52px)!important;width:min(94vw,1760px)!important}
.contact-hero-copy{align-self:center!important}
.contact-details{
  grid-template-columns:1.15fr .8fr 1.25fr!important;gap:0!important;margin-top:18px!important;
  border:1px solid var(--cartuja-rule)!important;background:#fff!important
}
.contact-details>div,
.contact-details>div:first-child,
.contact-details>div:nth-child(odd),
.contact-details>div:nth-child(even){
  min-height:150px!important;padding:30px!important;border:0!important;border-right:1px solid var(--cartuja-rule)!important
}
.contact-details>div:last-child{border-right:0!important}
.contact-details span{font-size:9px!important;letter-spacing:.2em!important;margin-bottom:15px!important}
.contact-details strong{display:block;font:400 23px/1.1 var(--serif)!important;color:var(--cartuja-ink)!important;margin-bottom:9px!important}
.contact-details a{display:inline-block!important;font:400 clamp(18px,1.45vw,25px)/1.15 var(--serif)!important;color:var(--cartuja-blue)!important;margin-bottom:8px!important;word-break:break-word}
.contact-details p{font-size:11px!important;line-height:1.65!important;color:#6f7888!important}

.contact-form-section{
  width:min(94vw,1760px)!important;grid-template-columns:minmax(320px,.78fr) minmax(520px,1.22fr)!important;
  gap:22px!important;padding:22px!important;margin:clamp(50px,7vh,92px) auto clamp(90px,11vh,145px)!important;
  background:#eceff3!important;align-items:stretch!important
}
.contact-form-intro{min-height:100%!important}
.contact-form{
  background:#fff!important;padding:clamp(34px,4vw,62px)!important;align-content:center!important;
  box-shadow:0 22px 60px rgba(15,26,46,.055)!important;border:1px solid rgba(15,26,46,.055)!important
}
.contact-field{padding:18px 0 14px!important}
.contact-field input,.contact-field textarea{font-size:13px!important}
.contact-select-wrap{
  min-height:54px!important;border:1px solid #dce1e8!important;background:#fbfbfa!important;
  display:flex!important;align-items:center!important;padding:0 16px!important;transition:border-color .22s ease,box-shadow .22s ease,background .22s ease!important
}
.contact-select-wrap:focus-within{border-color:var(--cartuja-blue)!important;box-shadow:0 0 0 3px rgba(1,33,105,.07)!important;background:#fff!important}
.contact-select-wrap select{height:52px!important;background:none!important;padding-right:38px!important;font-size:12px!important}
.contact-select-icon{width:28px!important;height:28px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:var(--cartuja-blue)!important;color:#fff!important;right:10px!important;top:50%!important;transform:translateY(-50%)!important;font-size:14px!important}
.contact-submit-row button{background:var(--cartuja-ink)!important;color:#fff!important;border-color:var(--cartuja-ink)!important}
.contact-submit-row button:hover{background:var(--cartuja-blue)!important;border-color:var(--cartuja-blue)!important}

/* ARTESANÍA — restore the Cartuja typography hierarchy. */
.i2-statement h2{font-family:var(--serif)!important;font-weight:400!important;letter-spacing:-.025em!important;line-height:1.02!important}
.i2-eyebrow,.i2-para p{font-family:var(--sans)!important}

/* SELLOS — low-height desktop safety zone: caption always below active card. */
@media (min-width:701px) and (max-height:820px){
  .stamp-horizontal-story{--seal-card-w:clamp(145px,23vh,188px)!important}
  .stamp-archive-head{top:calc(var(--header-h) + 4px)!important}
  .stamp-archive-title h2{font-size:clamp(24px,2.1vw,34px)!important;line-height:.95!important}
  .stamp-era-menu button{height:29px!important;min-width:52px!important;padding:0 10px!important;font-size:8px!important}
  .stamp-coverflow-viewport{top:calc(var(--header-h) + 105px)!important;bottom:60px!important}
  .stamp-coverflow-track{top:9%!important}
  .stamp-active-caption{top:calc(9% + var(--seal-card-w) + 16px)!important}
  .stamp-caption-period{font-size:clamp(21px,1.8vw,30px)!important;line-height:1!important}
  .stamp-caption-desc{margin-top:10px!important;font-size:9.5px!important;line-height:1.45!important;-webkit-line-clamp:2!important;max-width:620px!important}
  .stamp-timeline-wrap{bottom:6px!important}
  .stamp-scroll-cue{display:none!important}
}
@media (min-width:701px) and (max-height:620px){
  .stamp-horizontal-story{--seal-card-w:clamp(118px,21vh,145px)!important}
  .stamp-coverflow-viewport{top:calc(var(--header-h) + 92px)!important;bottom:52px!important}
  .stamp-coverflow-track{top:6%!important}
  .stamp-active-caption{top:calc(6% + var(--seal-card-w) + 10px)!important}
  .stamp-caption-period{font-size:20px!important}
  .stamp-caption-desc{display:none!important}
  .stamp-era-menu button{height:26px!important;min-width:48px!important;font-size:7px!important}
}

/* MOBILE — no page-level horizontal scroll in product/collection pages. */
@media(max-width:980px){
  .contact-form-section{grid-template-columns:1fr!important}
}
@media(max-width:780px){
  html,body{max-width:100%!important;overflow-x:clip!important}
  .collection-page,.product-page{width:100%!important;max-width:100%!important;overflow-x:clip!important}
  .collection-page .shop-layout,
  .collection-page .shop-main,
  .collection-page .collection-intro,
  .collection-page .toolbar,
  .collection-page .products,
  .product-page .product-detail,
  .product-page .product-story,
  .product-page .product-related,
  .product-page .ceilan-pack-section{min-width:0!important;max-width:100%!important}
  .collection-page .shop-layout{width:calc(100% - 28px)!important;margin-left:auto!important;margin-right:auto!important;display:block!important}
  .collection-page .collection-intro{width:100%!important}
  .collection-page .sidebar{display:none!important}
  .collection-page .toolbar{width:100%!important}
  .collection-page .products{width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .collection-page .product,.collection-page .product-media,.collection-page .product-info{min-width:0!important;max-width:100%!important}
  .collection-page .product-media img{max-width:100%!important}
  .collection-page .editorial-insert{width:100%!important;max-width:100%!important;overflow:hidden!important}
  .collection-page .editorial-insert img{width:100%!important;max-width:100%!important}
  .product-page .product-detail,
  .product-page .product-story,
  .product-page .product-related,
  .product-page .ceilan-pack-section{width:calc(100% - 28px)!important;margin-left:auto!important;margin-right:auto!important}
  .product-page .product-gallery-panel,.product-page .product-title-panel,.product-page .product-info-panel{min-width:0!important;max-width:100%!important}
  .product-page .product-main-media{max-width:100%!important}
  .product-page .ceilan-includes-list{max-width:100%!important;overflow-x:auto!important;overscroll-behavior-inline:contain!important}

  /* Footer: logo across full width, three compact navigation columns. */
  footer.site-footer-unified{overflow-x:hidden!important}
  .site-footer-unified .footer-grid{
    width:calc(100% - 28px)!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:28px 14px!important;align-items:start!important
  }
  .site-footer-unified .footer-logo{grid-column:1/-1!important}
  .site-footer-unified h4{font-size:8px!important;letter-spacing:.12em!important;margin-bottom:12px!important}
  .site-footer-unified .footer-grid>div:not(.footer-logo) a{font-size:9.5px!important;line-height:1.35!important;margin-bottom:9px!important;word-break:normal!important}
  .site-footer-unified .footer-social a{width:40px!important;height:40px!important}
  .site-footer-unified .footer-social svg{width:18px!important;height:18px!important}

  .contact-hero,.contact-form-section{width:calc(100% - 24px)!important}
  .contact-hero{padding-left:18px!important;padding-right:18px!important}
  .contact-details{grid-template-columns:1fr!important}
  .contact-details>div,.contact-details>div:first-child,.contact-details>div:nth-child(odd),.contact-details>div:nth-child(even){border-right:0!important;border-bottom:1px solid var(--cartuja-rule)!important;min-height:auto!important;padding:21px 18px!important}
  .contact-details>div:last-child{border-bottom:0!important}
  .contact-form-section{grid-template-columns:1fr!important;padding:12px!important;gap:12px!important}
  .contact-form{padding:28px 20px!important}
}
@media(max-width:420px){
  .site-footer-unified .footer-grid{gap:24px 10px!important}
  .site-footer-unified .footer-grid>div:not(.footer-logo) a{font-size:8.7px!important}
}
