/* =================================================================
   Acc Minimal — Dieter Rams inspired WooCommerce theme
   Mobile-first. The phone layout IS the layout. Desktop just centers it.
   Palette: white / black / yellow.
   ================================================================= */

:root{
  --black:#111111;
  --white:#ffffff;
  --yellow:#ffd400;
  --gray-100:#f5f5f5;
  --gray-200:#ebebeb;
  --gray-400:#cccccc;
  --gray-600:#8a8a8a;
  --line:#f0f0f0;       /* hairlines — kept very light, used sparingly */

  --app-w:480px;        /* the app frame width on desktop */
  --header-h:56px;
  --tabbar-h:62px;
  --pad:20px;
  --radius:0px;         /* Rams: honest, unfussy. flat corners. */
  --font:16px;          /* base + input size, per request */
  --ff:"Vazir",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Tahoma,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{font-size:var(--font)}
body{
  font-family:var(--ff);
  font-size:1rem;
  line-height:1.5;
  color:var(--black);
  background:var(--gray-200);          /* canvas behind the app frame */
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;font-size:1rem;cursor:pointer;border:none;background:none}
input,select,textarea{font-family:inherit;font-size:1rem}   /* 16px inputs */
ul{list-style:none}

/* ---- The app frame: one column, phone-width, centered on desktop ---- */
.app{
  width:100%;
  max-width:var(--app-w);
  min-height:100vh;
  margin:0 auto;
  background:var(--white);
  position:relative;
  box-shadow:0 0 0 1px var(--line);
  padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));
}

/* ---------------- Header ---------------- */
.app-header{
  position:sticky;top:0;z-index:30;
  height:var(--header-h);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 var(--pad);
  background:var(--white);
  border-bottom:1px solid var(--line);
}
.app-header .brand{
  font-size:1.125rem;font-weight:800;letter-spacing:-.01em;color:var(--black);
}
.header-actions{display:flex;align-items:center;gap:4px}
.icon-btn{
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  border:1px solid transparent;color:var(--black);position:relative;
}
.icon-btn:active{background:var(--gray-100)}
.icon-btn svg{width:22px;height:22px}
.cart-count{
  position:absolute;top:4px;inset-inline-end:2px;
  min-width:18px;height:18px;padding:0 4px;
  background:var(--yellow);color:var(--black);
  font-size:.6875rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;border-radius:9px;
}

/* ---------------- Slide menu ---------------- */
.menu-toggle{display:none}
.nav-drawer{
  position:fixed;inset:0;z-index:50;
  pointer-events:none;
}
.nav-drawer .backdrop{
  position:absolute;inset:0;background:rgba(0,0,0,.4);opacity:0;transition:opacity .2s;
}
.nav-drawer .panel{
  position:absolute;inset-block:0;inset-inline-start:0;
  width:80%;max-width:320px;background:var(--white);
  transform:translateX(-100%);transition:transform .25s ease;
  display:flex;flex-direction:column;
  box-shadow:0 0 40px rgba(0,0,0,.12);
}
html[dir="rtl"] .nav-drawer .panel{transform:translateX(100%)}
.menu-toggle:checked ~ .nav-drawer{pointer-events:auto}
.menu-toggle:checked ~ .nav-drawer .backdrop{opacity:1}
.menu-toggle:checked ~ .nav-drawer .panel{transform:translateX(0)}
.nav-drawer .panel-head{
  height:var(--header-h);display:flex;align-items:center;justify-content:space-between;
  padding:0 var(--pad);border-bottom:1px solid var(--line);font-weight:800;
}
.nav-drawer nav{padding:12px 0;overflow:auto}
.nav-drawer nav ul{margin:0;padding:0}
.nav-drawer nav li{list-style:none;margin:0;padding:0}
.nav-drawer nav a{
  display:block;padding:15px var(--pad);font-size:1rem;
}
.nav-drawer nav a:active{background:var(--yellow)}
.close-menu{cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center}

