/* ============================================================================
   YWF Shop — storefront skin. Brings WooCommerce (shop, category, product, cart,
   checkout, account) in line with the Yoga With Florentia brand: Poppins, cream/black,
   square buttons, generous spacing. Brand colours arrive as :root vars from PHP.
   Scoped to .ywf-shop-skin so the rest of the theme is untouched.
   ============================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

.ywf-shop-skin,
.ywf-shop-skin.woocommerce,
.ywf-shop-grid-wrap {
  --c-black: var(--ywf-black,#161616); --c-text: var(--ywf-text,#2A2A2A);
  --c-soft: var(--ywf-soft,#4A4540); --c-mute: var(--ywf-mute,#8A857F);
  --c-cream: var(--ywf-cream,#EDE5DA); --c-cream-deep: var(--ywf-cream-deep,#DCD0BC);
  --c-line: var(--ywf-line,#E5DFD6); --c-bg: var(--ywf-bg,#F4F1EC); --c-card: var(--ywf-card,#FBFAF7);
  font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--c-text);
}
.ywf-shop-skin h1,.ywf-shop-skin h2,.ywf-shop-skin h3,
.ywf-shop-grid-wrap h2,.ywf-shop-grid-wrap h3 {
  font-family:'Poppins',sans-serif; font-weight:800; letter-spacing:-.015em; text-transform:uppercase; color:var(--c-black);
}

/* ---------- buttons ---------- */
.ywf-shop-skin .button,
.ywf-shop-skin a.button,
.ywf-shop-skin button.button,
.ywf-shop-skin .wc-block-components-button,
.ywf-shop-grid-wrap .button,
.ywf-shop-skin input[type="submit"].button {
  background:var(--c-cream) !important; color:var(--c-black) !important; border:none !important; border-radius:0 !important;
  text-transform:uppercase; letter-spacing:.22em; font-size:.78rem; font-weight:600; padding:1.05rem 2.3rem !important;
  line-height:1.2; transition:background .2s,color .2s; box-shadow:none !important;
}
.ywf-shop-skin .button:hover,.ywf-shop-skin a.button:hover,.ywf-shop-grid-wrap .button:hover,
.ywf-shop-skin button.button:hover { background:var(--c-black) !important; color:#fff !important; }
.ywf-shop-skin .button.alt,
.ywf-shop-skin button.single_add_to_cart_button,
.ywf-shop-skin .checkout-button {
  background:var(--c-black) !important; color:#fff !important;
}
.ywf-shop-skin .button.alt:hover,.ywf-shop-skin button.single_add_to_cart_button:hover { background:#000 !important; }

/* ---------- product grid ---------- */
.ywf-shop-skin ul.products,
.ywf-shop-grid-wrap ul.products { display:grid; gap:2rem; margin:0; padding:0; list-style:none; }
.ywf-shop-grid-wrap ul.products.columns-3, .ywf-shop-skin ul.products.columns-3 { grid-template-columns:repeat(3,1fr); }
.ywf-shop-grid-wrap ul.products.columns-4, .ywf-shop-skin ul.products.columns-4 { grid-template-columns:repeat(4,1fr); }
.ywf-shop-grid-wrap ul.products.columns-2, .ywf-shop-skin ul.products.columns-2 { grid-template-columns:repeat(2,1fr); }
@media (max-width:860px){ .ywf-shop-grid-wrap ul.products, .ywf-shop-skin ul.products { grid-template-columns:repeat(2,1fr) !important; gap:1.2rem; } }
@media (max-width:520px){ .ywf-shop-grid-wrap ul.products, .ywf-shop-skin ul.products { grid-template-columns:1fr !important; } }
.ywf-shop-skin ul.products li.product,
.ywf-shop-grid-wrap ul.products li.product { background:var(--c-card); border:1px solid var(--c-line); padding:14px 14px 22px; margin:0 !important; width:auto !important; text-align:center; transition:box-shadow .25s,transform .25s; }
.ywf-shop-skin ul.products li.product:hover { box-shadow:0 14px 40px rgba(22,22,22,.08); transform:translateY(-3px); }
.ywf-shop-skin ul.products li.product img { margin:0 0 1rem; }
.ywf-shop-skin ul.products li.product .woocommerce-loop-product__title {
  font-size:1rem; font-weight:700; letter-spacing:-.01em; text-transform:none; color:var(--c-black); padding:.4rem 0; }
.ywf-shop-skin ul.products li.product .price { color:var(--c-soft); font-weight:600; }
.ywf-shop-skin ul.products li.product .price del { color:var(--c-mute); font-weight:400; opacity:.7; }
.ywf-shop-skin ul.products li.product .price ins { text-decoration:none; color:var(--c-black); }
.ywf-shop-skin .onsale {
  background:var(--c-black); color:#fff; border-radius:0; text-transform:uppercase; letter-spacing:.14em; font-size:.62rem; font-weight:700; min-height:auto; min-width:auto; padding:.35rem .6rem; }

/* ---------- single product ---------- */
.ywf-shop-skin .product .product_title { font-size:2rem; margin-bottom:.6rem; }
.ywf-shop-skin .product p.price, .ywf-shop-skin .product span.price { font-size:1.3rem; color:var(--c-black); font-weight:600; }
.ywf-shop-skin .product p.price del { color:var(--c-mute); font-weight:400; }
.ywf-shop-skin .stock.in-stock { color:var(--c-soft); }
.ywf-shop-skin .stock.out-of-stock { color:var(--c-mute); }
.ywf-shop-skin .quantity input.qty { border:1px solid var(--c-line); border-radius:0; padding:.7rem; }

/* ---------- product tabs ---------- */
.ywf-shop-skin .woocommerce-tabs ul.tabs { padding:0; margin:0 0 1.6rem; display:flex; gap:0; flex-wrap:wrap; border-bottom:1px solid var(--c-line); }
.ywf-shop-skin .woocommerce-tabs ul.tabs::before { border:none; }
.ywf-shop-skin .woocommerce-tabs ul.tabs li {
  background:transparent; border:none; border-radius:0; margin:0; padding:0; }
.ywf-shop-skin .woocommerce-tabs ul.tabs li::before,
.ywf-shop-skin .woocommerce-tabs ul.tabs li::after { display:none; }
.ywf-shop-skin .woocommerce-tabs ul.tabs li a {
  padding:1rem 1.4rem; font-size:.74rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--c-mute) !important; border-bottom:2px solid transparent; }
.ywf-shop-skin .woocommerce-tabs ul.tabs li.active a { color:var(--c-black) !important; border-bottom-color:var(--c-black); }
.ywf-shop-skin .woocommerce-Tabs-panel { line-height:1.7; color:var(--c-soft); }
.ywf-shop-skin .woocommerce-Tabs-panel h2 { font-size:1.1rem; margin-bottom:1rem; }

/* spec list (Details tab) */
.ywf-shop-spec { list-style:none; margin:0; padding:0; max-width:520px; }
.ywf-shop-spec li { display:flex; justify-content:space-between; gap:1rem; padding:.7rem 0; border-bottom:1px solid var(--c-line); }
.ywf-shop-spec-k { color:var(--c-mute); text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; font-weight:600; }
.ywf-shop-spec-v { color:var(--c-black); font-weight:500; }

/* ---------- Q&A accordion (matches the services page) ---------- */
.ywf-shop-accordion { max-width:760px; }
.ywf-shop-acc-item { border-bottom:1px solid var(--c-line); }
.ywf-shop-acc-q { width:100%; display:flex; justify-content:space-between; align-items:center; gap:1rem;
  background:none; border:none; cursor:pointer; padding:1.25rem 0; font-family:inherit; font-size:1rem; font-weight:600; color:var(--c-black); text-align:left; }
.ywf-shop-acc-ico { font-size:1.4rem; color:var(--c-mute); transition:transform .25s; line-height:1; }
.ywf-shop-acc-q[aria-expanded="true"] .ywf-shop-acc-ico { transform:rotate(45deg); }
.ywf-shop-acc-a { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.ywf-shop-acc-a-inner { padding:0 0 1.4rem; color:var(--c-soft); line-height:1.7; }

/* ---------- hero (category + landing pages) ---------- */
.ywf-shop-hero { display:grid; gap:2rem; align-items:center; margin:0 0 2.4rem; }
.ywf-shop-hero--cat, .ywf-shop-hero--page { grid-template-columns:1fr; text-align:center; padding:2.5rem 1rem; }
.ywf-shop-hero--cat.has-media { grid-template-columns:1.1fr .9fr; text-align:left; }
.ywf-shop-hero-title { font-size:2.4rem; letter-spacing:-.02em; margin:0 0 1rem; }
.ywf-shop-hero-text { color:var(--c-soft); font-size:1.05rem; line-height:1.7; max-width:60ch; margin:0 auto; }
.ywf-shop-hero-media img { width:100%; height:auto; display:block; }

/* ---------- cart / checkout / account ---------- */
.ywf-shop-skin table.cart, .ywf-shop-skin .cart-collaterals, .ywf-shop-skin .woocommerce-checkout #payment {
  background:transparent; }
.ywf-shop-skin .cart_totals h2, .ywf-shop-skin #order_review_heading, .ywf-shop-skin .woocommerce-checkout h3 { font-size:1.1rem; }
.ywf-shop-skin form .form-row input.input-text, .ywf-shop-skin form .form-row textarea, .ywf-shop-skin select,
.ywf-shop-skin .select2-container--default .select2-selection--single {
  border:1px solid var(--c-line) !important; border-radius:0 !important; padding:.85rem 1rem !important; background:#fff; }
.ywf-shop-skin #payment, .ywf-shop-skin .woocommerce-checkout-review-order-table { border:1px solid var(--c-line); }
.ywf-shop-skin .woocommerce-info, .ywf-shop-skin .woocommerce-message {
  border-top-color:var(--c-black); background:var(--c-card); }
.ywf-shop-skin .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; border:1px solid var(--c-line); }
.ywf-shop-skin .woocommerce-MyAccount-navigation li { border-bottom:1px solid var(--c-line); }
.ywf-shop-skin .woocommerce-MyAccount-navigation li a { display:block; padding:.9rem 1.2rem; color:var(--c-soft); text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; font-weight:600; text-decoration:none; }
.ywf-shop-skin .woocommerce-MyAccount-navigation li.is-active a { background:var(--c-black); color:#fff; }

.ywf-shop-link { color:var(--c-black); font-weight:600; text-decoration:underline; }
