/* KYM Store Beauty — frontend only */
.kym-store-beauty {
  --kym-shadow: 0 16px 45px rgba(0,0,0,.07);
  --kym-shadow-hover: 0 22px 60px rgba(0,0,0,.12);
  --kym-border: 1px solid rgba(17,17,17,.08);
  --kym-transition: .25s ease;
}

.kym-store-beauty.woocommerce,
.kym-store-beauty.woocommerce-page,
.kym-store-beauty .wp-site-blocks { background: var(--kym-bg); color: var(--kym-text); }

.kym-store-beauty .woocommerce a { text-decoration: none; }
.kym-store-beauty .woocommerce .woocommerce-breadcrumb { color: var(--kym-muted); font-size: 13px; margin-bottom: 22px; }
.kym-store-beauty .woocommerce .woocommerce-breadcrumb a { color: var(--kym-text); }

/* Shop intro */
.kym-shop-intro { background: var(--kym-primary); color:#fff; border-radius: calc(var(--kym-radius) + 8px); padding: clamp(26px,5vw,54px); margin: 0 0 34px; overflow:hidden; position:relative; }
.kym-shop-intro:after { content:""; position:absolute; width:240px; height:240px; right:-70px; top:-90px; border-radius:50%; background:var(--kym-accent); opacity:.22; }
.kym-shop-intro .kym-eyebrow { display:block; font-size:11px; letter-spacing:.18em; font-weight:800; opacity:.72; margin-bottom:10px; }
.kym-shop-intro h1 { color:#fff; font-size:clamp(32px,5vw,58px); line-height:.98; letter-spacing:-.04em; margin:0 0 14px; max-width:760px; }
.kym-shop-intro p { margin:0; max-width:690px; color:rgba(255,255,255,.78); font-size:clamp(15px,2vw,18px); }

/* Top controls */
.kym-store-beauty .woocommerce .woocommerce-result-count { color:var(--kym-muted); font-size:13px; }
.kym-store-beauty .woocommerce .woocommerce-ordering select {
  background:var(--kym-surface); border:var(--kym-border); border-radius:999px; min-height:42px; padding:0 38px 0 16px; color:var(--kym-text); box-shadow:none;
}

/* Product grid */
.kym-store-beauty .woocommerce ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:0; }
.kym-store-beauty .woocommerce ul.products::before,
.kym-store-beauty .woocommerce ul.products::after { display:none; }
.kym-store-beauty .woocommerce ul.products li.product,
.kym-store-beauty .wc-block-grid__product,
.kym-store-beauty .wc-block-product {
  width:auto !important; margin:0 !important; float:none !important; background:var(--kym-surface); border:var(--kym-border); border-radius:var(--kym-radius); padding:12px 12px 16px; overflow:hidden; box-shadow:0 7px 24px rgba(0,0,0,.035); transition:transform var(--kym-transition), box-shadow var(--kym-transition), border-color var(--kym-transition); position:relative;
}
.kym-store-beauty .woocommerce ul.products li.product:hover,
.kym-store-beauty .wc-block-grid__product:hover,
.kym-store-beauty .wc-block-product:hover { transform:translateY(-5px); box-shadow:var(--kym-shadow-hover); border-color:rgba(17,17,17,.13); }
.kym-store-beauty .woocommerce ul.products li.product a img,
.kym-store-beauty .wc-block-grid__product-image img,
.kym-store-beauty .wc-block-components-product-image img { border-radius:calc(var(--kym-radius) - 7px); margin:0 0 16px; aspect-ratio:1/1; object-fit:cover; background:#f2f2f0; transition:transform .45s ease; }
.kym-store-beauty .woocommerce ul.products li.product:hover a img { transform:scale(1.025); }
.kym-store-beauty .woocommerce ul.products li.product .woocommerce-loop-product__title,
.kym-store-beauty .wc-block-grid__product-title,
.kym-store-beauty .wc-block-components-product-name { color:var(--kym-text); font-size:15px; line-height:1.3; font-weight:700; padding:0 4px; margin:0 0 8px; }
.kym-store-beauty .woocommerce ul.products li.product .price,
.kym-store-beauty .wc-block-grid__product-price,
.kym-store-beauty .wc-block-components-product-price { display:block; padding:0 4px; color:var(--kym-primary); font-size:18px; font-weight:800; margin-bottom:12px; }
.kym-store-beauty .woocommerce ul.products li.product .price del { color:var(--kym-muted); opacity:.55; font-size:13px; }
.kym-store-beauty .woocommerce ul.products li.product .price ins { text-decoration:none; }

/* Sale badge */
.kym-store-beauty .woocommerce span.onsale,
.kym-store-beauty .wc-block-components-product-sale-badge { min-height:auto; min-width:auto; line-height:1; padding:8px 10px; border:none; border-radius:999px; background:var(--kym-primary); color:#fff; font-size:11px; font-weight:800; letter-spacing:.03em; top:22px; left:22px; right:auto; margin:0; z-index:3; }

/* Buttons */
.kym-store-beauty .woocommerce a.button,
.kym-store-beauty .woocommerce button.button,
.kym-store-beauty .woocommerce input.button,
.kym-store-beauty .wp-element-button,
.kym-store-beauty .wc-block-components-button:not(.is-link) {
  border:none !important; border-radius:999px !important; min-height:46px; padding:12px 20px !important; background:var(--kym-primary) !important; color:#fff !important; font-weight:750 !important; letter-spacing:0; box-shadow:none !important; transition:transform var(--kym-transition), opacity var(--kym-transition), box-shadow var(--kym-transition);
}
.kym-store-beauty .woocommerce a.button:hover,
.kym-store-beauty .woocommerce button.button:hover,
.kym-store-beauty .woocommerce input.button:hover,
.kym-store-beauty .wp-element-button:hover,
.kym-store-beauty .wc-block-components-button:not(.is-link):hover { transform:translateY(-1px); opacity:.92; box-shadow:0 10px 25px rgba(0,0,0,.12) !important; }
.kym-store-beauty .woocommerce ul.products li.product .button { width:100%; text-align:center; margin:4px 0 0; background:var(--kym-accent) !important; color:#111 !important; }

/* Pagination */
.kym-store-beauty .woocommerce nav.woocommerce-pagination ul { border:0; display:flex; gap:8px; }
.kym-store-beauty .woocommerce nav.woocommerce-pagination ul li { border:0; }
.kym-store-beauty .woocommerce nav.woocommerce-pagination ul li a,
.kym-store-beauty .woocommerce nav.woocommerce-pagination ul li span { width:42px; height:42px; display:grid; place-items:center; padding:0; border-radius:50%; background:var(--kym-surface); color:var(--kym-text); border:var(--kym-border); }
.kym-store-beauty .woocommerce nav.woocommerce-pagination ul li span.current { background:var(--kym-primary); color:#fff; }

/* Single product */
.kym-store-beauty.single-product .product { background:var(--kym-surface); border:var(--kym-border); border-radius:calc(var(--kym-radius) + 8px); padding:clamp(18px,3vw,36px); box-shadow:var(--kym-shadow); }
.kym-store-beauty.single-product div.product div.images img { border-radius:var(--kym-radius); }
.kym-store-beauty.single-product div.product .product_title { color:var(--kym-text); font-size:clamp(28px,4vw,46px); line-height:1.03; letter-spacing:-.035em; margin-bottom:12px; }
.kym-store-beauty.single-product div.product p.price,
.kym-store-beauty.single-product div.product span.price { color:var(--kym-primary); font-size:clamp(24px,3vw,34px); font-weight:850; }
.kym-store-beauty.single-product .woocommerce-product-details__short-description { color:var(--kym-muted); font-size:15px; line-height:1.7; }
.kym-store-beauty.single-product .quantity .qty,
.kym-store-beauty .woocommerce-cart-form .quantity .qty { border:var(--kym-border); border-radius:999px; min-height:46px; background:#fff; }
.kym-store-beauty.single-product .product_meta { border-top:var(--kym-border); padding-top:18px; margin-top:22px; color:var(--kym-muted); font-size:12px; }
.kym-store-beauty.single-product .woocommerce-tabs { margin-top:34px; }
.kym-store-beauty.single-product .woocommerce-tabs ul.tabs { padding:0 !important; display:flex; gap:8px; flex-wrap:wrap; }
.kym-store-beauty.single-product .woocommerce-tabs ul.tabs:before { display:none !important; }
.kym-store-beauty.single-product .woocommerce-tabs ul.tabs li { border:0 !important; border-radius:999px !important; margin:0 !important; background:#f0f0ed !important; padding:0 18px !important; }
.kym-store-beauty.single-product .woocommerce-tabs ul.tabs li.active { background:var(--kym-primary) !important; }
.kym-store-beauty.single-product .woocommerce-tabs ul.tabs li.active a { color:#fff !important; }
.kym-store-beauty.single-product .woocommerce-tabs .panel { color:var(--kym-muted); line-height:1.75; }

/* Trust */
.kym-trust { display:flex; gap:10px; align-items:center; margin:16px 0 0; padding:13px 15px; border-radius:14px; background:rgba(0,0,0,.035); color:var(--kym-muted); font-size:12px; line-height:1.4; }
.kym-trust-dot { width:9px; height:9px; border-radius:50%; background:var(--kym-accent); box-shadow:0 0 0 5px color-mix(in srgb, var(--kym-accent) 18%, transparent); flex:0 0 auto; }

/* Forms */
.kym-store-beauty .woocommerce form .form-row input.input-text,
.kym-store-beauty .woocommerce form .form-row textarea,
.kym-store-beauty .woocommerce form .form-row select,
.kym-store-beauty .select2-container--default .select2-selection--single,
.kym-store-beauty .wc-block-components-text-input input,
.kym-store-beauty .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
  min-height:50px; border:1px solid rgba(17,17,17,.13) !important; border-radius:13px !important; background:#fff !important; color:var(--kym-text) !important; box-shadow:none !important;
}
.kym-store-beauty .woocommerce form .form-row textarea { min-height:110px; padding:14px; }
.kym-store-beauty .woocommerce form .form-row input.input-text:focus,
.kym-store-beauty .wc-block-components-text-input input:focus { outline:none; border-color:var(--kym-primary) !important; box-shadow:0 0 0 3px rgba(0,0,0,.06) !important; }

/* Notices */
.kym-store-beauty .woocommerce-message,
.kym-store-beauty .woocommerce-info,
.kym-store-beauty .woocommerce-error { background:var(--kym-surface); border:var(--kym-border); border-top:0; border-radius:14px; color:var(--kym-text); box-shadow:0 8px 30px rgba(0,0,0,.04); }
.kym-store-beauty .woocommerce-message:before,
.kym-store-beauty .woocommerce-info:before { color:var(--kym-primary); }
.kym-store-beauty .woocommerce-error:before { color:#b42318; }

/* Classic cart */
.kym-store-beauty .woocommerce-cart-form,
.kym-store-beauty .cart_totals,
.kym-store-beauty .woocommerce-checkout-review-order,
.kym-store-beauty .woocommerce-checkout #customer_details,
.kym-store-beauty .woocommerce-order,
.kym-store-beauty .woocommerce-MyAccount-content {
  background:var(--kym-surface); border:var(--kym-border); border-radius:var(--kym-radius); padding:clamp(16px,2.6vw,28px); box-shadow:0 10px 35px rgba(0,0,0,.045);
}
.kym-store-beauty table.shop_table { border:0 !important; border-collapse:separate !important; border-spacing:0; }
.kym-store-beauty table.shop_table th { color:var(--kym-muted); text-transform:uppercase; font-size:11px; letter-spacing:.08em; }
.kym-store-beauty table.shop_table td,
.kym-store-beauty table.shop_table th { border-color:rgba(17,17,17,.07) !important; }
.kym-store-beauty .woocommerce-cart-form img { border-radius:12px; width:74px; }
.kym-store-beauty .cart-collaterals .cart_totals { float:none; width:100%; }
.kym-store-beauty .wc-proceed-to-checkout a.checkout-button { width:100%; font-size:16px !important; }

/* Classic checkout */
.kym-store-beauty.woocommerce-checkout form.checkout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); gap:28px; align-items:start; }
.kym-store-beauty.woocommerce-checkout form.checkout > h3 { grid-column:1; }
.kym-store-beauty.woocommerce-checkout #customer_details { grid-column:1; grid-row:auto / span 3; width:100%; }
.kym-store-beauty.woocommerce-checkout #order_review_heading { grid-column:2; margin:0; }
.kym-store-beauty.woocommerce-checkout #order_review { grid-column:2; }
.kym-store-beauty #payment { background:#f4f4f1 !important; border-radius:16px !important; }
.kym-store-beauty #payment ul.payment_methods { border-color:rgba(17,17,17,.08) !important; }
.kym-store-beauty #payment div.payment_box { background:#fff !important; color:var(--kym-muted) !important; border-radius:12px !important; }
.kym-store-beauty #payment div.payment_box:before { display:none; }
.kym-store-beauty #place_order { width:100%; min-height:54px; background:var(--kym-accent) !important; color:#111 !important; }

/* Blocks cart + checkout */
.kym-store-beauty .wc-block-cart,
.kym-store-beauty .wc-block-checkout { color:var(--kym-text); }
.kym-store-beauty .wc-block-cart__main,
.kym-store-beauty .wc-block-cart__sidebar,
.kym-store-beauty .wc-block-checkout__main,
.kym-store-beauty .wc-block-checkout__sidebar {
  background:var(--kym-surface); border:var(--kym-border); border-radius:var(--kym-radius); padding:clamp(15px,2.3vw,26px); box-shadow:0 10px 35px rgba(0,0,0,.045); height:max-content;
}
.kym-store-beauty .wc-block-components-sidebar-layout { gap:28px; }
.kym-store-beauty .wc-block-components-order-summary-item__image img { border-radius:12px; }
.kym-store-beauty .wc-block-components-totals-wrapper { border-color:rgba(17,17,17,.08) !important; }
.kym-store-beauty .wc-block-components-checkout-place-order-button { min-height:56px; background:var(--kym-accent) !important; color:#111 !important; }
.kym-store-beauty .wc-block-components-radio-control-accordion-option { border-color:rgba(17,17,17,.09) !important; border-radius:13px; margin-bottom:8px; }

/* My Account */
.kym-store-beauty .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:8px; background:var(--kym-surface); border:var(--kym-border); border-radius:var(--kym-radius); }
.kym-store-beauty .woocommerce-MyAccount-navigation li a { display:block; padding:12px 14px; border-radius:12px; color:var(--kym-text); font-weight:650; }
.kym-store-beauty .woocommerce-MyAccount-navigation li.is-active a,
.kym-store-beauty .woocommerce-MyAccount-navigation li a:hover { background:var(--kym-primary); color:#fff; }

/* Thank you */
.kym-thankyou-card { display:flex; flex-direction:column; gap:4px; margin:16px 0 24px; padding:20px; background:var(--kym-primary); color:#fff; border-radius:var(--kym-radius); }
.kym-thankyou-card strong { font-size:18px; }
.kym-thankyou-card span { opacity:.78; }

@media (max-width:1100px) {
  .kym-store-beauty .woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
}
@media (max-width:900px) {
  .kym-store-beauty.woocommerce-checkout form.checkout { display:block; }
  .kym-store-beauty.woocommerce-checkout #customer_details,
  .kym-store-beauty.woocommerce-checkout #order_review { margin-bottom:22px; }
}
@media (max-width:760px) {
  .kym-store-beauty .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .kym-store-beauty .woocommerce ul.products li.product { padding:9px 9px 13px; }
  .kym-store-beauty .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:13px; }
  .kym-store-beauty .woocommerce ul.products li.product .price { font-size:16px; }
  .kym-store-beauty .woocommerce ul.products li.product .button { font-size:12px; padding:9px 12px !important; min-height:42px; }
  .kym-store-beauty.single-product .product { padding:14px; }
  .kym-store-beauty .wc-block-cart__main,
  .kym-store-beauty .wc-block-cart__sidebar,
  .kym-store-beauty .wc-block-checkout__main,
  .kym-store-beauty .wc-block-checkout__sidebar { padding:14px; }
}
@media (max-width:430px) {
  .kym-shop-intro { border-radius:20px; padding:24px 20px; }
  .kym-shop-intro h1 { font-size:34px; }
}