/* ---------------- Filter bar ---------------- */
.filter-bar{
  position:sticky;top:var(--header-h);z-index:20;
  display:flex;gap:8px;overflow-x:auto;
  padding:14px var(--pad);
  background:var(--white);
  scrollbar-width:none;
}
.filter-bar::-webkit-scrollbar{display:none}
.chip{
  flex:0 0 auto;
  padding:9px 16px;font-size:.875rem;font-weight:600;
  border:1px solid var(--gray-400);color:var(--black);background:var(--white);
  white-space:nowrap;
}
.chip.is-active{background:var(--black);color:var(--white)}
.chip.is-active.accent{background:var(--yellow);color:var(--black);border-color:var(--black)}

/* ---------------- Section title ---------------- */
.section-head{
  display:flex;align-items:baseline;justify-content:space-between;
  padding:32px var(--pad) 18px;
}
.section-head h2{font-size:1.0625rem;font-weight:800;letter-spacing:-.01em}
.section-head .count{font-size:.8125rem;color:var(--gray-600)}

/* ---------------- Product grid (airy) ---------------- */
.products,
ul.products{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:30px 18px;
  background:var(--white);
  margin:0;padding:4px var(--pad) 12px;
}
/* outrank WooCommerce's default float layout on the shop archive */
.woocommerce .app ul.products,
.app .woocommerce ul.products{
  display:grid;grid-template-columns:repeat(2,1fr);gap:30px 18px;
  margin:0;padding:4px var(--pad) 12px;
}
.woocommerce .app ul.products::before,
.woocommerce .app ul.products::after,
.app .woocommerce ul.products::before,
.app .woocommerce ul.products::after{content:none;display:none}
.woocommerce .app ul.products li.product,
.app .woocommerce ul.products li.product{
  width:auto;min-width:0;margin:0;padding:0;float:none;clear:none;
}
.product-card,
ul.products li.product{
  background:var(--white);
  position:relative;
  display:flex;flex-direction:column;
  margin:0;padding:0;width:auto;float:none;
}
.product-card a.thumb,
ul.products li.product a img{margin:0}
.product-thumb,
ul.products li.product a img{
  position:relative;aspect-ratio:1/1;background:var(--gray-100);overflow:hidden;
}
.product-thumb img{width:100%;height:100%;object-fit:cover}
.badge-sale,
ul.products li.product .onsale{
  position:absolute;top:10px;inset-inline-start:10px;z-index:2;
  background:var(--yellow);color:var(--black);
  font-size:.6875rem;font-weight:700;padding:3px 9px;
  border-radius:0;margin:0;min-height:0;min-width:0;line-height:1.5;
}
.product-info{padding:12px 2px 0;display:flex;flex-direction:column;gap:7px;flex:1}
.product-title,
ul.products li.product .woocommerce-loop-product__title{
  font-size:.9375rem;font-weight:500;line-height:1.5;color:var(--black);
  padding:0;margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.product-price,
ul.products li.product .price{
  font-size:1.0625rem;font-weight:800;color:var(--black);margin:0;
}
.product-price del,
ul.products li.product .price del{color:var(--gray-400);font-weight:500;font-size:.8125rem;margin-inline-start:6px;opacity:1}
.product-price ins,
ul.products li.product .price ins{text-decoration:none}

/* "view product" — quiet outline button, full width */
.product-info .button,
.product-card a.view-product,
ul.products li.product a.button.view-product{
  margin-top:6px;display:block;text-align:center;
  background:var(--gray-100);color:var(--black);
  border:none;
  font-size:.8125rem;font-weight:700;padding:12px;border-radius:0;
  letter-spacing:0;text-transform:none;
}
.product-info .button:active,
.product-card a.view-product:active,
ul.products li.product a.button.view-product:hover{background:var(--yellow);color:var(--black)}

/* ---------------- Generic WooCommerce buttons ---------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  background:var(--black);color:var(--white);
  border-radius:0;font-weight:700;text-transform:uppercase;letter-spacing:.03em;
  padding:12px 18px;font-size:.9375rem;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover{background:var(--yellow);color:var(--black)}
.woocommerce .button.alt,
.woocommerce #respond input#submit.alt{background:var(--yellow);color:var(--black)}

/* form fields → 16px, square, calm */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .quantity input,
select,input[type="text"],input[type="email"],input[type="search"],input[type="password"],input[type="tel"],input[type="number"]{
  font-size:16px;border:1px solid var(--gray-400);border-radius:0;padding:15px 16px;background:var(--white);
  color:var(--black);
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--black)}
input::placeholder{color:var(--gray-400)}

