/* Storefront polish: shared brand actions, readable cards and native form controls. */
body { --yku-action:#7623c9; --yku-action-hover:#541698; --yku-focus:#a969e5; }
body :is(.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce-form-login__submit,.yku-account-mega__primary-button,.wp-element-button,.wp-block-button__link,.elementor-button,input[type=submit],button[type=submit]):not(.yku-search button) {
  background:var(--yku-action)!important; border-color:var(--yku-action)!important; color:#fff!important;
  border-radius:8px; min-height:44px; padding:12px 20px; font-weight:600; line-height:1.35; box-shadow:none;
  transition:background-color .15s,border-color .15s;
}
body :is(.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce-form-login__submit,.yku-account-mega__primary-button,.wp-element-button,.wp-block-button__link,.elementor-button,input[type=submit],button[type=submit]):not(.yku-search button):hover {
  background:var(--yku-action-hover)!important; border-color:var(--yku-action-hover)!important;
}
body :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--yku-focus); outline-offset:3px; }
body :is(button,input[type=submit],.button):disabled { opacity:.5!important; cursor:not-allowed; }
body input[type=checkbox],body input[type=radio] { accent-color:var(--yku-action); }
:is(body.woocommerce,body .woocommerce) :is(.woocommerce-info,.woocommerce-message) { border-top-color:var(--yku-action); }
:is(body.woocommerce,body .woocommerce) :is(.woocommerce-info,.woocommerce-message)::before { color:var(--yku-action); }

/* WooCommerce inserts this button on all pages, but only ships its positioning
   on commerce pages. Keep the native toggle and its accessible Show/Hide label. */
