.yp-preview-cart { box-sizing:border-box; width:min(560px,calc(100% - 32px)); max-height:calc(100svh - 40px); padding:34px; border:1px solid var(--color-border); border-radius:24px; background:var(--cream-100); color:var(--petrol-700); font-family:var(--font-text); }
.yp-preview-cart::backdrop { background:rgba(36,67,78,.45); }
.yp-preview-cart h2 { font:700 26px/1.2 var(--font-display); margin:0 0 24px; }
.yp-preview-close { position:absolute; top:12px; right:16px; border:0; background:transparent; color:var(--petrol-700); font:400 30px/1 var(--font-text); cursor:pointer; }
.yp-preview-cart-row { display:grid; gap:8px; padding:18px 0; border-top:1px solid var(--color-border); font-size:16px; }
.yp-preview-cart-row span,.yp-preview-note { color:var(--color-text-soft); font-size:14px; line-height:1.5; }
.yp-preview-quantity { display:flex; align-items:center; gap:14px; margin-top:6px; }
.yp-preview-quantity button { width:36px; height:36px; border:1px solid var(--color-border); border-radius:50%; background:var(--cream-50); color:var(--petrol-700); font:600 21px/1 var(--font-text); cursor:pointer; }
.yp-preview-quantity>span { color:var(--petrol-700); min-width:16px; text-align:center; font-weight:700; }
.yp-preview-line-total { margin-left:auto; font-size:15px; }
.yp-preview-total { margin:22px 0; font:700 20px/1.4 var(--font-display); }
.yp-preview-continue { width:100%; padding:17px 20px; border:0; border-radius:999px; background:var(--orange-500); color:var(--white); font:800 16px/1.2 var(--font-text); cursor:pointer; }
@media(max-width:600px) { .yp-preview-cart {padding:32px 22px 24px;} }
.yp-benefits-disclosure>summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:44px; list-style:none; cursor:pointer; color:var(--orange-500); }
.yp-benefits-disclosure>summary::-webkit-details-marker { display:none; }
.yp-benefits-disclosure>summary .yp-eyebrow { margin:0; color:var(--orange-500); font:600 clamp(20px,2.3vw,32px)/1.3 var(--font-display); letter-spacing:var(--tracking-display); text-transform:none; }
.yp-benefits-disclosure>summary svg { width:24px; height:24px; flex:none; transition:transform 160ms ease; }
.yp-benefits-disclosure[open]>summary svg { transform:rotate(180deg); }
.yp-benefits-disclosure>summary:focus-visible { outline:2px solid var(--orange-500); outline-offset:5px; border-radius:4px; }
.yp-benefits-body { padding-top:28px; }
.yp-benefits-body .yp-h2 { color:var(--cream-100); }
.yp-benefits-body .yp-carousel-head-copy>p { color:var(--cream-100) !important; opacity:.8; }
.yp-benefits-body .yp-benefit-card { color:var(--petrol-700); }
.yp-stars-brand { white-space:nowrap; }
.yp-stars-logo { position:relative; display:inline-block; overflow:hidden; width:5.7em; height:.7382em; vertical-align:-.025em; }
.yp-stars-logo img { position:absolute; display:block; width:155.3957%; max-width:none; height:auto; left:-27.6978%; top:-176.3889%; }
@media(prefers-reduced-motion:reduce) { .yp-benefits-disclosure>summary svg { transition:none; } }
.yp-price-action-button[href] { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
.yp-offer-up-to { font-size:.5em; font-weight:600; }
.yp-early-offer .yp-offer-fine-print { margin:12px 0 0; max-width:390px; color:var(--cream-100); font:400 12px/1.5 var(--font-text); }
.yp-pants-color-caption { margin:18px 0 0; color:var(--cream-100); font:400 18px/1.5 var(--font-text); }
.yp-fit-section .yp-fit-grid>div { min-width:0; }
.yp-fit-section .yp-color-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; max-width:374px; box-sizing:border-box; gap:9px; padding:12px; background:#e9e5dc; border-radius:21px; }
.yp-fit-section .yp-pants-swatch { display:block; box-sizing:border-box; height:auto; object-fit:cover; border:0; border-radius:11px; }
.yp-fit-section .yp-eyebrow { font:600 12px/1.4 var(--font-text); letter-spacing:var(--tracking-label); }
.yp-fit-section .yp-fit-title { font:600 32px/1.2 var(--font-display); letter-spacing:var(--tracking-display); }
.yp-fit-section .yp-pants-color-caption,.yp-fit-section .yp-measure-list li,.yp-fit-section .yp-color-placeholder-caption { font:400 16px/1.5 var(--font-text); }
.yp-fit-section .yp-measure-list { margin-top:18px; }
footer .yp-footer-bottom { margin-top:12px; gap:8px 16px; }
footer .yp-footer-bottom .yp-footer-legal { display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; gap:12px; font:400 11px/1.3 var(--font-text); }
footer .yp-footer-legal a { white-space:nowrap; text-underline-offset:2px; }
footer .yp-footer-copy { display:inline-flex; flex-wrap:nowrap; align-items:center; gap:12px; color:var(--cream-100); font:500 10px/1.4 var(--font-display); letter-spacing:.06em; text-transform:none; opacity:.5; }
footer .yp-footer-signature { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.yp-button-brand { gap:8px; }
.yp-button-brand .yp-stars-logo { width:4.6em; height:.5957em; flex:none; }
.yp-carousel-head .yp-carousel-controls { gap:4px; }
.yp-carousel-controls .yp-carousel-arrow { position:relative; isolation:isolate; width:36px; height:36px; border:0; border-radius:50%; background:transparent; color:var(--petrol-700); font-size:21px; line-height:1; box-shadow:none; }
.yp-carousel-arrow::before { content:''; position:absolute; inset:2px; z-index:-1; border:1px solid var(--color-border); border-radius:50%; background:var(--cream-50); }
.yp-carousel-controls .yp-carousel-arrow:hover { background:transparent; }
.yp-carousel-arrow:hover::before { background:var(--cream-100); }
.yp-carousel-head .yp-reviews-title,.yp-carousel-head .yp-client-gallery-title { font-size:1.45rem; font-weight:600; line-height:1.2; }
.yp-carousel-head:has(.yp-carousel-head-copy):has(.yp-carousel-controls) { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 16px; align-items:center; }
.yp-carousel-head:has(.yp-carousel-head-copy):has(.yp-carousel-controls) .yp-carousel-head-copy { display:contents; }
.yp-carousel-head:has(.yp-carousel-head-copy):has(.yp-carousel-controls) .yp-eyebrow { grid-column:1/-1; grid-row:1; margin:0; }
.yp-carousel-head:has(.yp-carousel-head-copy):has(.yp-carousel-controls) .yp-h2 { grid-column:1; grid-row:2; margin:0; }
.yp-carousel-head:has(.yp-carousel-head-copy):has(.yp-carousel-controls) .yp-carousel-head-copy>p { grid-column:1/-1; grid-row:3; }
.yp-carousel-head:has(.yp-carousel-head-copy):has(.yp-carousel-controls) .yp-carousel-controls { grid-column:2; grid-row:2; justify-self:end; align-self:center; }
.yp-client-gallery>.yp-carousel-head:has(.yp-client-gallery-title) { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.yp-client-gallery>.yp-carousel-head:has(.yp-client-gallery-title) .yp-carousel-head-copy { display:block; }
.yp-final-section .yp-final-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-width:660px; margin:29px auto 0; }
.yp-final-section .yp-final-actions>button { box-sizing:border-box; display:flex; align-items:center; justify-content:center; width:100%; min-width:0; height:64px; min-height:64px; padding:12px 18px; font:800 16px/1.2 var(--font-text); text-align:center; }
body .yp-contact-button,body .yp-model-question,body .yp-hero-colors-link { font:700 16px/1.2 var(--font-text); }
@media(max-width:760px) {
  footer .yp-footer-bottom .yp-footer-legal { font-size:9.5px; gap:6px; }
  .yp-carousel-head:has(.yp-carousel-head-copy) { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 10px; align-items:center; }
  .yp-carousel-head:has(.yp-carousel-head-copy) .yp-carousel-head-copy { display:contents; }
  .yp-carousel-head:has(.yp-carousel-head-copy) .yp-eyebrow { grid-column:1; grid-row:1; margin:0; }
  .yp-carousel-head:has(.yp-carousel-head-copy) .yp-h2 { grid-column:1; grid-row:2; }
  .yp-carousel-head:has(.yp-carousel-head-copy) .yp-carousel-head-copy>p { grid-column:1/-1; grid-row:3; }
  .yp-carousel-head:has(.yp-carousel-head-copy) .yp-carousel-controls { grid-column:2; grid-row:2; justify-self:end; align-self:center; }
  .yp-carousel-head:has(.yp-carousel-head-copy) .yp-eyebrow { grid-column:1/-1; }
  .yp-carousel-head:has(.yp-carousel-head-copy):not(:has(.yp-carousel-controls)) .yp-h2 { grid-column:1/-1; }
  .yp-client-gallery>.yp-carousel-head { display:flex; align-items:center; gap:8px; }
  .yp-carousel-controls .yp-carousel-arrow { width:44px; height:44px; }
  .yp-carousel-arrow::before { inset:6px; }
}
@media(max-width:600px) {
  .yp-fit-section .yp-fit-title { font-size:26px; }
  .yp-carousel-head .yp-reviews-title,.yp-carousel-head .yp-client-gallery-title { font-size:1.2rem; }
  .yp-final-section .yp-final-actions { grid-template-columns:minmax(0,1fr); max-width:340px; }
  .yp-hero-desktop-break { display:none; }
  .yp-hero-second-line { white-space:nowrap; }
  .yp-hero-overlay .yp-hero-message h1 { max-width:100%; font-size:clamp(24px,7.7vw,34px); }
  .yp-trust-strip .yp-trust-items { box-sizing:border-box; width:100%; max-width:none; flex-wrap:nowrap !important; justify-content:center !important; gap:26px !important; padding:12px 18px !important; font-size:13px !important; }
  .yp-trust-strip .yp-trust-items>span:first-child { display:none !important; }
  .yp-trust-items::-webkit-scrollbar { display:none; }
  .yp-trust-strip .yp-trust-items>span { flex:none; white-space:nowrap; }
  .yp-trust-strip .yp-trust-items .yp-sn-strip { width:12px !important; }
  .yp-trust-strip { overflow:hidden; }
}

/* Scoped stars heading adjustment, 2026-10-29. */
.yp-celeb-head { --yp-celeb-title-size:1.45rem; --yp-celeb-control-size:36px; }
.yp-celeb-head .yp-celeb-title { font-size:var(--yp-celeb-title-size); font-weight:600; line-height:1.2; }
.yp-celeb-title .yp-celeb-title-last { display:block; white-space:nowrap; }
.yp-carousel-head.yp-celeb-head:has(.yp-carousel-head-copy):has(.yp-carousel-controls) .yp-carousel-controls {
  align-self:end;
  font-size:var(--yp-celeb-title-size);
  transform:translateY(calc((var(--yp-celeb-control-size) - 1.2em)/2));
}
@media(max-width:760px) { .yp-celeb-head { --yp-celeb-control-size:44px; } }
@media(max-width:600px) { .yp-celeb-head { --yp-celeb-title-size:1.2rem; } }

/* Scoped photo framing requested by Valentina: reduce excess floor below graphite walking model. */
[data-preview-product-card] .yp-model-main[src$="graphite-model-front-uniform-4x5.webp"] { transform:scale(1.06); transform-origin:50% 0; }

/* Match chocolate product-back framing to the approved khaki product-back spacing. */
[data-preview-product-card] .yp-model-main[src$="chocolate-product-back-uniform-4x5.webp"] { transform:translateY(0.7%) scale(1.048); transform-origin:50% 50%; }

/* Final khaki-reference fit: background-only candidates; uniform scale preserves garment proportions. */
[data-preview-product-card] .yp-model-main[src$="graphite-product-front-khaki-fit-v2.webp"] { transform:translate(-0.398605%,0.239115%) scale(1.059044); transform-origin:50% 50%; }
[data-preview-product-card] .yp-model-main[src$="chocolate-product-front-khaki-fit-v2.webp"] { transform:translate(-0.556576%,-0.339303%) scale(1.024479); transform-origin:50% 50%; }
[data-preview-product-card] .yp-model-main[src$="milk-product-front-khaki-fit-v2.webp"] { transform:translate(0.218920%,1.015203%) scale(1.029144); transform-origin:50% 50%; }
[data-preview-product-card] .yp-model-main[src$="milk-product-back-khaki-fit-v2.webp"] { transform:translate(-0.580023%,0.508249%) scale(1.015707); transform-origin:50% 50%; }

/* Local male launch preview. No contact storage or network submission. */
.yp-coming-soon .yp-model-stage { background:var(--cream-100); }
.yp-coming-soon .yp-model-main { opacity:.18; filter:grayscale(.35); }
.yp-coming-soon .yp-model-count,.yp-coming-soon .yp-product-arrow { display:none; }
.yp-coming-soon .yp-model-color img { opacity:.55; }
.yp-coming-soon-message { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:24px; text-align:center; color:var(--petrol-700); pointer-events:none; }
.yp-coming-soon-message strong { font:700 clamp(34px,5vw,52px)/1.1 var(--font-display); }
.yp-coming-soon-message span { max-width:240px; font:500 16px/1.5 var(--font-text); }
.yp-waitlist { width:min(540px,calc(100% - 32px)); overflow:auto; }
.yp-waitlist [hidden] { display:none !important; }
.yp-waitlist-demo { display:inline-block; margin-bottom:14px; padding:5px 10px; border-radius:99px; background:#ffe7d5; color:var(--petrol-700); font:700 12px/1.3 var(--font-text); }
.yp-waitlist h2 { margin:0 24px 14px 0; font-size:26px; }
.yp-waitlist-intro { margin:0 0 14px; font-size:16px; line-height:1.5; }
.yp-waitlist-product { margin:0 0 22px; font-size:14px; line-height:1.5; }
.yp-waitlist-methods { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:18px; }
.yp-waitlist-methods button { min-height:44px; border:1.5px solid var(--petrol-700); border-radius:99px; background:transparent; color:var(--petrol-700); font:700 15px/1.2 var(--font-text); cursor:pointer; }
.yp-waitlist-methods button[aria-pressed="true"] { background:var(--petrol-700); color:var(--cream-100); }
.yp-waitlist-field { display:grid; gap:8px; font-size:15px; font-weight:600; }
.yp-waitlist-field input { box-sizing:border-box; width:100%; min-height:52px; padding:12px 16px; border:1.5px solid var(--color-border); border-radius:12px; background:var(--cream-50); color:var(--petrol-700); font:400 16px/1.4 var(--font-text); }
.yp-waitlist-field input:focus-visible { outline:2px solid var(--orange-500); outline-offset:2px; }
.yp-waitlist-consent { display:flex; align-items:flex-start; gap:10px; margin:18px 0; font-size:12px; line-height:1.5; }
.yp-waitlist-consent input { flex:none; width:18px; height:18px; margin:0; accent-color:var(--petrol-700); }
.yp-waitlist-consent a { color:inherit; text-underline-offset:2px; }
.yp-waitlist-error { color:#9b2c1b; font-size:13px; line-height:1.5; }
.yp-waitlist .yp-preview-note { margin:14px 0 0; font-size:12px; line-height:1.5; }
.yp-waitlist-success { font-size:16px; line-height:1.5; }
@media(max-width:600px) { .yp-waitlist { padding:30px 20px 24px; } .yp-waitlist h2 { font-size:23px; } }

/* Compact waitlist form requested by Valentina. */
.yp-waitlist { padding:26px; }
.yp-waitlist h2 { margin:0 24px 8px 0; font-size:24px; line-height:1.2; }
.yp-waitlist-product { margin:0 0 14px; font-size:13px; line-height:1.4; }
.yp-waitlist-methods { margin-bottom:12px; }
.yp-waitlist-methods button { min-height:40px; }
.yp-waitlist-field>span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.yp-waitlist-field input { min-height:48px; padding:10px 14px; }
.yp-waitlist-consent { margin:12px 0; }
.yp-waitlist .yp-preview-continue { padding:14px 18px; }
.yp-waitlist .yp-preview-note { margin-top:10px; font-size:11px; line-height:1.4; }
@media(max-width:600px) { .yp-waitlist { padding:24px 18px; } .yp-waitlist h2 { font-size:22px; } }

/* Male announcement has one decorative picture and no color or gallery controls. */
.yp-coming-soon { align-self:start; }

/* Exact approved pants sizes, without requesting body measurements. */
.yp-pants-size-group { margin:16px 0 8px; text-align:left; }
.yp-pants-size-group>span { display:block; margin-bottom:8px; font-weight:700; }
.yp-pants-sizes { display:flex; gap:8px; }
.yp-pants-sizes button { flex:1; min-height:44px; border:1px solid var(--petrol-700); border-radius:999px; background:transparent; color:var(--petrol-700); font:700 14px var(--font-text); cursor:pointer; }
.yp-pants-sizes button[aria-pressed="true"] { background:var(--petrol-700); color:var(--cream-100); }
.yp-pants-size-group small { display:block; margin-top:8px; font-size:13px; }
.yp-pants-size-error { margin:8px 0; color:var(--orange-600); font-size:14px; }
#future-products .yp-model-color img { height: auto; }

/* Approved compact pants size guide. */
.yp-size-grid-link{display:block;min-height:44px;margin:-4px auto 2px;padding:8px 6px;border:0;background:none;color:#40555d;font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.yp-size-grid-link:focus-visible,.yp-size-grid-close:focus-visible{outline:2px solid #f60;outline-offset:3px}
.yp-size-grid-dialog{box-sizing:border-box;width:min(430px,calc(100% - 24px));max-height:85dvh;overflow:auto;border:0;border-radius:20px;padding:26px 22px 24px;color:#26434c;background:#fff;font:14px/1.45 system-ui;box-shadow:0 20px 70px #14232833}
.yp-size-grid-dialog::backdrop{background:rgba(20,35,40,.38)}
.yp-size-grid-dialog h2{font:600 20px/1.3 system-ui;margin:4px 26px 8px 0}
.yp-size-grid-dialog p{margin:0 0 20px;font-size:12px;color:#617078}
.yp-size-grid-close{position:absolute;right:7px;top:7px;min-width:44px;min-height:44px;border:0;background:none;color:#40555d;font:26px/1 system-ui;cursor:pointer}
.yp-size-grid-dialog table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed;font-size:14px}
.yp-size-grid-dialog th,.yp-size-grid-dialog td{padding:11px 5px;border-bottom:1px solid #e5e8e7;vertical-align:middle}
.yp-size-grid-dialog thead th{font-size:11px;font-weight:500;color:#617078;line-height:1.5}
.yp-size-grid-dialog th:first-child{width:23%}
.yp-size-grid-dialog tbody tr:last-child>*{border-bottom:0}
@media(max-width:400px){.yp-size-grid-dialog{padding:24px 16px 20px}.yp-size-grid-dialog table{font-size:13px}}

.yp-size-grid-dialog .yp-size-grid-note{margin:16px 0 0;font-size:11px;line-height:1.5}

/* Owner-supplied pixel teaser, shown whole; caption leaves its central spinner visible. */
.yp-coming-soon-pixel .yp-model-stage { background:#b7b4b1; }
.yp-coming-soon-pixel .yp-model-main { opacity:1; filter:none; object-fit:contain; }
.yp-coming-soon-pixel .yp-coming-soon-message { justify-content:flex-start; padding-top:24px; }

.yp-pants-size-error[hidden]{display:none!important}

.yp-coming-soon-pixel .yp-model-select{font-size:clamp(20px,2vw,24px)}

/* Explicit native-button typography and size validation in the approved cards. */
body .yp-model-select,body .yp-preview-continue{font-family:var(--font-text);font-size:18px;line-height:1.25;font-weight:800}
body .yp-coming-soon-pixel .yp-model-select{font-size:clamp(20px,2vw,24px)}
.yp-pants-size-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px}
.yp-pants-size-meta small{margin:0;white-space:nowrap}
.yp-pants-size-meta .yp-size-grid-link{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:8px 0;text-align:right;white-space:nowrap}
.yp-pants-size-group.has-error .yp-pants-sizes{outline:2px solid var(--orange-500);outline-offset:4px;border-radius:999px}
.yp-pants-sizes button:focus-visible{outline:3px solid var(--orange-500);outline-offset:3px}
.yp-gallery-status{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);max-width:calc(100% - 28px);border-radius:12px;padding:8px 12px;background:rgba(255,255,255,.94);color:var(--petrol-700);font:500 13px/1.35 var(--font-text);text-align:center;pointer-events:none;z-index:3}
.yp-gallery-status[hidden]{display:none!important}

.yp-coming-soon-caption{margin:12px 0 0;text-align:center;font:600 16px/1.4 var(--font-text);color:var(--color-text-soft)}