/* custom dropdowns — kill the native browser look */
select,
.woocommerce select,
.woocommerce-ordering select{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  padding-inline-end:40px;cursor:pointer;line-height:1.4;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%23111111" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>');
  background-repeat:no-repeat;
  background-position:left 12px center;
  background-size:16px;
}
html[dir="rtl"] select,
html[dir="rtl"] .woocommerce select{background-position:left 12px center}
select::-ms-expand{display:none}

/* WooCommerce "default sorting" dropdown as a calm block */
.woocommerce-ordering{margin:0;padding:12px var(--pad)}
.woocommerce-ordering select{width:100%}

/* ---------------- Bottom tab bar (app nav) ---------------- */
.tabbar{
  position:fixed;bottom:0;left:50%;transform:translateX(-50%);
  width:100%;max-width:var(--app-w);z-index:40;
  height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));
  padding-bottom:env(safe-area-inset-bottom);
  display:flex;background:var(--white);border-top:1px solid var(--line);
}
.tabbar a{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  font-size:.625rem;font-weight:600;color:var(--gray-600);
}
.tabbar a svg{width:22px;height:22px}
.tabbar a.is-active{color:var(--black)}
.tabbar a.is-active svg{stroke:var(--black)}
.tabbar a .dot{position:absolute}

/* ---------------- Footer (quiet, centered, on white) ---------------- */
.app-footer{
  padding:40px var(--pad) 44px;
  background:var(--white);color:var(--gray-600);
  display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;
}
.app-footer .f-brand{font-size:1rem;font-weight:700;color:var(--gray-600)}
.app-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 20px;margin:0;padding:0}
.app-footer nav li{list-style:none;margin:0;padding:0}
.app-footer nav a{font-size:.875rem;color:var(--gray-600);display:block}
.app-footer nav a:active{color:var(--black)}
.app-footer .copy{font-size:.75rem;color:var(--gray-400);padding-top:6px}

/* ---------------- Single product (minimal, stacked) ---------------- */
.woocommerce div.product,
.product-single{padding:0}
.product-single .ps-gallery{
  position:relative;width:100%;aspect-ratio:1/1;background:var(--gray-100);overflow:hidden;
}
.product-single .ps-gallery img{width:100%;height:100%;object-fit:cover}
.product-single .ps-gallery .badge-sale{top:12px;inset-inline-start:12px}

