[hidden] { display: none !important; }

body.kitsdrop-store-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
body.kitsdrop-store-page > main { flex: 1 0 auto; }
body.kitsdrop-store-page > .site-footer { flex-shrink: 0; margin-top: 0; }

.cart-count {
  min-width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  padding: 0 6px;
  color: var(--blue);
  background: white;
  border-radius: 999px;
  font-size: 10px;
}

.page-hero {
  padding: 74px 0 78px;
  color: white;
  background: radial-gradient(circle at 78% 35%, #123e83, #071a39 47%, #050f22 100%);
}
.breadcrumbs { margin: 0 0 24px; color: #91a5c3; font-size: 11px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.breadcrumbs a { color: #dbe8fa; }
.breadcrumbs span { margin: 0 9px; }
.page-hero h1 { max-width: 760px; margin: 0 0 16px; font-size: clamp(43px, 5vw, 68px); }
.page-hero p:last-child { max-width: 650px; margin: 0; color: #b7c5dc; font-size: 16px; }

.store-main { background: var(--ice); }
.store-section { padding: 78px 0 105px; }
.store-card { background: white; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 20px 60px rgba(11,50,111,.08); }
.product-layout { display: grid; grid-template-columns: .95fr 1.05fr; overflow: hidden; }
.product-gallery { min-height: 620px; display: grid; place-items: center; padding: 45px; background: linear-gradient(145deg, #edf4ff, #dfeafb); }
.product-gallery img { width: min(500px, 100%); aspect-ratio: 1; object-fit: contain; filter: drop-shadow(0 25px 30px rgba(7,34,80,.18)); }
.product-info { min-width: 0; padding: 54px; }
.status-line { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 15px; }
.stock-status { color: #167552; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.stock-status::before { content: ""; width: 7px; height: 7px; display: inline-block; margin-right: 7px; background: #31b77e; border-radius: 50%; }
.stock-status.sample-status { color: var(--blue); }
.stock-status.sample-status::before { background: var(--blue); }
.stock-status.is-unavailable { color: #a14343; }
.stock-status.is-unavailable::before { background: #c45151; }
.draft-pill { padding: 6px 9px; color: var(--blue); background: var(--blue-soft); border-radius: 999px; font-size: 9px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.product-info h1 { margin: 0 0 13px; color: var(--ink); font-size: clamp(39px, 4.3vw, 57px); }
.product-subtitle { color: var(--muted); font-size: 15px; }
.product-price { margin: 25px 0; padding: 20px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.product-price small { display: block; color: #8390a4; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.product-price strong { display: inline-flex; align-items: baseline; color: var(--ink); font-size: 42px; line-height: 1; letter-spacing: -.04em; }
.product-price strong .woocommerce-Price-amount,
.product-price strong .woocommerce-Price-currencySymbol { color: inherit; font-size: inherit; }
.product-price > span { color: var(--muted); font-size: 13px; }
.product-price .product-price-savings { display: flex; align-items: center; gap: 10px; margin-top: 10px; font-size: 14px; }
.product-price .product-price-savings del { color: var(--muted); }
.product-price .product-price-savings b { color: var(--blue); }
.product-price > em { display: block; margin-top: 7px; color: var(--muted); font-size: 12px; font-style: normal; }
.mini-specs { display: grid; grid-template-columns: repeat(2,1fr); margin: 25px 0; border: 1px solid var(--line); border-right: 0; }
.mini-specs div { padding: 13px; border-right: 1px solid var(--line); }
.mini-specs small, .field-note { display: block; color: #8996a9; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.mini-specs strong { display: block; margin-top: 3px; font-size: 12px; }
.document-link { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3px 20px; margin: 0 0 24px; padding: 15px 17px; color: var(--ink); background: var(--blue-soft); border: 1px solid #cfe0fa; border-radius: 8px; }
.document-link span { color: var(--blue); font-size: 9px; font-weight: 850; letter-spacing: .11em; }
.document-link strong { grid-column: 1; font-size: 13px; }
.document-link small { grid-column: 2; grid-row: 1 / span 2; color: var(--blue); font-size: 10px; font-weight: 750; }
.document-link:hover { border-color: var(--blue); }
.coa-card { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; align-items: center; gap: 14px; margin: 0 0 24px; padding: 15px; color: var(--ink); background: linear-gradient(135deg, #f4f8ff, #e8f1ff); border: 1px solid #c9dcf8; border-radius: 12px; }
.coa-file-icon { width: 46px; height: 46px; display: grid; place-items: center; color: #fff; background: var(--blue); border-radius: 9px; font-size: 10px; font-weight: 900; letter-spacing: .08em; box-shadow: 0 8px 18px rgba(13,84,217,.18); }
.coa-copy { min-width: 0; display: grid; line-height: 1.3; }
.coa-copy small { color: var(--blue); font-size: 8px; font-style: normal; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.coa-copy strong { margin: 2px 0; font-size: 13px; }
.coa-copy em { color: var(--muted); font-size: 10px; font-style: normal; }
.coa-actions { display: flex; gap: 7px; }
.coa-actions a { padding: 8px 11px; color: var(--blue); background: #fff; border: 1px solid #bed4f5; border-radius: 7px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.coa-actions a:first-child { color: #fff; background: var(--blue); border-color: var(--blue); }
.coa-actions a:hover { border-color: var(--blue-dark); }
.store-tier-table { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 17px 0 22px; }
.store-tier { padding: 13px 8px; color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; }
.store-tier span, .store-tier small { display: block; color: #8492a8; font-size: 9px; }
.store-tier b { font-size: 17px; }
.store-tier.is-active { color: white; background: var(--blue-deep); border-color: var(--blue-deep); }
.store-tier.is-active span, .store-tier.is-active small { color: #b7c8e4; }
.product-buy { display: grid; grid-template-columns: 145px 1fr auto; gap: 10px; }
.woo-product-buy { margin-top: 24px; }
.woo-product-buy .view-cart-link { min-height: 56px; display: inline-flex; align-items: center; justify-content: center; padding: 11px 20px; color: var(--blue); background: #fff; border: 1px solid var(--blue); border-radius: 9px; font-weight: 750; white-space: nowrap; }
.woo-product-buy .view-cart-link:hover { color: #fff; background: var(--blue); }
.woo-quantity { min-height: 56px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px; padding: 0 14px; background: var(--ice); border: 1px solid var(--line); border-radius: 9px; }
.woo-quantity span { color: var(--muted); font-size: 11px; font-weight: 750; }
.woo-quantity input { width: 100%; min-width: 0; padding: 8px; color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 6px; font-weight: 750; text-align: center; }
.product-fine-print { margin: 12px 0 0; color: #8793a5; font-size: 10px; }
.detail-panels { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 24px; }
.detail-panel { padding: 28px; }
.detail-panel span { color: var(--blue); font-size: 10px; font-weight: 850; }
.detail-panel h2 { margin: 14px 0 9px; font-size: 19px; }
.detail-panel p { margin: 0; color: var(--muted); font-size: 13px; }

.cart-layout, .checkout-layout { display: grid; grid-template-columns: 1.3fr .7fr; gap: 24px; align-items: start; }
.cart-panel, .summary-panel, .form-panel { padding: 34px; }
.panel-title { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.panel-title h2 { margin: 0; font-size: 25px; letter-spacing: -.035em; }
.panel-title a { color: var(--blue); font-size: 12px; font-weight: 750; }
.cart-product { display: grid; grid-template-columns: 105px 1fr auto; gap: 22px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--line); }
.cart-product-media { width: 105px; height: 105px; display: grid; place-items: center; background: var(--blue-soft); border-radius: 10px; overflow: hidden; }
.cart-product-media img { width: 100%; height: 100%; object-fit: contain; }
.cart-product h3 { margin: 0 0 4px; font-size: 18px; }
.cart-product p { margin: 0 0 13px; color: var(--muted); font-size: 11px; }
.cart-product-price { text-align: right; }
.cart-product-price strong { display: block; font-size: 20px; }
.cart-product-price small { color: var(--muted); font-size: 10px; }
.compact-quantity { width: 130px; min-height: 44px; }
.remove-item { margin-top: 18px; padding: 0; color: #7b8799; background: transparent; border: 0; font-size: 11px; text-decoration: underline; cursor: pointer; }
.empty-cart { display: none; padding: 60px 20px; text-align: center; }
.empty-cart h2 { margin-bottom: 10px; }
.empty-cart p { color: var(--muted); }
.summary-panel { position: sticky; top: 135px; }
.summary-panel h2 { margin: 0 0 22px; font-size: 23px; }
.summary-line { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; color: var(--muted); border-bottom: 1px solid var(--line); font-size: 13px; }
.summary-line strong { color: var(--ink); }
.summary-total { padding: 20px 0; color: var(--ink); font-size: 16px; }
.summary-total strong { color: var(--blue); font-size: 25px; }
.full-button { width: 100%; }
.secure-note { margin: 13px 0 0; color: #8491a3; font-size: 10px; text-align: center; }

.checkout-steps { display: flex; align-items: center; margin-bottom: 25px; color: #8b97a9; font-size: 11px; font-weight: 750; }
.checkout-steps span { color: var(--blue); }
.checkout-steps i { width: 28px; height: 1px; margin: 0 10px; background: var(--line); }
.form-panel { padding: 38px; }
.form-section + .form-section { margin-top: 38px; padding-top: 30px; border-top: 1px solid var(--line); }
.form-section h2 { margin: 0 0 5px; font-size: 23px; }
.form-section > p { margin: 0 0 22px; color: var(--muted); font-size: 12px; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.field-wide { grid-column: 1 / -1; }
.field label { display: block; margin-bottom: 6px; color: #3b4960; font-size: 11px; font-weight: 750; }
.field input, .field select, .field textarea { width: 100%; min-height: 48px; padding: 11px 13px; color: var(--ink); background: white; border: 1px solid #ccd7e7; border-radius: 7px; font: inherit; font-size: 13px; }
.field textarea { min-height: 100px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: 3px solid rgba(102,185,255,.28); border-color: var(--blue); }
.choice-box { display: flex; gap: 12px; padding: 16px; border: 1px solid var(--blue); border-radius: 8px; background: var(--blue-soft); }
.choice-box input { margin-top: 4px; }
.choice-box strong { display: block; font-size: 13px; }
.choice-box span { display: block; color: var(--muted); font-size: 11px; }
.checkout-item { display: grid; grid-template-columns: 52px 1fr auto; gap: 12px; align-items: center; margin-bottom: 18px; }
.checkout-item img { width: 52px; height: 52px; object-fit: contain; background: var(--blue-soft); border-radius: 7px; }
.checkout-item h3 { margin: 0; font-size: 13px; }
.checkout-item p { margin: 1px 0 0; color: var(--muted); font-size: 10px; }
.demo-submit-note { display: none; margin: 12px 0 0; color: #9b5c00; font-size: 11px; }

.content-layout { display: grid; grid-template-columns: 250px 1fr; gap: 70px; align-items: start; }
.side-nav { position: sticky; top: 135px; display: grid; padding: 20px; }
.side-nav strong { margin-bottom: 11px; font-size: 12px; }
.side-nav a { padding: 9px 0; color: var(--muted); border-bottom: 1px solid var(--line); font-size: 12px; }
.side-nav a:hover { color: var(--blue); }
.content-body { max-width: 760px; }
.policy-summary { margin: 0 0 38px; padding: 22px 24px; background: var(--blue-soft); border: 1px solid #c9dcf8; border-left: 4px solid var(--blue); border-radius: 10px; }
.policy-summary strong { display: block; margin-bottom: 5px; color: var(--blue-deep); font-size: 13px; }
.policy-summary p { margin: 0; color: var(--muted); font-size: 13px; }
.policy-summary-dark { color: #fff; background: var(--blue-deep); border-color: var(--blue-deep); border-left-color: var(--cyan); }
.policy-summary-dark strong { color: #fff; }
.policy-summary-dark p { color: #c2d3ec; }
.content-body section { scroll-margin-top: 130px; padding: 0 0 38px; margin-bottom: 38px; border-bottom: 1px solid var(--line); }
.content-body section p + p { margin-top: 14px; }
.content-body h2 { margin-bottom: 13px; font-size: 28px; letter-spacing: -.035em; }
.content-body h3 { margin: 23px 0 7px; font-size: 17px; }
.content-body p, .content-body li { color: var(--muted); font-size: 14px; }
.content-body ul { padding-left: 20px; }
.legal-review { padding: 16px; color: #725100; background: #fff6d8; border: 1px solid #ecd994; border-radius: 8px; font-size: 12px; }

.contact-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 25px; }
.contact-copy, .contact-form { padding: 38px; }
.contact-copy h2, .contact-form h2 { margin: 0 0 13px; font-size: 30px; }
.contact-copy > p { color: var(--muted); font-size: 14px; }
.contact-method { margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--line); }
.contact-method small { display: block; color: #8996a8; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.contact-method strong { display: block; margin-top: 4px; font-size: 14px; }
.form-message { margin: 14px 0 0; color: #167552; font-size: 12px; }
.contact-form .fluentform { margin-top: 24px; }
.contact-form .ff-el-group { margin-bottom: 18px; }
.contact-form .ff-el-input--label label { color: var(--ink); font-size: 12px; font-weight: 750; }
.contact-form .ff-el-form-control { min-height: 48px; padding: 11px 13px; color: var(--ink); background: #fff; border: 1px solid #ccd8e9; border-radius: 8px; box-shadow: none; font: inherit; }
.contact-form textarea.ff-el-form-control { min-height: 150px; resize: vertical; }
.contact-form .ff-el-form-control:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(13,84,217,.12); }
.contact-form .ff-el-help-message { margin-top: 6px; color: var(--muted); font-size: 11px; }
.contact-form .ff_t_c { color: var(--muted); font-size: 12px; line-height: 1.55; }
.contact-form .ff_t_c a { color: var(--blue); text-decoration: underline; }
.contact-form .kitsdrop-form-notice { padding: 13px 15px; color: #52627a; background: #f4f8ff; border: 1px solid #d9e4f4; border-radius: 8px; font-size: 11px; line-height: 1.55; }
.request-layout { align-items: stretch; }
.request-form { padding: 36px; }
.request-points { display: grid; gap: 12px; margin: 24px 0 0; padding: 0; list-style: none; }
.request-points li { position: relative; padding-left: 24px; color: #52627a; }
.request-points li::before { content: "✓"; position: absolute; left: 0; color: #1373e6; font-weight: 800; }
.request-form .ff-el-group { margin-bottom: 16px; }
.request-form input,.request-form textarea,.request-form select { width: 100%; min-height: 48px; padding: 12px 14px; background: #f6f9ff; border: 1px solid #ccdaee; border-radius: 8px; }
.request-form textarea { min-height: 130px; resize: vertical; }
.request-form button,.request-form .ff-btn-submit { width: 100%; min-height: 50px; color: #fff; background: #0d5be1; border: 0; border-radius: 8px; font-weight: 750; cursor: pointer; }
.kitsdrop-request-form { margin-top: 24px; }
.kitsdrop-request-form label { display: block; margin-bottom: 7px; color: var(--ink); font-size: 12px; font-weight: 750; }
.kitsdrop-request-form .request-consent label { display: flex; gap: 9px; align-items: flex-start; color: var(--muted); font-weight: 500; }
.kitsdrop-request-form .request-consent input { width: 17px; min-height: 17px; margin-top: 2px; accent-color: var(--blue); }
.request-privacy { color: var(--muted); font-size: 11px; line-height: 1.55; }
.request-privacy a { color: var(--blue); text-decoration: underline; }
.request-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.request-success,.request-error { margin: 20px 0; padding: 14px 16px; border-radius: 8px; }
.request-success { color: #126441; background: #edfbf5; border: 1px solid #b9ead5; }
.request-error { color: #8a2c2c; background: #fff1f1; border: 1px solid #efc1c1; }
.contact-form .ff-btn-submit { min-height: 52px; padding: 0 25px; color: #fff; background: var(--blue) !important; border: 1px solid var(--blue) !important; border-radius: 9px; box-shadow: 0 12px 26px rgba(13,84,217,.18); font-size: 14px; font-weight: 750; }
.contact-form .ff-btn-submit:hover { background: var(--blue-dark) !important; }
.contact-form .ff-message-success { padding: 18px; color: #126441; background: #edfbf5; border: 1px solid #b9ead5; border-radius: 9px; box-shadow: none; }

.confirmation { max-width: 780px; margin: 0 auto; padding: 50px; text-align: center; }
.confirmation-mark { width: 64px; height: 64px; display: grid; place-items: center; margin: 0 auto 22px; color: white; background: #25a873; border-radius: 50%; font-size: 28px; }
.confirmation h1 { margin: 0 0 12px; color: var(--ink); font-size: 43px; }
.confirmation > p { color: var(--muted); }
.confirmation .order-summary { margin: 28px 0; text-align: left; }
.confirmation-actions { display: flex; justify-content: center; gap: 12px; }
.button-secondary { color: var(--blue); background: white; box-shadow: none; }
.button-secondary:hover { color: white; }

/* Functional WooCommerce cart, checkout, and account pages. */
body.kitsdrop-woocommerce-page { min-height: 100vh; display: flex; flex-direction: column; }
.kitsdrop-woocommerce-page .woo-main { flex: 1 0 auto; background: var(--ice); }
.woo-hero { padding: 58px 0 62px; color: white; background: linear-gradient(120deg, #041229, #0b3577); }
.woo-hero .breadcrumbs { color: #a9c7f5; }
.woo-hero .breadcrumbs a { color: white; }
.woo-hero h1 { margin: 22px 0 12px; color: white; font-size: clamp(42px, 5vw, 64px); }
.woo-hero p:last-child { max-width: 680px; margin: 0; color: #c2d5f1; }
.woo-section { min-height: 360px; padding: 58px 0 86px; }
.woo-content { padding: clamp(22px, 4vw, 48px); overflow: hidden; }
.woo-content h2, .woo-content h3 { color: var(--ink); }
.woo-content a:not(.button):not(.wc-block-components-button) { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.woo-content .wc-block-components-button,
.woo-content .wp-element-button,
.woo-content .woocommerce-button,
.woo-content button.button,
.woo-content input.button { min-height: 48px; padding: 11px 22px; color: white; background: var(--blue); border: 1px solid var(--blue); border-radius: 8px; box-shadow: none; font-weight: 750; text-decoration: none; }
.woo-content .wc-block-components-button:hover,
.woo-content .wp-element-button:hover,
.woo-content .woocommerce-button:hover,
.woo-content button.button:hover,
.woo-content input.button:hover { color: white; background: var(--blue-dark); }
.woo-content .wc-block-components-text-input input,
.woo-content .wc-block-components-address-form__address_2-toggle,
.woo-content .input-text,
.woo-content select,
.woo-content textarea { color: var(--ink); background: white; border-color: #bdc9da; border-radius: 7px; }
.woo-content .wc-block-components-order-summary,
.woo-content .wc-block-components-sidebar,
.woo-content .woocommerce-checkout-review-order,
.woo-content .woocommerce-cart-form { color: var(--ink); }
.woo-content .wc-block-cart__submit-container { background: transparent; }
.woo-content .wc-block-components-notice-banner { border-radius: 8px; }
.woo-content .wc-block-components-product-name { color: var(--ink); font-weight: 750; }
.woo-content .wc-block-cart-items__header,
.woo-content .wc-block-components-order-summary-item { border-color: var(--line); }
.woo-content .woocommerce-MyAccount-navigation ul { display: grid; gap: 4px; margin: 0 0 25px; padding: 0; list-style: none; }
.woo-content .woocommerce-MyAccount-navigation a { display: block; padding: 10px 13px; background: var(--ice); border-radius: 7px; text-decoration: none; }
.woocommerce-account:not(.logged-in) .woo-content { padding: clamp(26px, 5vw, 62px); }
.woocommerce-account:not(.logged-in) .woo-content > .woocommerce { max-width: 940px; margin: 0 auto; }
.woocommerce-account:not(.logged-in) #customer_login { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 26px; }
.woocommerce-account:not(.logged-in) #customer_login::before,
.woocommerce-account:not(.logged-in) #customer_login::after { display: none !important; content: none !important; }
.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
.woocommerce-account:not(.logged-in) #customer_login > .u-column2 { width: 100% !important; max-width: none !important; min-width: 0; display: flex; flex-direction: column; float: none !important; margin: 0 !important; padding: 34px !important; background: white; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 16px 45px rgba(11,50,111,.08); }
.woocommerce-account:not(.logged-in) #customer_login > .u-column1 { grid-column: 1 !important; grid-row: 1 !important; }
.woocommerce-account:not(.logged-in) #customer_login > .u-column2 { grid-column: 2 !important; grid-row: 1 !important; }
.woocommerce-account:not(.logged-in) #customer_login h2 { margin: 0 0 24px; color: var(--ink); font-size: 30px; line-height: 1.15; letter-spacing: -.035em; text-align: left; }
.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login,
.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register { height: auto; margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0; }
.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-row { width: 100% !important; margin: 0 0 18px !important; padding: 0; float: none !important; }
.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-row label { display: block; margin-bottom: 7px; color: var(--ink); font-size: 13px; font-weight: 750; }
.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-row .input-text { width: 100% !important; min-height: 52px; padding: 11px 14px !important; color: var(--ink); background: var(--ice) !important; border: 1px solid #b9c8dc !important; border-radius: 9px !important; box-shadow: none !important; }
.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-row .input-text:focus { background: white !important; border-color: var(--blue) !important; outline: 3px solid rgba(13,84,217,.12); }
.woocommerce-account:not(.logged-in) #customer_login .password-input { position: relative; display: block; width: 100%; }
.woocommerce-account:not(.logged-in) #customer_login .show-password-input { top: 50%; right: 14px; transform: translateY(-50%); }
.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin: 2px 0 16px; font-weight: 600; }
.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__rememberme input { width: 17px; height: 17px; margin: 0; accent-color: var(--blue); }
.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__submit,
.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register__submit { width: 100%; min-height: 52px; margin: 0 !important; color: white !important; background: var(--blue) !important; border-color: var(--blue) !important; border-radius: 9px !important; }
.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__submit:hover,
.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register__submit:hover { background: var(--blue-dark) !important; }
.woocommerce-account:not(.logged-in) #customer_login .woocommerce-LostPassword { margin: 18px 0 0; text-align: center; }
.woocommerce-account:not(.logged-in) #customer_login .woocommerce-privacy-policy-text,
.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register > p:not(.form-row) { color: var(--muted); font-size: 13px; line-height: 1.65; }
.woo-content .woocommerce-error,
.woo-content .woocommerce-info,
.woo-content .woocommerce-message { border-top-color: var(--blue); background: var(--blue-soft); }

@media (max-width: 900px) {
  .product-layout, .cart-layout, .checkout-layout, .contact-layout { grid-template-columns: 1fr; }
  .product-gallery { min-height: 480px; }
  .summary-panel { position: static; }
  .detail-panels { grid-template-columns: 1fr 1fr; }
  .content-layout { grid-template-columns: 1fr; gap: 35px; }
  .side-nav { position: static; grid-template-columns: 1fr 1fr; gap: 0 20px; }
}

@media (max-width: 760px) {
  .page-hero { padding: 55px 0 60px; }
  .store-section { padding: 50px 0 75px; }
  .product-gallery { min-height: 350px; padding: 24px; }
  .product-layout { width: 100%; max-width: 100%; grid-template-columns: minmax(0, 1fr); }
  .product-gallery, .product-info { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; }
  .product-info, .cart-panel, .summary-panel, .form-panel, .contact-copy, .contact-form { padding: 25px 20px; }
  .status-line { align-items: flex-start; flex-wrap: wrap; }
  .product-info h1 { width: calc(100vw - 70px); max-width: 100%; white-space: normal; font-size: clamp(34px, 10vw, 42px); line-height: 1.04; overflow-wrap: break-word; }
  .product-price strong { font-size: 38px; }
  .coa-card { grid-template-columns: 42px minmax(0, 1fr); }
  .coa-file-icon { width: 42px; height: 42px; }
  .coa-actions { grid-column: 1 / -1; }
  .coa-actions a { flex: 1; text-align: center; }
  .mini-specs { grid-template-columns: 1fr; border-bottom: 0; }
  .mini-specs div { border-bottom: 1px solid var(--line); }
  .product-buy { grid-template-columns: 1fr; }
  .detail-panels { grid-template-columns: 1fr; }
  .cart-product { grid-template-columns: 78px 1fr; gap: 15px; }
  .cart-product-media { width: 78px; height: 78px; }
  .cart-product-price { grid-column: 2; text-align: left; }
  .field-grid { grid-template-columns: 1fr; }
  .field-wide { grid-column: auto; }
  .side-nav { grid-template-columns: 1fr; }
  .confirmation { padding: 36px 20px; }
  .confirmation h1 { font-size: 34px; }
  .confirmation-actions { flex-direction: column; }
  .woo-hero { padding: 42px 0 46px; }
  .woo-section { padding: 34px 0 58px; }
  .woo-content { padding: 20px 16px; border-radius: 12px; }
  .woo-content .wc-block-checkout { padding: 0; }
  .woocommerce-account:not(.logged-in) .woo-content { padding: 16px; }
  body.woocommerce-account:not(.logged-in) { overflow-x: hidden; }
  .woocommerce-account:not(.logged-in) .woo-section .container { width: calc(100% - 20px); max-width: 100%; }
  .woocommerce-account:not(.logged-in) #customer_login { width: 100% !important; max-width: 100% !important; min-width: 0 !important; grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .woocommerce-account:not(.logged-in) #customer_login > .u-column1 { grid-column: 1 !important; grid-row: 1 !important; }
  .woocommerce-account:not(.logged-in) #customer_login > .u-column2 { grid-column: 1 !important; grid-row: 2 !important; }
  .woocommerce-account:not(.logged-in) #customer_login > .u-column1,
  .woocommerce-account:not(.logged-in) #customer_login > .u-column2,
  .woocommerce-account:not(.logged-in) #customer_login form,
  .woocommerce-account:not(.logged-in) #customer_login .form-row,
  .woocommerce-account:not(.logged-in) #customer_login .input-text,
  .woocommerce-account:not(.logged-in) #customer_login button { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
  .woocommerce-account:not(.logged-in) #customer_login > .u-column1,
  .woocommerce-account:not(.logged-in) #customer_login > .u-column2 { padding: 24px 20px !important; border-radius: 12px; }
  .woocommerce-account:not(.logged-in) #customer_login h2 { font-size: 26px; }
  .woocommerce-account:not(.logged-in) #customer_login .woocommerce-privacy-policy-text { overflow-wrap: anywhere; }
}

@media (max-width: 420px) {
  .store-tier-table { gap: 5px; }
  .store-tier { padding: 11px 4px; }
}
