/* VESRETH theme: WooCommerce's own markup (notices, checkout, account) in the brand's language.
   WooCommerce's stock CSS is switched off in functions.php, so this is its base as well. */

.woopage{padding:0 var(--gutter)}
.woopage .cart{padding:0}
.woopage .cart-empty{padding-bottom:70px}
.more .woocommerce-pagination{margin-top:24px}
.gallery-dots{grid-column:1}
.pdp-swatches a.none{opacity:.35;pointer-events:none}
.cart>*{min-width:0}

/* Notices */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;margin:0 0 24px;padding:16px 20px;border:1px solid rgba(11,11,11,.14);background:#efece5;font-size:13.5px;line-height:1.7;color:var(--obsidian);display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between;align-items:center}
.woocommerce-error{border-color:#a4452c;color:#7d2f1c;background:#f6ece7;display:block}
.woocommerce-message a.button,.woocommerce-info a.button{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid currentColor}
.pdp>.woocommerce-error,.pdp>.woocommerce-message{grid-column:1/-1;margin-top:18px}
.auth~*{min-width:0}
.page>.woocommerce-notices-wrapper,.page>.woocommerce-error{margin:18px var(--gutter)}

/* Quantity stepper with a real input (cart page) */
.qty input{width:34px;height:30px;border:0;background:none;text-align:center;font:inherit;font-size:13px;color:inherit;-moz-appearance:textfield;appearance:textfield;padding:0}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.summary .promo button{white-space:nowrap}
a.woocommerce-remove-coupon{margin-left:8px;font-size:10px;color:var(--taupe);text-decoration:underline}

/* Shared form rows */
.woocommerce form .form-row{display:block;margin:0 0 20px;padding:0}
.woocommerce form .form-row label{display:block;margin-bottom:8px;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}
.woocommerce form .form-row .required{color:#8c7d52;text-decoration:none}
.woocommerce form .form-row .optional{text-transform:none;letter-spacing:0}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{width:100%;font:inherit;font-size:15px;font-weight:400;background:transparent;border:0;border-bottom:1px solid rgba(11,11,11,.3);padding:10px 0;color:var(--obsidian);outline:none;border-radius:0}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{border-color:var(--obsidian)}
.woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:#a4452c}
.show-password-input{display:none}
.select2-container .select2-selection--single{height:42px;border:0;border-bottom:1px solid rgba(11,11,11,.3);border-radius:0;background:transparent}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:42px;padding-left:0;font-size:15px;font-weight:400;color:var(--obsidian)}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:40px}
.select2-dropdown{border-color:rgba(11,11,11,.2);border-radius:0;background:var(--ivory)}
.woocommerce .button:not(.btn),.woocommerce button.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 30px;background:var(--obsidian);color:var(--ivory);font-size:11px;letter-spacing:.26em;text-transform:uppercase;border:0;cursor:pointer}
.woocommerce .button:hover{background:#262523}

/* Checkout: two columns on WooCommerce's default markup, so its AJAX and payment logic stay untouched */
.woocommerce-checkout .woopage{padding-bottom:clamp(70px,9vw,120px)}
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:0 clamp(32px,5vw,90px);align-items:start}
#customer_details{grid-column:1;grid-row:1/3;min-width:0}
#order_review_heading{grid-column:2;grid-row:1;font-family:var(--serif);font-weight:400;font-size:30px;margin-bottom:20px}
#order_review{grid-column:2;grid-row:2;background:#efece5;padding:clamp(22px,3vw,36px);position:sticky;top:calc(var(--hh,64px) + 24px);min-width:0}
#customer_details h3{font-family:var(--serif);font-weight:400;font-size:30px;margin-bottom:24px}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 20px}
.woocommerce-billing-fields__field-wrapper>.form-row,.woocommerce-shipping-fields__field-wrapper>.form-row{grid-column:1/-1;min-width:0}
.woocommerce-billing-fields__field-wrapper>.form-row-first,.woocommerce-shipping-fields__field-wrapper>.form-row-first{grid-column:1}
.woocommerce-billing-fields__field-wrapper>.form-row-last,.woocommerce-shipping-fields__field-wrapper>.form-row-last{grid-column:2}
.woocommerce-additional-fields{margin-top:12px}
.woocommerce-checkout-review-order-table,.woocommerce-table--order-details{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:20px}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td,.woocommerce-table--order-details th,.woocommerce-table--order-details td{padding:12px 0;text-align:left;border-bottom:1px solid rgba(11,11,11,.1);font-weight:400;vertical-align:top}
.woocommerce-checkout-review-order-table td:last-child,.woocommerce-checkout-review-order-table th:last-child,.woocommerce-table--order-details td:last-child,.woocommerce-table--order-details th:last-child{text-align:right}
.woocommerce-checkout-review-order-table .order-total th,.woocommerce-checkout-review-order-table .order-total td{font-size:15px;border-bottom:0}
.woocommerce-checkout-review-order-table dl.variation,.woocommerce-table--order-details .wc-item-meta{margin:4px 0 0;color:var(--taupe);font-size:12px;list-style:none;padding:0}
.woocommerce-checkout-review-order-table dl.variation dt,.woocommerce-checkout-review-order-table dl.variation dd,.woocommerce-checkout-review-order-table dl.variation dd p{display:inline;margin:0}
.woocommerce-table--order-details .wc-item-meta li,.woocommerce-table--order-details .wc-item-meta p{display:inline;margin:0}
.woocommerce-shipping-methods{list-style:none;padding:0;margin:0}
#payment .wc_payment_methods{list-style:none;padding:0;margin:0 0 18px}
#payment .wc_payment_method{padding:12px 0;border-bottom:1px solid rgba(11,11,11,.1);font-size:13.5px}
#payment .payment_box{font-size:12.5px;color:var(--ink-soft);font-weight:400;line-height:1.7;margin-top:8px}
#payment .payment_box p{margin:0}
#payment #place_order{width:100%;min-height:56px}
.woocommerce-privacy-policy-text{font-size:12px;line-height:1.7;color:var(--ink-soft);font-weight:400;margin-bottom:16px}
.woocommerce-privacy-policy-text a{text-decoration:underline}
.woocommerce-form-coupon-toggle{margin-bottom:0}
form.checkout_coupon{margin-bottom:24px;display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}
form.checkout_coupon p:first-child{width:100%;font-size:13px}