.product-single .ps-body{padding:22px var(--pad) 8px}
.product-single .ps-title{font-size:1.375rem;font-weight:800;line-height:1.45;letter-spacing:-.01em;margin:0 0 12px}
.product-single .ps-short{font-size:1rem;line-height:1.8;color:#333;margin:0 0 22px}

/* notices (validation errors etc.) shown above the title */
.product-single .ps-notices{margin:0 0 16px}

/* ----- order form: blocks stack; quantity + button share the last row ----- */
.product-single .ps-form{margin:0 0 28px}
.woocommerce .product-single form.cart{
  display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 10px;margin:0;
}
.woocommerce .product-single form.cart > .accwoo-event-card,
.woocommerce .product-single form.cart > .accwoo-fields,
.woocommerce .product-single form.cart > .acc-cart-price,
.woocommerce .product-single form.cart > .variations,
.woocommerce .product-single form.cart > .woocommerce-variation{
  flex:0 0 100%;width:100%;margin:0;
}

/* the ACC plugin fields */
.product-single .accwoo-fields{display:block;width:100%;margin:0}
.product-single .accwoo-fields .form-row{
  display:flex;align-items:flex-start;gap:14px;
  width:100%;float:none;margin:0 0 14px;padding:0;
}
.product-single .accwoo-fields label{
  flex:0 0 120px;margin:0;padding-top:15px;text-align:right;line-height:1.4;
  font-size:.9375rem;font-weight:600;color:var(--black);
}
.product-single .accwoo-fields label .required{color:#d00;text-decoration:none;border:none}
.product-single .accwoo-fields .input-text,
.product-single .accwoo-fields input,
.product-single .accwoo-fields textarea{
  flex:1 1 auto;width:auto;min-width:0;font-size:16px;
  border:1px solid var(--gray-400);border-radius:0;
  padding:14px 15px;background:var(--white);color:var(--black);
}
.product-single .accwoo-fields .input-text:focus,
.product-single .accwoo-fields textarea:focus{outline:none;border-color:var(--black)}
.product-single .accwoo-fields textarea{min-height:110px;line-height:1.7;resize:vertical}

/* price (rendered just above the buy button) */
.product-single .acc-cart-price{
  display:block;font-size:1.5rem;font-weight:800;color:var(--black);
  margin:8px 0 14px;text-align:right;
}
.product-single .acc-cart-price del{color:var(--gray-400);font-weight:500;font-size:1rem;margin-inline-start:8px}
.product-single .acc-cart-price ins{text-decoration:none}

/* quantity (fixed) + buy button (fills the rest) on the same row */
.woocommerce .product-single form.cart .quantity{
  float:none;flex:0 0 auto;display:inline-flex;margin:0;
}
.woocommerce .product-single form.cart .quantity input.qty{
  width:84px;height:54px;text-align:center;font-size:16px;border:1px solid var(--gray-400);
}
.woocommerce .product-single form.cart .single_add_to_cart_button,
.woocommerce .product-single form.cart button.button[type="submit"]{
  flex:1 1 0;width:auto;height:54px;background:var(--black);color:var(--white);
  font-size:1.0625rem;font-weight:800;border-radius:0;letter-spacing:.01em;text-transform:none;border:none;
}
.woocommerce .product-single form.cart .single_add_to_cart_button:hover{background:var(--yellow);color:var(--black)}

.product-single .acc-cart-note{
  font-size:.9375rem;color:var(--gray-600);
  padding:14px 16px;background:var(--gray-100);text-align:right;
}

/* variable product variations stack too */
.product-single .ps-form .variations{margin:0 0 14px;display:block}
.product-single .ps-form .variations tbody,
.product-single .ps-form .variations tr,
.product-single .ps-form .variations td,
.product-single .ps-form .variations th{display:block;width:100%;text-align:right;padding:0;border:none}
.product-single .ps-form .variations th{font-weight:600;font-size:.9375rem;margin:0 0 7px}
.product-single .ps-form .variations td{margin:0 0 16px}
.product-single .ps-form .variations select{width:100%}
.product-single .ps-form .reset_variations{font-size:.8125rem;color:var(--gray-600)}

/* ----- ACC event card: flat, minimal (match the theme) ----- */
.product-single .accwoo-event-card{
  border:1px solid var(--line);border-radius:0;padding:16px;margin:0 0 18px;
}
.product-single .accwoo-event-title{font-size:1rem;font-weight:800;margin:0 0 14px}
.product-single .accwoo-event-boxes{grid-template-columns:1fr 1fr;gap:10px}
.product-single .accwoo-event-box{border:1px solid var(--line);border-radius:0;min-height:54px}
.product-single .accwoo-event-box-label{background:var(--white)}
.product-single .accwoo-event-capacity{border:1px solid var(--line);border-radius:0}

/* detail / review sections */
.product-single .ps-section{
  border-top:1px solid var(--line);padding:32px 0;
}
.product-single .ps-h{font-size:1.0625rem;font-weight:800;margin:0 0 14px}
.product-single .ps-rich{font-size:1rem;line-height:1.9;color:#333}
.product-single .ps-rich p{margin:0 0 1em}
.woocommerce .product-single table.woocommerce-product-attributes{
  border:none;margin-top:14px;width:100%;border-collapse:collapse;
}
.woocommerce .product-single table.woocommerce-product-attributes th,
.woocommerce .product-single table.woocommerce-product-attributes td{
  border:none;border-bottom:1px solid var(--line);padding:11px 0;font-size:.9375rem;background:none;
}
.woocommerce .product-single table.woocommerce-product-attributes th{
  font-weight:700;color:var(--gray-600);width:40%;text-align:start;
}

/* ---------------- Reviews ---------------- */
.acc-reviews{margin-top:4px}
.acc-review-list{margin:0 0 8px;padding:0}
.acc-reviews .commentlist li,
.acc-review-list li{
  list-style:none;padding:16px 0;border-bottom:1px solid var(--line);
}
.acc-reviews .comment_container{display:flex;gap:12px;align-items:flex-start}
.acc-reviews .avatar{width:40px;height:40px;border-radius:50%;margin:0}
.acc-reviews .comment-text{flex:1}
.acc-reviews .meta{font-size:.875rem;font-weight:700;margin:0 0 4px}
.acc-reviews .meta time{color:var(--gray-600);font-weight:400;font-size:.8125rem}
.acc-reviews .star-rating{font-size:.75rem;margin:0 0 6px;color:var(--black)}
.acc-reviews .description p{font-size:.9375rem;line-height:1.8;color:#333;margin:0}
.acc-no-reviews,.acc-review-locked{color:var(--gray-600);font-size:.9375rem;padding:8px 0 16px}

.acc-review-form{margin-top:18px}
.acc-review-form .acc-h{font-size:1.0625rem;font-weight:800;margin:0 0 14px}
.acc-review-form label{display:block;font-size:.875rem;font-weight:600;margin:0 0 6px}
.acc-review-form p{margin:0 0 14px}
.acc-review-form input,
.acc-review-form select,
.acc-review-form textarea{width:100%;font-size:16px}
.acc-review-form .form-submit input,
.acc-review-form #submit{
  width:100%;background:var(--black);color:var(--white);
  font-size:1rem;font-weight:800;padding:14px;border:none;border-radius:0;cursor:pointer;
}
.acc-review-form .form-submit input:hover{background:var(--yellow);color:var(--black)}
.acc-review-nav{display:flex;gap:8px;padding:12px 0}
.acc-review-nav a,.acc-review-nav span{padding:6px 12px;border:1px solid var(--line)}

/* ---------------- Search overlay ---------------- */
.search-toggle{display:none}
.search-overlay{position:fixed;inset:0;z-index:60;pointer-events:none}
.search-overlay .backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4);opacity:0;transition:opacity .2s}
.search-overlay .search-panel{
  position:absolute;top:0;left:50%;transform:translate(-50%,-100%);
  width:100%;max-width:var(--app-w);background:var(--white);
  box-shadow:0 8px 24px rgba(0,0,0,.1);transition:transform .25s ease;
}
.search-toggle:checked ~ .search-overlay{pointer-events:auto}
.search-toggle:checked ~ .search-overlay .backdrop{opacity:1}
.search-toggle:checked ~ .search-overlay .search-panel{transform:translate(-50%,0)}
.acc-search-form{display:flex;align-items:center;gap:8px;padding:10px var(--pad);height:var(--header-h)}
.acc-search-form .search-ico{display:flex;color:var(--gray-600)}
.acc-search-form .search-ico svg{width:20px;height:20px}
.acc-search-form input[type="search"]{
  flex:1;border:none;font-size:16px;padding:8px 4px;background:none;
}
.acc-search-form input[type="search"]:focus{outline:none}
.acc-search-form .search-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--black)}

