/*
Theme Name: Karigar Kutir
Theme URI: https://karigarkutir.in
Author: Karigar Kutir
Description: Handmade candles & home decor - quiet, warm, made to last. Plaster identity theme. Auto-creates Home, About, Contact and all policy pages on activation - ready for payment-gateway KYC.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: karigar-kutir
*/

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  :root {
    --bg:#E9E4DA; --surface:#F3EFE7; --ink:#2B271F;
    --muted:#8C8478; --accent:#5C5247; --soft:#B9AE9E;
    --line:#D6D0C4; --hair:#CFC8BB;
  }
  html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
  body { font-family:'Mulish',system-ui,sans-serif; background:var(--bg); color:var(--ink); line-height:1.6; -webkit-font-smoothing:antialiased; }
  .serif { font-family:'Fraunces',serif; }
  a { color:inherit; text-decoration:none; }
  .wrap { max-width:1180px; margin:0 auto; padding:0 32px; }
  .label { font-size:11px; font-weight:600; letter-spacing:0.22em; text-transform:uppercase; color:var(--muted); }

  /* ---------- header ---------- */
  header.site {
    position:sticky; top:0; z-index:40; background:rgba(233,228,218,.86);
    backdrop-filter:blur(8px); border-bottom:1px solid var(--hair);
  }
  header.site .bar { display:flex; align-items:center; justify-content:space-between; padding:14px 0; gap:20px; }
  .brand { display:flex; align-items:center; gap:12px; }
  .brand .seal-sm { width:34px; height:34px; flex-shrink:0; }
  .brand .wm { font-family:'Fraunces',serif; font-weight:300; font-size:26px; letter-spacing:-0.01em; line-height:1; }
  .brand .wm sup { font-size:9px; font-weight:500; vertical-align:super; }
  nav.main { display:flex; align-items:center; gap:26px; }
  nav.main a { font-size:13px; font-weight:600; letter-spacing:0.04em; color:var(--ink); transition:color .15s; }
  nav.main a:hover { color:var(--accent); }
  .wa-btn {
    font-family:'Mulish',sans-serif; font-size:13px; font-weight:600; letter-spacing:0.03em;
    background:var(--ink); color:var(--surface); padding:10px 18px; border-radius:6px; border:1.5px solid var(--ink);
    transition:transform .15s, background .15s; cursor:pointer;
  }
  .wa-btn:hover { transform:translateY(-1px); }
  .menu-toggle { display:none; }

  /* ---------- opening split ---------- */
  .split { display:grid; grid-template-columns:1fr 1fr; min-height:calc(100vh - 64px); }
  .split-intro { grid-column:1 / -1; text-align:center; padding:54px 32px 18px; }
  .split-intro .eyebrow { margin-bottom:16px; }
  .split-intro h1 { font-family:'Fraunces',serif; font-weight:300; font-size:clamp(34px,5.5vw,60px); line-height:1.04; letter-spacing:-0.02em; margin-bottom:14px; }
  .split-intro p { font-family:'Fraunces',serif; font-style:italic; font-size:clamp(16px,2.2vw,21px); color:var(--accent); }

  .panel { position:relative; display:flex; flex-direction:column; }
  .panel-figure {
    flex:1; min-height:340px; background:var(--surface);
    display:flex; align-items:center; justify-content:center; overflow:hidden;
    border-top:1px solid var(--hair);
  }
  .panel:first-of-type .panel-figure { border-right:1px solid var(--hair); }
  .panel-figure .art { width:46%; max-width:230px; color:var(--accent); opacity:.92; }
  /* replace .panel-figure background with a real product photo:
     background:url('candles-hero.jpg') center/cover; — then hide .art */
  .panel-body { padding:36px 8% 48px; text-align:center; }
  .panel:first-of-type .panel-body { border-right:1px solid var(--hair); }
  .panel-body h2 { font-family:'Fraunces',serif; font-weight:400; font-size:clamp(28px,3.6vw,40px); letter-spacing:-0.01em; margin-bottom:10px; }
  .panel-body p { font-size:14.5px; color:var(--muted); max-width:34ch; margin:0 auto 22px; }
  .ghost-btn {
    display:inline-block; font-family:'Mulish',sans-serif; font-size:13.5px; font-weight:600;
    letter-spacing:0.06em; text-transform:uppercase; color:var(--ink);
    border:1.5px solid var(--ink); padding:13px 30px; border-radius:6px;
    transition:background .18s, color .18s, transform .15s; cursor:pointer;
  }
  .ghost-btn:hover { background:var(--ink); color:var(--surface); transform:translateY(-1px); }

  /* ---------- category sections ---------- */
  .cat { padding:96px 0; border-top:1px solid var(--hair); }
  .cat-head { max-width:60ch; margin-bottom:44px; }
  .cat-head .num { font-family:'Fraunces',serif; font-style:italic; color:var(--accent); font-size:15px; display:block; margin-bottom:10px; }
  .cat-head h2 { font-family:'Fraunces',serif; font-weight:300; font-size:clamp(32px,5vw,52px); letter-spacing:-0.02em; line-height:1.02; margin-bottom:14px; }
  .cat-head p { font-size:15px; color:var(--muted); max-width:48ch; }

  .group { margin-top:54px; }
  .group:first-of-type { margin-top:0; }
  .group-label { display:flex; align-items:center; gap:16px; margin-bottom:24px; }
  .group-label .gl { font-size:11px; font-weight:600; letter-spacing:0.22em; text-transform:uppercase; }
  .group-label .gl-rule { flex:1; height:1px; background:var(--hair); }
  .group-label .gl-note { font-size:11px; font-style:italic; color:var(--soft); font-family:'Fraunces',serif; }

  .cards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .card { background:var(--surface); border:1px solid var(--line); border-radius:6px; overflow:hidden; display:flex; flex-direction:column; transition:transform .18s, box-shadow .18s; }
  .card:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgba(43,39,31,.08); }
  .card-fig {
    aspect-ratio:4/3; background:var(--bg); display:flex; align-items:center; justify-content:center;
    border-bottom:1px solid var(--line);
  }
  /* swap for real photo: .card-fig { background:url('product.jpg') center/cover; } and remove the icon */
  .card-fig .art { width:34%; max-width:80px; color:var(--soft); }
  .card-body { padding:20px 20px 22px; display:flex; flex-direction:column; flex:1; }
  .card-name { font-family:'Fraunces',serif; font-weight:500; font-size:20px; letter-spacing:-0.01em; margin-bottom:4px; }
  .card-desc { font-size:13px; color:var(--muted); margin-bottom:16px; flex:1; }
  .card-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .price { font-family:'Fraunces',serif; font-size:19px; font-weight:500; }
  .price small { font-size:12px; color:var(--muted); font-family:'Mulish',sans-serif; font-weight:600; }
  .order {
    font-size:12px; font-weight:600; letter-spacing:0.04em; color:var(--accent);
    border:1.5px solid var(--accent); padding:8px 14px; border-radius:5px;
    transition:background .15s, color .15s; cursor:pointer;
  }
  .order:hover { background:var(--accent); color:var(--surface); }

  /* ---------- story strip ---------- */
  .story { background:var(--ink); color:var(--surface); padding:92px 0; }
  .story .wrap { display:grid; grid-template-columns:200px 1fr; gap:48px; align-items:center; }
  .story .seal-lg { width:180px; height:180px; }
  .story h3 { font-family:'Fraunces',serif; font-weight:300; font-size:clamp(26px,3.6vw,38px); line-height:1.12; letter-spacing:-0.015em; margin-bottom:16px; }
  .story p { font-size:15px; color:var(--soft); max-width:54ch; margin-bottom:12px; }
  .story p b { color:var(--surface); font-weight:600; }

  /* ---------- footer ---------- */
  footer.site { padding:64px 0 72px; border-top:1px solid var(--hair); }
  footer.site .grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; }
  footer .f-wm { font-family:'Fraunces',serif; font-weight:300; font-size:34px; letter-spacing:-0.01em; margin-bottom:10px; }
  footer .f-wm sup { font-size:11px; vertical-align:super; }
  footer .f-tag { font-family:'Fraunces',serif; font-style:italic; color:var(--accent); font-size:16px; margin-bottom:8px; }
  footer .f-desc { font-size:13px; color:var(--muted); max-width:34ch; }
  footer h4 { font-size:11px; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--muted); margin-bottom:14px; }
  footer ul { list-style:none; }
  footer li { font-size:14px; margin-bottom:9px; }
  footer li a:hover { color:var(--accent); }
  footer .legal { margin-top:44px; padding-top:22px; border-top:1px solid var(--hair); font-size:12px; color:var(--muted); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; }

  /* toast */
  .toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(20px);
    background:var(--ink); color:var(--surface); padding:11px 18px; border-radius:999px;
    font-size:13px; font-weight:600; opacity:0; pointer-events:none; transition:opacity .2s, transform .2s; z-index:60; }
  .toast.show { opacity:1; transform:translateX(-50%) translateY(0); }

  /* floating WhatsApp order button */
  .wa-float {
    position:fixed; right:24px; bottom:24px; z-index:55;
    display:inline-flex; align-items:center; gap:10px;
    background:var(--ink); color:var(--surface);
    font-family:'Mulish',sans-serif; font-size:14px; font-weight:600; letter-spacing:.02em;
    padding:14px 20px; border-radius:999px; border:1.5px solid var(--ink);
    box-shadow:0 10px 28px rgba(43,39,31,.22);
    transition:transform .16s, box-shadow .16s; cursor:pointer;
  }
  .wa-float:hover { transform:translateY(-2px); box-shadow:0 14px 34px rgba(43,39,31,.28); }
  .wa-float svg { width:20px; height:20px; flex-shrink:0; }
  .wa-float .lbl { white-space:nowrap; }
  @media (max-width:560px) {
    .wa-float { padding:14px; right:18px; bottom:18px; }
    .wa-float .lbl { display:none; }
  }

  @media (max-width:860px) {
    nav.main { display:none; }
    .split { grid-template-columns:1fr; }
    .panel:first-of-type .panel-figure,
    .panel:first-of-type .panel-body { border-right:none; }
    .split { min-height:0; }
    .cards { grid-template-columns:1fr 1fr; }
    .story .wrap { grid-template-columns:1fr; gap:28px; text-align:center; }
    .story .seal-lg { margin:0 auto; }
    .story p { margin-left:auto; margin-right:auto; }
    footer.site .grid { grid-template-columns:1fr 1fr; gap:28px; }
  }
  @media (max-width:560px) { .cards { grid-template-columns:1fr; } }
  @media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto;} *{transition:none!important;} }

  /* ---- content pages (about / contact / policies) ---- */
  .page-hero{padding:72px 0 40px;border-bottom:1px solid var(--hair)}
  .page-hero .eyebrow{margin-bottom:14px}
  .page-hero h1{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(34px,5.5vw,56px);letter-spacing:-.02em;line-height:1.03}
  .prose{padding:54px 0 80px}
  .prose .col{max-width:74ch}
  .prose h2{font-family:'Fraunces',serif;font-weight:500;font-size:24px;letter-spacing:-.01em;margin:38px 0 12px}
  .prose h2:first-child{margin-top:0}
  .prose h3{font-family:'Fraunces',serif;font-weight:500;font-size:18px;margin:24px 0 8px}
  .prose p{font-size:15.5px;color:var(--ink);margin-bottom:14px;line-height:1.65}
  .prose ul{margin:0 0 14px 20px}
  .prose li{font-size:15.5px;margin-bottom:8px;line-height:1.6}
  .prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
  .prose .ph{background:#E0D9CB;border-radius:3px;padding:0 5px;font-weight:600;color:var(--accent)}
  .prose .lead{font-family:'Fraunces',serif;font-style:italic;font-size:19px;color:var(--accent);margin-bottom:26px}
  .prose .meta{font-size:13px;color:var(--muted);margin-bottom:24px}
  .info-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:30px 0}
  .info-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:24px}
  .info-card h3{font-family:'Fraunces',serif;font-weight:500;font-size:18px;margin:0 0 8px}
  .info-card p{font-size:14.5px;color:var(--muted);margin-bottom:4px}
  .info-card a{color:var(--accent)}
  /* footer 4-col + policies (already styled in base, ensure 4 cols) */
  footer.site .grid{grid-template-columns:1.6fr 1fr 1fr 1fr}
  /* floating WhatsApp */
  .wa-float{position:fixed;right:24px;bottom:24px;z-index:55;display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:var(--surface);font-family:'Mulish',sans-serif;font-size:14px;font-weight:600;letter-spacing:.02em;padding:14px 20px;border-radius:999px;border:1.5px solid var(--ink);box-shadow:0 10px 28px rgba(43,39,31,.22);transition:transform .16s,box-shadow .16s;cursor:pointer}
  .wa-float:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(43,39,31,.28)}
  .wa-float svg{width:20px;height:20px;flex-shrink:0}
  @media(max-width:860px){footer.site .grid{grid-template-columns:1fr 1fr;gap:28px}.info-grid{grid-template-columns:1fr}}
  @media(max-width:560px){.wa-float{padding:14px}.wa-float .lbl{display:none}}