body .password-input { position:relative; display:block; width:100%; }
body .password-input input { padding-right:64px!important; }
body .password-input .show-password-input {
  position:absolute!important; inset:0 5px 0 auto!important; margin:auto 0!important;
  width:52px!important; height:40px!important; min-height:40px!important; padding:0!important;
  border:0!important; border-radius:6px; background:transparent!important; color:var(--yku-action-hover)!important;
  display:flex!important; align-items:center; justify-content:center; box-shadow:none!important; cursor:pointer;
}
body .password-input .show-password-input::before { display:none!important; }
body .password-input .show-password-input::after { content:'Show'!important; margin:0!important; font-family:inherit!important; font-size:12px!important; font-weight:700; line-height:1!important; }
body .password-input .show-password-input.display-password::after { content:'Hide'!important; }
body .password-input .show-password-input:hover { background:#f2e8fc!important; }
body .yku-account-dropdown__panel { max-height:calc(100dvh - 160px); overflow:auto; overscroll-behavior:contain; }
body .yku-account-mega .woocommerce-form-login .woocommerce-form-login__rememberme { display:flex; align-items:center; gap:8px; }
body .yku-account-mega .woocommerce-form-login .woocommerce-form-login__rememberme input { flex:0 0 16px; }

/* Equal image areas and shared row heights; full product names remain visible. */
:is(body.woocommerce,body .woocommerce) ul.products { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:24px!important; align-items:stretch; }
:is(body.woocommerce,body .woocommerce) ul.products::before,:is(body.woocommerce,body .woocommerce) ul.products::after { display:none!important; }
:is(body.woocommerce,body .woocommerce) ul.products li.product {
  display:flex!important; flex-direction:column; float:none!important; width:auto!important; min-width:0;
  margin:0!important; padding:0!important; border:1px solid #e8dff0; border-radius:14px; background:#fff;
  box-shadow:0 3px 15px #32114f05; overflow:hidden; text-align:left;
}
:is(body.woocommerce,body .woocommerce) ul.products li.product .astra-shop-thumbnail-wrap { margin:0; padding:16px 16px 0; }
:is(body.woocommerce,body .woocommerce) ul.products li.product .astra-shop-thumbnail-wrap>a.woocommerce-LoopProduct-link { display:block; aspect-ratio:1; }
:is(body.woocommerce,body .woocommerce) ul.products li.product .astra-shop-thumbnail-wrap img { width:100%; height:100%; aspect-ratio:1; object-fit:contain; margin:0!important; border-radius:8px; }
:is(body.woocommerce,body .woocommerce) ul.products li.product .ast-on-card-button { display:none!important; }
:is(body.woocommerce,body .woocommerce) ul.products li.product .astra-shop-summary-wrap {
  flex:1; display:grid; grid-template-rows:auto 1fr minmax(42px,auto) auto; gap:10px;
  padding:18px; margin:0; min-width:0;
}
:is(body.woocommerce,body .woocommerce) ul.products li.product .ast-woo-product-category { grid-row:1; margin:0; color:#786885; opacity:1; font-size:12px; line-height:1.4; }
:is(body.woocommerce,body .woocommerce) ul.products li.product .ast-loop-product__link { grid-row:2; text-decoration:none; align-self:start; }
:is(body.woocommerce,body .woocommerce) ul.products li.product .woocommerce-loop-product__title { color:#281737; font-size:16px; line-height:1.45; margin:0; padding:0; overflow-wrap:anywhere; }
:is(body.woocommerce,body .woocommerce) ul.products li.product .price { grid-row:3; margin:0!important; font-size:14px; font-weight:700; line-height:1.5; align-self:stretch; color:#382147; }
:is(body.woocommerce,body .woocommerce) ul.products li.product .astra-shop-summary-wrap>a.button { grid-row:4; display:flex; align-items:center; justify-content:center; width:100%; min-height:44px; margin:0!important; padding:11px 12px; font-size:14px; text-align:center; }
:is(body.woocommerce,body .woocommerce) ul.products li.product .star-rating { grid-row:3; align-self:start; margin:0 0 28px; }
:is(body.woocommerce,body .woocommerce) ul.products li.product .added_to_cart { grid-row:5; font-size:13px; text-align:center; }
:is(body.woocommerce,body .woocommerce) :is(.woocommerce-ordering select,select) { border:1px solid #dfd2eb; border-radius:8px; min-height:44px; background-color:#fff; }
:is(body.woocommerce,body .woocommerce) .woocommerce-result-count { color:#6c597c; }
:is(body.woocommerce,body .woocommerce) nav.woocommerce-pagination ul li :is(a:focus,a:hover,span.current) { background:var(--yku-action); color:white; }
.yku-hero__controls>button { width:44px; height:44px; }
.yku-hero__dots button { min-width:28px; min-height:44px; }
@media(max-width:1100px) { :is(body.woocommerce,body .woocommerce) ul.products { grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:18px!important; } }
@media(max-width:767px) { :is(body.woocommerce,body .woocommerce) ul.products { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:14px!important; } :is(body.woocommerce,body .woocommerce) ul.products li.product .astra-shop-summary-wrap { padding:14px; } :is(body.woocommerce,body .woocommerce) ul.products li.product .woocommerce-loop-product__title { font-size:14px; } }
@media(max-width:479px) { :is(body.woocommerce,body .woocommerce) ul.products { grid-template-columns:1fr!important; } :is(body.woocommerce,body .woocommerce) ul.products li.product .astra-shop-thumbnail-wrap { padding:18px 24px 0; } }
@media(prefers-reduced-motion:reduce) { body :is(button,.button,.wp-element-button,.elementor-button) { transition:none!important; } }

/* Center the announcement relative to the bar, independently of utility links. */
.yku-utility__inner { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:16px; }
.yku-shipping { grid-column:2; justify-self:center; }
.yku-utility__links { grid-column:3; justify-self:end; gap:18px; }
@media(max-width:600px) {
 .yku-utility__inner { grid-template-columns:1fr; gap:0; padding:0 14px; }
 .yku-shipping { grid-column:1; min-height:32px; font-size:11px; }
 .yku-utility__links { grid-column:1; justify-self:center; padding-bottom:3px; }
 .yku-order__trigger { min-height:27px; font-size:11px!important; }
 .yku-order__panel { left:50%; right:auto; transform:translateX(-50%); }
}

/* Legacy WooCommerce product blocks, including the empty-cart recommendations. */
body .wc-block-grid .wc-block-grid__products { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:24px!important; margin:0!important; padding:0!important; align-items:stretch; }
body .wc-block-grid .wc-block-grid__product { display:grid!important; grid-template-rows:1fr minmax(42px,auto) auto auto; gap:10px; width:auto!important; max-width:none!important; min-width:0; margin:0!important; padding:18px!important; border:1px solid #e8dff0!important; border-radius:14px; background:#fff; text-align:left; position:relative; }
body .wc-block-grid .wc-block-grid__product-link { grid-row:1; display:flex; flex-direction:column; min-width:0; text-decoration:none!important; color:#281737; }
body .wc-block-grid .wc-block-grid__product-image { display:flex; align-items:center; justify-content:center; aspect-ratio:1; width:100%; margin:0 0 18px!important; border-radius:8px; overflow:hidden; }
body .wc-block-grid .wc-block-grid__product-image img { width:100%!important; height:100%!important; max-width:100%; object-fit:contain!important; margin:0!important; }
body .wc-block-grid .wc-block-grid__product-title { margin:0!important; font-size:16px!important; line-height:1.45!important; font-weight:600!important; color:#281737; overflow-wrap:anywhere; }
body .wc-block-grid .wc-block-grid__product-price { grid-row:2; margin:0!important; color:#382147; font-size:14px!important; line-height:1.5!important; font-weight:700!important; }
body .wc-block-grid .wc-block-grid__product-rating { grid-row:3; margin:0!important; }
body .wc-block-grid .wc-block-grid__product-add-to-cart { grid-row:4; margin:0!important; align-self:end; }
body .wc-block-grid .wc-block-grid__product-add-to-cart a { display:flex; align-items:center; justify-content:center; width:100%; min-height:44px; padding:11px 12px; margin:0!important; font-size:14px!important; text-align:center; box-sizing:border-box; }
body .wc-block-grid .wc-block-grid__product-onsale { position:absolute; top:25px; left:25px; z-index:1; background:#f2e8fc; color:#541698; border-color:#dfd2eb; }
@media(max-width:1100px) { body .wc-block-grid .wc-block-grid__products { grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:18px!important; } }
@media(max-width:767px) { body .wc-block-grid .wc-block-grid__products { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:14px!important; } body .wc-block-grid .wc-block-grid__product { padding:14px!important; } body .wc-block-grid .wc-block-grid__product-title { font-size:14px!important; } }
@media(max-width:479px) { body .wc-block-grid .wc-block-grid__products { grid-template-columns:1fr!important; } }

/* Stable, left-aligned branding; compact screens rearrange controls instead of shrinking it. */
.yku-primary .yku-primary__inner { max-width:none; margin:0; min-height:0; padding:4px 24px; gap:20px; }
.yku-primary .yku-brand { width:280px; flex:0 0 280px; gap:10px; justify-self:start; justify-content:flex-start; text-align:left; }
.yku-primary .yku-brand img { width:90px; height:70px; flex:0 0 90px; }
.yku-primary .yku-brand strong { font-size:30px; line-height:1.1; letter-spacing:-.6px; white-space:nowrap; }
.yku-primary .yku-brand small { display:block; font-size:12px; line-height:1.5; }
.yku-primary--compact .yku-primary__inner { grid-template-columns:auto minmax(0,1fr) auto; grid-template-areas:'brand menu actions' 'search search search'; gap:4px 12px; padding:4px 24px 6px; }
.yku-primary--compact .yku-brand { grid-area:brand; }
.yku-primary--compact .yku-menu-toggle { grid-area:menu; justify-self:end; }
.yku-primary--compact .yku-header-actions { grid-area:actions; }
.yku-primary--compact .yku-search { grid-area:search; min-width:0; }
.yku-primary--compact .yku-account-dropdown__panel { top:100%; right:12px; max-height:calc(100dvh - 200px); }
.yku-mobile-menu { max-height:calc(100dvh - 200px); }
@media(max-width:600px) {
 .yku-primary--compact .yku-primary__inner { grid-template-areas:'brand brand brand' 'menu search actions'; gap:4px 8px; padding:2px 12px 6px; }
 .yku-primary--compact .yku-menu-toggle { justify-self:start; }
 .yku-primary--compact .yku-header-actions { gap:2px; }
 .yku-primary--compact .yku-account-dropdown__indicator { display:none; }
 .yku-primary--compact .yku-search input[type=search] { padding-left:10px!important; }
 .yku-primary--compact .yku-search button { padding:8px!important; }
}

@media(min-width:768px) and (max-width:1199px) {
 .yku-primary--compact .yku-primary__inner { grid-template-columns:280px 44px minmax(0,1fr) auto; grid-template-areas:'brand menu search actions'; padding-block:4px; }
}

/* One readable label style across header rows; no breakpoint-based scaling. */
.yku-scaffold { --yku-header-label-size:14.4px; --yku-header-label-weight:600; }
.yku-utility .yku-shipping,
.yku-utility .yku-utility__links>a,
.yku-utility .yku-order__trigger,
.yku-primary .yku-main-nav>a,
.yku-primary .yku-nav-trigger,
.yku-primary .yku-account-dropdown__trigger,
.yku-primary .yku-account-control__label,
.yku-primary .yku-cart,
.yku-primary .yku-cart__label,
.yku-primary .yku-menu-toggle {
 font-family:Arial,Helvetica,sans-serif!important; font-size:var(--yku-header-label-size)!important;
 font-weight:var(--yku-header-label-weight)!important; line-height:1.35!important;
}
.yku-utility .yku-shipping .yku-icon { width:24px; height:24px; }
.yku-utility .yku-shipping { gap:8px; min-height:36px; }
.yku-utility .yku-order__trigger { min-height:36px; }
.yku-primary .yku-search input[type=search] { font-size:14.4px; }

/* Utility actions follow the viewport's right gutter, not a centered width cap. */
.yku-utility .yku-utility__inner { max-width:none; margin:0; padding-inline:24px; }
.yku-utility .yku-utility__links { justify-self:end; justify-content:flex-end; }
@media(max-width:600px) { .yku-utility .yku-utility__inner { padding-inline:12px; } .yku-utility .yku-order__panel { left:auto; right:0; transform:none; } }

/* Balance the desktop menu/search group between left branding and right actions. */
@media(min-width:1200px) {
 .yku-primary--desktop .yku-primary__inner { display:grid; grid-template-columns:minmax(280px,1fr) auto 220px minmax(210px,1fr); column-gap:20px; }
 .yku-primary--desktop .yku-main-nav { margin-left:0; justify-self:center; white-space:nowrap; }
 .yku-primary--desktop .yku-search { width:220px; }
 .yku-primary--desktop .yku-header-actions { justify-self:end; }
}

/* User annotations: branding +25%, utility height +25%, utility labels +15%. */
.yku-primary .yku-brand { width:350px; flex-basis:350px; gap:12.5px; }
.yku-primary .yku-brand img { width:112.5px; height:87.5px; flex-basis:112.5px; }
.yku-primary .yku-brand strong { font-size:37.5px; }
.yku-primary .yku-brand small { font-size:15px; }
.yku-utility { --yku-header-label-size:16.56px; }
.yku-utility .yku-utility__inner { min-height:45px; }
.yku-utility .yku-shipping,.yku-utility .yku-order__trigger,.yku-utility .yku-utility__links>a { min-height:45px; }
@media(min-width:1200px) { .yku-primary--desktop .yku-primary__inner { grid-template-columns:minmax(350px,1fr) auto 220px minmax(210px,1fr); } }
@media(min-width:768px) and (max-width:1199px) { .yku-primary--compact .yku-primary__inner { grid-template-columns:350px 44px minmax(0,1fr) auto; } }
@media(max-width:600px) {
 .yku-utility .yku-utility__links { padding-bottom:3.75px; }
 .yku-primary--compact .yku-brand { width:min(350px,calc(100vw - 40px)); min-width:0; gap:clamp(10px,calc(3.57143vw - 1.42857px),12.5px); }
 .yku-primary--compact .yku-brand img { width:clamp(90px,calc(32.14286vw - 12.85714px),112.5px); height:clamp(70px,calc(25vw - 10px),87.5px); flex-basis:auto; }
 .yku-primary--compact .yku-brand strong { font-size:clamp(30px,calc(10.71429vw - 4.28571px),37.5px); }
 .yku-primary--compact .yku-brand small { font-size:clamp(12px,calc(4.28571vw - 1.71429px),15px); }
}
.yku-primary--compact .yku-account-dropdown__panel,.yku-mobile-menu { max-height:calc(100dvh - 260px); }

/* Compact utility bar: one row, announcement left and order control right. */
@media(max-width:767px) {
 .yku-utility .yku-utility__inner { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:0 12px; min-height:45px; }
 .yku-utility .yku-shipping { justify-self:start; min-width:0; gap:6px; }
 .yku-utility .yku-utility__links { flex:0 0 auto; padding:0; }
 .yku-utility .yku-order__trigger { white-space:nowrap; }
 .yku-utility .yku-order__panel { left:auto; right:0; transform:none; }
}
/* Keep both destinations readable on narrow phones without a second row. */
@media(max-width:479px) {
 .yku-utility { --yku-header-label-size:14.4px; }
 .yku-utility .yku-shipping .yku-icon { width:20px; height:20px; }
 .yku-utility .yku-shipping { gap:4px; }
 .yku-utility .yku-order__trigger { gap:3px; padding-inline:0!important; }
}

@media(max-width:359px) { .yku-utility { --yku-header-label-size:12px; } .yku-utility .yku-shipping .yku-icon { width:18px; height:18px; } }