/* ---------------- My Account ---------------- */
.woocommerce-account .wc-content,
.woocommerce-account.woocommerce-page main{padding:0}
.woocommerce-account .woocommerce{display:flex;flex-direction:column}

/* full-width single column: nav on top, content below */
.woocommerce-account .woocommerce-MyAccount-content{
  order:2;width:100%;float:none;padding:20px var(--pad) 8px;
}
.woocommerce-MyAccount-content > p:first-child{font-size:1rem;line-height:1.8;color:#333;margin:0 0 16px}
.woocommerce-MyAccount-content mark{background:var(--yellow);color:var(--black);padding:0 .2em}

/* account nav: a row of button chips at the top (scrolls if needed) */
.woocommerce-MyAccount-navigation{
  order:1;width:100%;float:none;margin:0;
  padding:14px var(--pad);border-bottom:1px solid var(--line);
}
.woocommerce-MyAccount-navigation ul{
  display:flex;flex-flow:row nowrap;gap:8px;overflow-x:auto;
  margin:0;padding:0;border:none;scrollbar-width:none;
}
.woocommerce-MyAccount-navigation ul::-webkit-scrollbar{display:none}
.woocommerce-MyAccount-navigation li{
  flex:0 0 auto;border:none;margin:0;list-style:none;
}
.woocommerce-MyAccount-navigation li a{
  display:block;white-space:nowrap;
  padding:9px 16px;font-size:.875rem;font-weight:600;
  border:1px solid var(--black);color:var(--black);background:var(--white);
}
.woocommerce-MyAccount-navigation li a:active{background:var(--gray-100)}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--black);color:var(--white)}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{
  border-color:var(--gray-400);color:var(--gray-600);
}