/* Order received */
.woocommerce-order{max-width:760px;font-size:14px;line-height:1.7;font-weight:400}
.woocommerce-order .woocommerce-thankyou-order-received{font-family:var(--serif);font-size:26px;margin-bottom:20px;line-height:1.25}
.woocommerce-order-overview{list-style:none;padding:0;margin:0 0 30px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.woocommerce-order-overview li{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe)}
.woocommerce-order-overview strong{display:block;margin-top:6px;font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--obsidian)}
.woocommerce-order-details__title,.woocommerce-column__title{font-family:var(--serif);font-weight:400;font-size:26px;margin:30px 0 14px}
.woocommerce-customer-details address{font-style:normal}

/* Logged-in account */
.woocommerce-account.logged-in .woopage .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(32px,5vw,90px);padding-bottom:clamp(70px,9vw,120px);align-items:start}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
.woocommerce-MyAccount-navigation a{display:block;padding:9px 0 9px 16px;font-size:13px;color:var(--ink-soft);border-left:1px solid rgba(11,11,11,.12)}
.woocommerce-MyAccount-navigation .is-active a{color:var(--obsidian);border-left-color:var(--obsidian)}
.woocommerce-MyAccount-content{font-size:14.5px;line-height:1.7;font-weight:400;color:var(--ink-soft);min-width:0}
.woocommerce-MyAccount-content a:not(.button){text-decoration:underline}
.woocommerce-orders-table{width:100%;border-collapse:collapse;font-size:13px}
.woocommerce-orders-table th,.woocommerce-orders-table td{padding:12px 8px 12px 0;text-align:left;border-bottom:1px solid rgba(11,11,11,.1);font-weight:400}
.woocommerce-ResetPassword,.woocommerce-lost-password .woopage form{max-width:460px;padding-bottom:70px}
.auth .row label{display:flex;align-items:center;gap:8px;font-size:12px}
.auth .woocommerce-privacy-policy-text{margin:0}

@media (max-width:820px){
  .woocommerce-checkout form.checkout{display:block}
  #order_review{position:static;margin-top:8px}
  #order_review_heading{margin-top:24px}
  .woocommerce-account.logged-in .woopage .woocommerce{display:block}
  .woocommerce-MyAccount-navigation{margin-bottom:28px}
  .woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{font-size:16px}
  .woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper{grid-template-columns:minmax(0,1fr)}
  .woocommerce-billing-fields__field-wrapper>.form-row-first,.woocommerce-billing-fields__field-wrapper>.form-row-last,.woocommerce-shipping-fields__field-wrapper>.form-row-first,.woocommerce-shipping-fields__field-wrapper>.form-row-last{grid-column:1}
}

/* Art-directed photos: <picture> fills the frame the way a bare .ph__img does */
.ph > picture{position:absolute;inset:0;display:block}
.ph > picture > .ph__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Short range: the lookbook tile fills whatever is left of the product row */
.tile--s1{grid-column:span 1}
.tile--s2{grid-column:span 2}
.tile--s3{grid-column:span 3}
.tile--s1 .tile__content{padding:clamp(18px,2vw,30px)}
.grid.cols-2 .tile--s1,.grid.cols-2 .tile--s3{grid-column:span 1}
@media (max-width:1024px){
  .tile--s3{grid-column:span 1}
  .grid.cols-2 .tile--s1,.grid.cols-2 .tile--s3{grid-column:span 1}
}
@media (max-width:820px){
  .grid.rail > .tile{display:none}
  .col-grid .grid.cols-2 .tile{grid-column:1/-1}
  /* Half-screen tile on phones: compact copy so it still fits */
  .tile--s1,.tile--s3{min-height:0}
  .tile--s1 .tile__content,.tile--s3 .tile__content{padding:14px}
  .tile--s1 .eyebrow,.tile--s3 .eyebrow{display:none}
  .tile--s1 h3,.tile--s3 h3{font-size:19px;letter-spacing:.06em;margin-bottom:12px}
  .tile--s1 .link,.tile--s3 .link{font-size:9px;letter-spacing:.1em;white-space:normal}
  .grid--related{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Panel captions sit over real product shots: a deeper fade keeps them clear of the shirt print */
.duo .panel::after{background:linear-gradient(180deg,transparent 42%,rgba(11,11,11,.62) 70%,rgba(11,11,11,.9) 100%)}
.duo .panel__num{color:var(--champagne)}

/* Help pages on the narrowest phones: columns may shrink, and the size table tightens to fit */
.doc>*{min-width:0}
@media (max-width:820px){.doc{grid-template-columns:minmax(0,1fr)}}
@media (max-width:360px){
  .doc__body .table th{letter-spacing:.06em;padding:12px 3px;font-size:9.5px}
  .doc__body .table td{padding:12px 3px}
}