/* GOMERON · quiet, tonal surfaces. */
:root{--muted:#a8b5ad;--line:#c5d7cb22;--sand:#c8cbbd;--forest:#233b30}body{background:#101a15;color:#e6ece7}body::before{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 5%,#4e705e12,transparent 60%);z-index:-1}header{background:#101a15e6;backdrop-filter:blur(24px);border-bottom:1px solid var(--line)}.announcement{background:#18271f;color:#b8c8be}.hero{background:radial-gradient(ellipse at top left,#263e31,#101a15 80%)}.hero-content{background:none}.hero h1{font-weight:400;font-size:clamp(60px,6.5vw,96px);letter-spacing:-5px;line-height:1.08;text-transform:none}.hero h1 span{color:#b6c7b9;margin-left:0}.hero-content>p{color:#bbc9c0}.hero-image,.hero-image>img{background:#101a15}.hero-image{mask-image:linear-gradient(to right,transparent,black 12%)}.photo-caption{background:#17261eb0;backdrop-filter:blur(12px);border:1px solid #ffffff12;border-radius:18px;bottom:20px}.photo-caption>span{font-size:12px;letter-spacing:2px;color:#bdccc2}.brand-strip{background:#14221a;color:#9caf9f;border-block:1px solid var(--line)}.brand-strip img{opacity:.6}.section{background:transparent}.hero-content .overline,.overline{color:#a6bcae}.hero-content .dot{background:#9cb6a3}.button,.button.dark,.button.sand,.hero-content .button,.duo-action .button,.info-dialog .button{background:#ffffff09;color:#e5eee7;border:1px solid #cadcc729;box-shadow:inset 0 1px 0 #ffffff08;border-radius:999px;min-height:52px;transition:background .2s,border-color .2s,box-shadow .2s}.button:hover,.button.dark:hover,.button.sand:hover{background:#ffffff12;border-color:#d0e4d043;box-shadow:0 0 25px #a1d0ad08}.button:active{background:#ffffff1a}.text-link,.card-bottom button{color:#c6d7ca;border-bottom-color:#b3cbbb44;background:transparent}.filters{gap:8px}.filters button{border:1px solid transparent;border-radius:999px;background:#ffffff04;color:#aebbaf;padding:11px 20px}.filters button:hover{background:#ffffff0b;color:#e6eee7}.filters button.active{background:#ffffff0e;border-color:#c9dfc729;color:#ecf3ed}#menu{background:#ffffff05;border:1px solid #c9dfc726;border-radius:999px;color:#e1ebe3;padding-inline:20px}#menu:hover,.bag-button:hover{background:#ffffff0c}.bag-button{color:#d6e2d9;border-radius:999px}.bag-button #bag-count{background:#c5d3bd14;color:#dbe9dc;border:1px solid #d3e7d325}#navigation{background:#14231bf5;border:1px solid #d2e4d325;backdrop-filter:blur(25px);border-radius:24px;box-shadow:0 24px 70px #0004}#navigation a{border-top-color:#c5d6c715;color:#dce7de}#navigation a span{color:#8fa495}#navigation a[aria-current=page]{color:#d8ead8}.product-image,.carousel-track{background:#121d17}.product-image .add-icon{background:#21342bc9;color:#d9e7dc;border:1px solid #e0f0e02a;border-radius:50%;backdrop-filter:blur(8px)}.carousel-controls{background:#ffffff04;border:1px solid #d2e3d212;border-radius:18px;margin-top:8px}.slide-arrow{background:#ffffff06;color:#c9dbce;border:1px solid #d8e8d815;border-radius:50%}.slide-arrow:hover:enabled{background:#ffffff10}.slide-label{color:#d5e4d8}.slide-label small{color:#93a798}.color-select select,.field select{background:#ffffff04;color:#dbe8df;border:1px solid #cbdccb26;border-radius:14px;padding:12px}.color-select select option,.field select option{background:#17271d;color:#ecf3ed}.single-color{color:#a0b4a5}.product-meta h3,.product-price{color:#e1eae3}.product-card>p{color:#a8b9ad}.product-image,.carousel-track{border-radius:22px;overflow:hidden}.shop-how{border-color:#ffffff15;color:#b4c7ba}.catalog-bar{border-color:#ffffff15}.card-bottom{border-color:#ffffff15}.duo{background:#ffffff04;border:1px solid #cbdccb19;border-radius:28px}.duo-action strong,.duo-symbol{color:#c8d9cc}.roots{background:#132219}.roots-copy,.roots-image{background:transparent}.roots-copy h2,.detail-copy h2{color:#e3ece4}.roots-copy em,.detail-copy em{color:#b4cab8}.roots-image>img{background:#101a15}.detail-row{border-color:#ffffff18}.detail-row>span{color:#91ac98}.detail-photo span{color:#b6c9bc}.details-section .detail-photo img{border-radius:24px}.own-story>div,.impulse-story,.impulse-story>div{background:#17271d;color:#e3ece5}.story{border-radius:24px;overflow:hidden}.roots-image span{background:#14251bc0;border-radius:20px}.help{grid-template-columns:1fr 1fr}.help>.social-links{grid-column:1}.help>.faqs{grid-column:2;grid-row:1}.contact-number{color:#c1d5c5!important}.faqs details{border-color:#ffffff1a}.faqs summary{color:#d9e6dc}footer{background:#111e17;border-top:1px solid var(--line)}.social-links{display:flex;flex-wrap:wrap;gap:12px 26px;margin:0 0 36px}.social-links a{font-size:16px;color:#b7cebe;padding:12px 0;border-bottom:1px solid #b7cebe24;min-height:48px}.social-links a:hover{color:#eef5ef}.footer-main p{color:#9eb6a5}.footer-bottom{border-color:#ffffff15;color:#8fa596}dialog,.info-dialog{background:#15251c;color:#e4eee6;border:1px solid #c5ddc527;border-radius:26px;box-shadow:0 30px 100px #0007}dialog::backdrop{background:#050e09b8;backdrop-filter:blur(16px)}.dialog-toolbar{background:#16271eeb;backdrop-filter:blur(20px);border-color:#ffffff12}.dialog-toolbar .close,.close{background:#ffffff07;border:1px solid #d0e5d022;color:#dae9de;border-radius:999px}.modal-gallery{background:#122018}.modal-copy{background:transparent}.modal-copy .overline{color:#9bb4a2}.chosen-variant{color:#bed4c3!important}.product-facts{border-color:#ffffff15;color:#b6c9bc}.guide-button{background:#ffffff05;color:#c3d9c9;border:1px solid #cbdccb24;border-radius:16px}.guide-button:hover{background:#ffffff0c}.small-note,.swipe-note{color:#94a99a!important}.info-dialog textarea{background:#ffffff04;border:1px solid #b8d1be26;border-radius:18px;color:#d9e7dd}.quantity button{background:#ffffff08;color:#dce9df;border:1px solid #bbd1bf22;border-radius:50%}.quantity .remove{border:none;border-radius:0;color:#b6cdbd}.bag-item,.drawer-heading{border-color:#ffffff16}.bag-dialog{border-radius:24px 0 0 24px}.table-scroll{background:#ffffff06;border-radius:15px}th,td{border-color:#ffffff16}thead{background:#ffffff08;color:#e6eee7}.home-story{border-bottom:1px solid #ffffff12}.origin-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start;margin-top:28px}.origin-grid h2{font-size:clamp(36px,4vw,58px);line-height:1.15;letter-spacing:-2px;font-weight:400;margin:0}.origin-grid em{font-style:normal;color:#a6bdaa}.origin-grid p{font-size:18px;line-height:1.75;color:#adbeaf;margin-top:0}.home-path{margin-top:45px;padding-top:25px;border-top:1px solid #ffffff15;display:flex;justify-content:space-between;align-items:center;gap:25px}.home-path>span{font-size:12px;letter-spacing:2px;color:#8ca893}.look-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.look-grid article{background:#ffffff02;border:1px solid #ffffff10;border-radius:26px;overflow:hidden;padding:18px}.look-grid img{width:100%;aspect-ratio:4/5;object-fit:contain;background:#101b15;border-radius:18px}.look-grid h3{font-size:27px;font-weight:400;margin:14px 8px}.look-grid p{color:#acbfae;margin:18px 8px}.look-grid .button{margin:5px 8px 12px}.look-preview{width:100%;max-height:50svh;object-fit:contain;border-radius:18px}.size-guide>img{border-radius:18px}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #b4d7b9;outline-offset:4px}#toast{background:#294433;color:#e3f0e6;border:1px solid #bfd9c02e;border-radius:999px}
@media(max-width:700px){.hero h1{font-size:clamp(48px,12.5vw,68px);letter-spacing:-2px}.hero h1>span{margin-left:0}.hero-image{mask-image:linear-gradient(to bottom,transparent,black 12%)}.hero-content{padding-top:40px}.origin-grid,.look-grid{grid-template-columns:1fr;gap:26px}.origin-grid h2{font-size:37px}.home-path{align-items:flex-start;flex-direction:column}.look-grid{gap:28px}.help{grid-template-columns:1fr}.help>.social-links,.help>.faqs{grid-column:auto;grid-row:auto}.filters button{padding:10px 15px}.social-links{gap:5px 22px}.carousel-track,.product-image{border-radius:18px}.bag-dialog{border-radius:20px 0 0 20px}#menu{padding-inline:12px}.dialog-toolbar .close{border-radius:999px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Conjuntos a medida: dos prendas, sin combinaciones cerradas. */
#navigation a{min-height:52px}
#outfit-pieces article>img{width:100%;height:390px;object-fit:contain;background:#101713;border-radius:18px}
#outfit-pieces h3{margin:22px 0 20px}
#outfit-pieces .field{display:flex;flex-direction:column;gap:9px;margin:18px 0;font-size:17px}
#outfit-pieces select{width:100%;min-height:52px;padding:12px 16px;font-size:17px;border-radius:18px}
#outfit-pieces .text-link{margin:4px 0 10px;min-height:44px}
.outfit-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}
.outfit-actions .small-note{margin:0}
@media(max-width:650px){#outfit-pieces article>img{height:300px}.outfit-actions .button{width:100%;text-align:left;gap:18px}.outfit-actions{gap:14px}}

/* Offres ton sur ton, modèle et taille au choix. */
.offers-grid,#collection-offers.duo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;background:none;border:0;padding:0;margin:0 0 46px;border-radius:0}
#collection-offers.duo{margin:38px 0 0;grid-template-columns:repeat(auto-fit,minmax(225px,1fr))}
.offer-card{background:#ffffff03;border:1px solid #cbdccb20;border-radius:24px;padding:22px;min-width:0}
.offer-card .overline{margin:0 0 16px}.offer-card h3{font-size:30px;font-weight:400;margin:0;color:#e1eae3}.offer-card>p{color:#a8b9ad;font-size:16px}.offer-card .button{font-size:15px;padding:12px 16px;width:100%;text-align:left;gap:12px}
.outfit-heading{font-size:27px;font-weight:400;margin:0 0 24px}.outfit-total{font-size:20px;color:#d5e4d8}
.pair-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:24px 0}.pair-grid article{min-width:0}.pair-grid img{width:100%;height:220px;object-fit:contain;background:#101713;border-radius:18px}.pair-grid .field{display:flex;flex-direction:column;gap:8px;margin:16px 0}.pair-grid select{width:100%;min-height:52px;font-size:16px}.pair-grid .text-link{font-size:15px;min-height:44px}.pair-price{font-size:30px}.pair-price span{display:block;font-size:16px;color:#a8b9ad;margin-top:7px}
.offer-breakdown{border-bottom:1px solid #ffffff18;margin-bottom:20px;padding-bottom:12px;font-size:15px;line-height:1.6}.offer-breakdown strong{white-space:nowrap;color:#c9e1ce}
@media(max-width:1000px){.offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.offers-grid,#collection-offers.duo,.pair-grid{grid-template-columns:1fr}.offer-card{padding:22px}.pair-grid img{height:250px}.pair-grid{gap:32px}.pair-price{font-size:27px}}

#navigation{max-height:calc(100dvh - 110px);overflow-y:auto}
#pants-menu summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:10px 0;border-top:1px solid #c5d6c715;color:#dce7de;font-size:20px;cursor:pointer;list-style:none}
#pants-menu summary::-webkit-details-marker{display:none}
#pants-menu summary::after{content:'+';color:#aec1b4;font-size:20px}
#pants-menu[open] summary::after{content:'−'}
#navigation .pants-links{display:grid;grid-template-columns:minmax(0,1fr);margin:0 0 8px 6px;padding-left:18px;border-left:1px solid #c5d6c733}
#navigation .pants-links a{display:flex;align-items:center;min-height:46px;font-size:18px}
/* A short fade at the edges keeps the garment, lettering and colours intact. */
.hero-image{position:relative}
.hero-image::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,#101a15 0%,transparent 8%)}
.product-image,.modal-carousel .carousel-slide,#outfit-pieces article,.pair-grid article{--mockup-edge:#101a15}
.product-image,.modal-carousel .carousel-slide{background:var(--mockup-edge)}
.product-image img,.modal-carousel .carousel-slide img,#outfit-pieces article>img,.pair-grid article>img{
 -webkit-mask-image:linear-gradient(to bottom,transparent,#000 3%,#000 95%,transparent);
 mask-image:linear-gradient(to bottom,transparent,#000 3%,#000 95%,transparent)
}

/* Editorial copy uses a screen serif; headings and controls retain their own styles. */
.hero-content > p:not(.overline), .origin-grid p, .section-title p:not(.overline),
.roots-copy > p:not(.overline), .story p:not(.overline), .detail-copy > p:not(.overline),
.detail-row p, .product-card > p, .modal-copy > p:not(.overline,.modal-price,.chosen-variant,.small-note),
.shop-how p, .faqs p, .help > div > p:not(.overline,.contact-number),
#info-content > p:not(.overline,.small-note,.pair-price), .size-guide > p:not(.small-note) {
  font-family: Georgia, Cambria, 'Times New Roman', serif;
  line-height: 1.6;
  letter-spacing: .008em;
}
@media (max-width: 700px) {
  .hero-bottom { display: none; }
}

/* Shared image and caption geometry keeps every catalogue card aligned. */
.carousel-visual {
  display: grid;
  grid-template-rows: minmax(0, 1fr) 88px;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 22px;
  background: #101a15;
  border: 1px solid #cbdccb18;
}
.carousel-visual .carousel-track {
  min-height: 0;
  height: 100%;
  border-radius: 0;
  background: transparent;
}
.carousel-stage {
  position: relative;
  min-width: 0;
  min-height: 0;
  padding-inline: 32px;
}
.carousel-stage > .slide-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  display: flex;
  align-items: center;
  padding: 0 2px;
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
}
.carousel-stage > .slide-arrow > span {
  display: grid;
  place-items: center;
  flex: none;
  width: 28px;
  height: 28px;
  border: 1px solid #d8e8d826;
  border-radius: 50%;
  background: #1b2c22;
  font-size: 20px;
}
.carousel-stage > .slide-arrow[data-step="-1"] { left: 0; }
.carousel-stage > .slide-arrow[data-step="1"] { right: 0; justify-content: flex-end; }
.carousel-stage > .slide-arrow:hover:enabled { background: transparent; }
.carousel-stage > .slide-arrow:hover:enabled > span { background: #2b4334; }
.carousel-visual .carousel-slide { height: 100%; }
.carousel-visual .carousel-slide .product-image,
.carousel-visual .carousel-slide img {
  height: 100%;
  max-height: none;
  aspect-ratio: auto;
  border-radius: 0;
  object-fit: contain;
}
.carousel-visual .carousel-controls {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 0 16px;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: linear-gradient(#101a15, #18261d);
}
.carousel-visual .variant-choice { width: 100%; min-width: 0; }
.carousel-visual .color-select { display: block; padding: 0; margin: 0; }
.carousel-visual .color-select select {
  display: block;
  width: 100%;
  margin: 0;
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  border-radius: 10px;
  background-color: transparent;
  font-size: 16px;
  line-height: 1.4;
}
.carousel-visual .slide-label {
  display: block;
  grid-column: 2;
  grid-row: 2;
  align-self: center;
  text-align: center;
  font-size: 13px;
  line-height: 18px;
  font-weight: 400;
  color: #a8bbad;
}
.carousel-visual .single-variant { padding: 0 16px; }
.carousel-visual .single-color { padding: 0; font-size: 16px; line-height: 1.4; }
.product-card .product-meta { padding-top: 20px; }
.product-card .product-meta h3 { margin-top: 0; }
.modal-carousel .carousel-visual { max-height: 68svh; }
.pants-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: -12px 0 28px;
  padding-left: 16px;
  border-left: 1px solid #c5d6c733;
}
.pants-filters > span { font-size: 15px; color: #a8bbad; margin-right: 4px; }
.pants-filters button {
  min-height: 48px;
  padding: 10px 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: #ffffff04;
  color: #aebbaf;
  font-size: 16px;
}
.pants-filters button:hover { background: #ffffff0b; color: #e6eee7; }
.pants-filters button.active { background: #ffffff0e; border-color: #c9dfc729; color: #ecf3ed; }
@media (max-width: 700px) {
  .carousel-visual { border-radius: 18px; }
  .carousel-visual .color-select select { font-size: 16px; }
  .modal-carousel .carousel-visual { max-height: 60svh; }
  .pants-filters { gap: 8px; margin-top: -6px; padding-left: 12px; }
  .pants-filters > span { flex-basis: 100%; margin-bottom: 2px; }
}

/* A quieter home page leaves one primary message and a small heritage motif. */
.announcement { justify-content: center; }
.hero-content { display: flex; flex-direction: column; justify-content: center; }
.hero-content h1 { margin-top: 0; }
.home-story .origin-grid { margin-top: 0; align-items: center; }
.home-story .origin-grid h2 { font-size: clamp(34px, 3.5vw, 50px); }
.heritage-ornament { display: block; width: 112px; height: 50px; margin: 0 0 22px; color: #9cb49d; opacity: .65; }
.footer-bottom { justify-content: space-between; }
.card-bottom { justify-content: flex-end; }
.card-bottom button { min-height: 44px; }
.carousel-visual .slide-label { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; white-space: nowrap; clip-path: inset(50%); }

/* Upcoming designs remain visible as silhouettes, with no product controls. */
.locked-preview { position: relative; width: 100%; aspect-ratio: 4 / 5; overflow: hidden; border: 1px solid #cbdccb18; border-radius: 22px; background: #111c16; }
.locked-visual { position: absolute; inset: 0; filter: blur(18px) saturate(.65) brightness(.9); transform: scale(1.09); pointer-events: none; user-select: none; }
.locked-visual img { width: 100%; height: 100%; object-fit: contain; }
.locked-preview::after { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at center, #101a150a, #101a1540); pointer-events: none; }
.lock-badge { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1; display: grid; place-items: center; width: 80px; height: 80px; border: 1px solid #d5e5d63b; border-radius: 50%; background: #15231aa6; color: #d6e4d6; }
.lock-badge svg { width: 26px; height: 34px; }
.locked-state { position: absolute; top: calc(50% + 56px); inset-inline: 16px; z-index: 1; text-align: center; color: #c1d0c3; font-size: 15px; letter-spacing: .04em; }
.product-locked .product-meta h3 { color: #c4d0c5; }
@media (max-width: 700px) {
  .hero-content { padding-top: 48px; }
  .heritage-ornament { width: 92px; height: 42px; margin-bottom: 18px; }
  .locked-preview { border-radius: 18px; }
}

.help > div:first-child > .text-link { display: flex; width: fit-content; margin-top: 18px; }

.outfit-total small { display: block; margin-top: 8px; color: #a8b9ad; font-size: 16px; line-height: 1.5; }