/* orders table → cards */
.woocommerce-account .woocommerce-orders-table{border:none;display:block}
.woocommerce-account .woocommerce-orders-table thead{display:none}
.woocommerce-account .woocommerce-orders-table tbody,
.woocommerce-account .woocommerce-orders-table tr{display:block}
.woocommerce-account .woocommerce-orders-table tr{border:1px solid var(--line);padding:14px;margin-bottom:14px}
.woocommerce-account .woocommerce-orders-table td{
  display:flex;justify-content:space-between;gap:12px;border:none;padding:6px 0;font-size:.9375rem;text-align:start;
}
.woocommerce-account .woocommerce-orders-table td::before{
  content:attr(data-title);font-weight:700;color:var(--gray-600);
}
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions{justify-content:flex-start}
.woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before{display:none}
.woocommerce-account .woocommerce-orders-table .button{padding:9px 14px;font-size:.8125rem}

/* account details form */
.woocommerce-EditAccountForm,
.woocommerce-MyAccount-content form{display:flex;flex-direction:column}
.woocommerce-MyAccount-content .button{align-self:stretch}

/* ---------------- Login & Register ---------------- */
.woocommerce-account:not(.logged-in) .woocommerce{padding:8px var(--pad) 24px}
.woocommerce .col2-set,
.woocommerce-page .col2-set{display:flex;flex-direction:column;gap:0;width:100%;margin:0}
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2{width:100%;float:none;padding:0}
.u-columns{display:flex;flex-direction:column}

.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register{
  border:none;padding:24px 0 8px;margin:0;
}
.woocommerce h2{font-size:1.25rem;font-weight:800;margin:0 0 6px}
.woocommerce .col-1 > h2,
.woocommerce .col-2 > h2{padding-top:8px}
.woocommerce-form-login__rememberme,
.woocommerce-form-register__rememberme{display:flex;align-items:center;gap:8px;font-size:.875rem}
.woocommerce-form-login__rememberme input,
.woocommerce-form-register__rememberme input{width:auto}
.woocommerce form .form-row label{display:block;font-size:.875rem;font-weight:600;margin:0 0 6px}
.woocommerce form .form-row{margin:0 0 16px}
.woocommerce form .form-row input.input-text{width:100%}
.woocommerce-form-login .button,
.woocommerce-form-register .button{width:100%;height:52px;font-size:1rem;font-weight:800;background:var(--black);color:var(--white)}
.woocommerce-form-login .button:hover,
.woocommerce-form-register .button:hover{background:var(--yellow);color:var(--black)}
.woocommerce-LostPassword{margin-top:12px}
.woocommerce-LostPassword a{font-size:.875rem;color:var(--gray-600);text-decoration:underline}
.woocommerce .col2-set .col-2{border-top:1px solid var(--line);margin-top:16px}

/* notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border-radius:0;border:none;border-inline-start:3px solid var(--black);
  background:var(--gray-100);padding:14px var(--pad);font-size:.9375rem;list-style:none;margin:0 0 16px;
}
.woocommerce-message{border-inline-start-color:var(--yellow)}
.woocommerce-error{border-inline-start-color:#d00}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{display:none}

/* ---------------- Utility ---------------- */
.empty{padding:48px var(--pad);text-align:center;color:var(--gray-600)}
.skip-link{position:absolute;left:-9999px}

/* Desktop: do NOT reflow. Keep the mobile app frame, just give it a backdrop. */
@media (min-width:481px){
  body{padding:24px 0}
  .app{box-shadow:0 8px 40px rgba(0,0,0,.12)}
}
