/*
Theme Name: Purrch Sales Theme
Theme URI: https://purrch.example
Author: Purrch
Description: Minimalist sales front for Purrch with parallax sections, language selector and WordPress integration points for Purrch Orders.
Version: 0.20.0
Text Domain: purrch-sales-theme
*/
:root{
  --bg:#ffffff;
  --paper:#f7f5f1;
  --ink:#121212;
  --muted:#66615b;
  --line:#e7e1d8;
  --soft:#fbfaf7;
  --wood:#8b653f;
  --radius:28px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;width:100%;overflow-x:hidden}
body{margin:0;width:100%;overflow-x:hidden;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);letter-spacing:-.02em}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px clamp(18px,4vw,48px);transition:.3s;background:rgba(255,255,255,.74);backdrop-filter:blur(18px);border-bottom:1px solid rgba(18,18,18,.06)}
.site-header.is-scrolled{background:rgba(255,255,255,.92);box-shadow:0 12px 40px rgba(0,0,0,.06)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800}.brand-mark{width:34px;height:34px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-weight:800}
.nav{display:flex;gap:26px;font-size:14px;color:var(--muted);font-weight:600}.nav a:hover{color:var(--ink)}
.language-switch{display:flex;gap:6px;padding:4px;border:1px solid var(--line);border-radius:99px;background:white}.language-switch button{border:0;background:transparent;border-radius:99px;padding:7px 9px;font-weight:700;font-size:11px;color:var(--muted);cursor:pointer}.language-switch button.is-active{background:var(--ink);color:white}
.parallax-scene{position:relative;min-height:100svh;overflow:hidden;isolation:isolate}.scene-bg{position:absolute;inset:-8vh -4vw;background-size:cover;background-position:center;transform:translate3d(0,0,0) scale(1.04);will-change:transform;z-index:-3}.scene-veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.82) 34%,rgba(255,255,255,.52) 62%,rgba(255,255,255,.28) 100%);z-index:-2}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,740px);align-items:center;padding:120px clamp(18px,5vw,72px) 60px}.hero-copy{max-width:610px;width:100%;min-width:0;z-index:3}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800;color:var(--wood);margin:0 0 18px}.hero h1,.static-section h2,.section-head h2{font-size:clamp(48px,8vw,110px);line-height:.88;margin:0;letter-spacing:-.075em}.lead{font-size:clamp(18px,2vw,24px);line-height:1.45;color:var(--muted);max-width:620px;margin:26px 0 0}.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;font-weight:800;font-size:14px;border:1px solid var(--ink);transition:.25s;max-width:100%;text-align:center;white-space:normal}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 15px 36px rgba(0,0,0,.16)}.btn-ghost{background:rgba(255,255,255,.72)}.trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.trust-row span{font-size:12px;font-weight:700;color:#5f5a54;border:1px solid rgba(18,18,18,.1);background:rgba(255,255,255,.7);border-radius:999px;padding:9px 12px}.scene-product{position:absolute;z-index:2;will-change:transform}.hero-product{right:2vw;bottom:-3vw;width:min(55vw,820px);filter:drop-shadow(0 32px 50px rgba(0,0,0,.18))}
.static-section{padding:clamp(72px,10vw,140px) clamp(18px,5vw,72px);background:white}.section-grid{max-width:var(--max);margin:auto;display:grid;gap:clamp(34px,7vw,100px)}.two-cols{grid-template-columns:1fr 1fr}.static-section h2,.section-head h2{font-size:clamp(38px,6vw,82px);line-height:.92}.static-section p{font-size:18px;line-height:1.7;color:var(--muted);margin:0 0 20px}.note{padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--soft)}
.editions-section{background:white}.section-head{max-width:var(--max);margin:0 auto;padding:110px clamp(18px,5vw,72px) 40px}.section-head.narrow{max-width:820px;text-align:center}.split-scene{min-height:92svh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:70px clamp(18px,5vw,72px);background:var(--soft)}.split-scene .scene-bg{opacity:.18;filter:saturate(.7);background-attachment:fixed}.white-panel{position:absolute;inset:8%;background:rgba(255,255,255,.82);border:1px solid rgba(18,18,18,.08);border-radius:42px;z-index:-1;box-shadow:0 30px 100px rgba(0,0,0,.06)}.edition-product{left:8vw;bottom:6vh;width:min(45vw,680px);max-height:82vh;object-fit:contain;filter:drop-shadow(0 26px 46px rgba(0,0,0,.16))}.is-reverse .edition-product{left:auto;right:8vw}.edition-copy{position:relative;z-index:4;max-width:500px;grid-column:2;margin-left:auto;padding:28px}.is-reverse .edition-copy{grid-column:1;margin-left:0}.edition-number{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);font-weight:800;color:var(--muted);margin-bottom:22px}.edition-copy h3{font-size:clamp(38px,5vw,68px);line-height:.92;margin:0 0 20px;letter-spacing:-.06em}.edition-copy p{font-size:18px;line-height:1.65;color:var(--muted)}.edition-copy ul{display:grid;gap:12px;margin:24px 0 0;padding:0;list-style:none}.edition-copy li{padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.72);font-weight:700;color:#36322e}.currency-note{display:block;margin-top:10px;font-size:12px;line-height:1.45;color:var(--muted)}
.process-section{background:var(--soft)}.steps{max-width:var(--max);margin:60px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.steps div{background:white;border:1px solid var(--line);border-radius:24px;padding:26px;min-height:250px}.steps span{font-weight:800;color:var(--wood)}.steps h3{font-size:24px;margin:42px 0 12px}.steps p{font-size:15px;line-height:1.6}.safety-section{background:white}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini-grid span{border:1px solid var(--line);background:var(--soft);border-radius:16px;padding:18px;font-weight:800;color:#36322e}.brief-section{background:#f5f1ea}.brief-wrap{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,6vw,80px);align-items:start}.brief-copy{position:sticky;top:110px}.brief-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:white;border:1px solid var(--line);border-radius:34px;padding:clamp(18px,3vw,34px);box-shadow:0 30px 100px rgba(0,0,0,.05)}.brief-form label{display:grid;gap:8px;font-size:13px;font-weight:800;color:#3d3935}.brief-form input,.brief-form select,.brief-form textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:15px 14px;background:#fff;font:inherit;color:var(--ink);outline:none}.brief-form input:focus,.brief-form select:focus,.brief-form textarea:focus{border-color:var(--ink)}.full{grid-column:1/-1}.form-note{font-size:12px!important;line-height:1.5!important;margin:0!important}.faq-list{max-width:900px;margin:50px auto 0;display:grid;gap:12px}.faq-list details{border:1px solid var(--line);border-radius:22px;background:white;padding:22px}.faq-list summary{cursor:pointer;font-weight:900;font-size:18px}.faq-list p{margin:16px 0 0;font-size:16px}.footer{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:34px clamp(18px,5vw,72px);border-top:1px solid var(--line);color:var(--muted);font-size:14px;background:white}
@media(max-width:900px){
  .nav{display:none}
  .site-header{gap:10px;padding:14px 14px;align-items:center}
  .brand{flex:0 0 auto}.brand-mark{width:38px;height:38px}.brand span:last-child{font-size:18px}
  .language-switch{margin-left:auto;max-width:calc(100vw - 150px);overflow-x:auto;flex:0 1 auto;scrollbar-width:none}
  .language-switch::-webkit-scrollbar{display:none}
  .language-switch button{flex:0 0 auto;padding:9px 13px;font-size:12px}
  .hero{display:block;padding:116px 18px 46px;min-height:auto;overflow:hidden}
  .hero-copy{max-width:100%;overflow:hidden}
  .hero h1{font-size:clamp(40px,12vw,58px);line-height:.96;letter-spacing:-.062em;max-width:100%;overflow-wrap:anywhere;word-break:normal}
  .eyebrow{font-size:11px;letter-spacing:.14em;line-height:1.45}
  .lead{font-size:18px;line-height:1.48;max-width:100%;margin-top:22px}
  .cta-row{display:grid;grid-template-columns:1fr;gap:10px;margin-top:28px}
  .btn{width:100%;min-height:54px;padding:0 18px;font-size:15px}
  .trust-row{gap:8px;margin-top:22px}.trust-row span{font-size:12px;padding:9px 11px;max-width:100%}
  .hero-product{position:relative;right:auto;bottom:auto;width:112%;max-width:none;margin:28px -6% -24px;grid-row:auto}
  .static-section{padding:70px 18px}.section-head{padding:74px 18px 30px}
  .static-section h2,.section-head h2{font-size:clamp(34px,11vw,52px);line-height:1;letter-spacing:-.06em;overflow-wrap:anywhere}
  .two-cols,.split-scene,.brief-wrap{grid-template-columns:1fr}
  .split-scene{display:block;padding:52px 18px;min-height:auto;overflow:hidden}
  .white-panel{inset:14px;border-radius:28px}
  .edition-product,.is-reverse .edition-product{position:relative;left:auto;right:auto;bottom:auto;width:112%;max-width:none;max-height:none;margin:0 -6% -8px}
  .edition-copy,.is-reverse .edition-copy{grid-column:1;margin:0;padding:20px 0 0;max-width:100%}
  .edition-copy h3{font-size:clamp(34px,11vw,52px);line-height:1;overflow-wrap:anywhere}
  .edition-copy p{font-size:16px;line-height:1.62}.edition-copy li{font-size:14px;line-height:1.4}
  .steps{grid-template-columns:1fr;margin-top:34px}.steps div{min-height:auto}.steps h3{margin-top:26px}
  .brief-copy{position:relative;top:auto}.brief-form{grid-template-columns:1fr;border-radius:26px}.mini-grid{grid-template-columns:1fr}
  .faq-list details{padding:18px}.footer{font-size:13px}
}
@media(max-width:420px){
  .brand span:last-child{display:none}
  .language-switch{max-width:calc(100vw - 72px)}
  .language-switch button{padding:9px 12px}
  .hero{padding-left:16px;padding-right:16px}
  .hero h1{font-size:clamp(38px,11.5vw,48px)}
}

.client-portal-section{background:#fff}.portal-layout{max-width:var(--max);margin:56px auto 0;display:grid;grid-template-columns:1.1fr .95fr .95fr;gap:16px}.portal-card{border:1px solid var(--line);background:#fff;border-radius:30px;padding:26px;box-shadow:0 24px 70px rgba(0,0,0,.045)}.portal-card h3{font-size:26px;line-height:1.08;margin:0 0 14px;letter-spacing:-.04em}.portal-card p{font-size:15px;line-height:1.6}.portal-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:24px}.portal-badge{display:inline-flex;border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800;color:var(--muted)}.portal-progress{height:10px;border-radius:999px;background:var(--paper);overflow:hidden;margin:28px 0}.portal-progress span{display:block;height:100%;background:var(--ink);border-radius:999px}.portal-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.portal-metrics div{border:1px solid var(--line);border-radius:18px;padding:14px;background:var(--soft)}.portal-metrics span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800;margin-bottom:8px}.portal-metrics strong{font-size:16px}.portal-timeline{list-style:none;margin:0;padding:0;display:grid;gap:14px}.portal-timeline li{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start}.portal-timeline li>span{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);margin-top:4px;background:#fff}.portal-timeline li.is-done>span,.portal-timeline li.is-active>span{background:var(--ink);border-color:var(--ink)}.portal-timeline strong{display:block;font-size:14px}.portal-timeline small{display:block;color:var(--muted);line-height:1.45;margin-top:4px}.chat-preview{display:grid;gap:10px;margin:20px 0}.chat-preview p{margin:0;border:1px solid var(--line);border-radius:18px;padding:14px;background:var(--soft);font-size:14px!important}.portal-actions{display:grid;gap:10px;margin-top:18px}.client-panel-body{background:#f7f7f5}.panel-shell{max-width:1220px;margin:0 auto;padding:110px 18px 60px}.panel-top{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:22px}.panel-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.panel-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 20px 70px rgba(0,0,0,.04)}.panel-card h2{margin:0 0 16px;font-size:30px;letter-spacing:-.05em}.panel-stage-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.panel-stage-list li{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:14px}.panel-dot{width:12px;height:12px;border-radius:50%;background:var(--line)}.panel-stage-list li.is-done .panel-dot,.panel-stage-list li.is-active .panel-dot{background:var(--ink)}.panel-chat{height:360px;overflow:auto;display:grid;align-content:start;gap:10px;border:1px solid var(--line);border-radius:20px;padding:14px;background:var(--soft)}.panel-chat p{margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;font-size:14px;line-height:1.5}.panel-chat .me{background:#121212;color:#fff;justify-self:end;max-width:82%}.panel-chat-form{display:flex;gap:8px;margin-top:10px}.panel-chat-form input{flex:1;border:1px solid var(--line);border-radius:999px;padding:14px;font:inherit}.panel-chat-form button{border:0;background:var(--ink);color:#fff;border-radius:999px;padding:0 18px;font-weight:800}.payment-box{display:grid;grid-template-columns:1fr 1fr;gap:10px}.payment-box div{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:14px}.payment-box span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.doc-list{display:grid;gap:10px}.doc-list a{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:16px;padding:14px;font-weight:800;background:var(--soft)}
@media(max-width:900px){.portal-layout,.panel-grid{grid-template-columns:1fr}.portal-metrics{grid-template-columns:1fr}.panel-top{display:grid}.client-portal-section .section-head{text-align:left}.panel-shell{padding-top:96px}}

/* v4 header: compact language dropdown + hamburger menu */
.mobile-menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer;order:3;flex:0 0 auto}
.mobile-menu-toggle span{display:block;width:18px;height:2px;background:var(--ink);border-radius:999px;transition:.2s}
.mobile-menu-toggle.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.mobile-menu-toggle.is-open span:nth-child(2){opacity:0}
.mobile-menu-toggle.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.language-select{position:relative;z-index:120;flex:0 0 auto;order:2}
.language-current{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:900;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.04)}
.language-current .chevron{font-size:15px;color:var(--muted);line-height:1;transform:translateY(-1px)}
.language-menu{position:absolute;right:0;top:calc(100% + 8px);display:grid;gap:4px;min-width:116px;padding:6px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 22px 70px rgba(0,0,0,.14);opacity:0;pointer-events:none;transform:translateY(-6px);transition:.18s}
.language-select.is-open .language-menu{opacity:1;pointer-events:auto;transform:translateY(0)}
.language-menu button{border:0;background:transparent;border-radius:13px;padding:12px 14px;text-align:left;font-weight:900;color:var(--muted);cursor:pointer}
.language-menu button.is-active,.language-menu button:hover{background:var(--ink);color:#fff}
.language-switch{display:none!important}
@media(min-width:901px){
  .site-header{gap:18px}.brand{min-width:128px}.nav{margin-left:auto}.language-select{margin-left:0}
}
@media(max-width:900px){
  .site-header{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;padding:12px 14px}.brand{grid-column:1;z-index:121}.brand span:last-child{display:none}.language-select{grid-column:3}.mobile-menu-toggle{display:inline-flex;grid-column:4;z-index:121}.language-current{min-height:42px;padding:0 13px;font-size:14px}.nav{display:grid!important;position:absolute;left:12px;right:12px;top:calc(100% + 8px);gap:0;padding:10px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);box-shadow:0 24px 80px rgba(0,0,0,.14);opacity:0;pointer-events:none;transform:translateY(-8px);transition:.2s;z-index:119}.nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav a{padding:16px 14px;border-radius:16px;color:var(--ink);font-size:16px;font-weight:850}.nav a:hover,.nav a:focus{background:var(--soft)}.language-menu{right:0;min-width:96px}.hero{padding-top:96px}
}

/* v5: mobile client panel overflow fixes */
.client-panel-body, .panel-shell, .panel-grid, .panel-card { min-width: 0; }
.panel-card, .doc-list, .panel-chat, .payment-box, .panel-stage-list { max-width: 100%; }
.panel-top > *, .panel-card > *, .panel-stage-list strong, .panel-chat p, .doc-list a, .payment-box strong { min-width: 0; overflow-wrap: anywhere; }
.doc-list a { align-items: center; }
.doc-list a span { min-width: 0; overflow-wrap: anywhere; }
.doc-list a em { flex: 0 0 auto; }
.panel-chat-form { min-width: 0; }
.panel-chat-form input { min-width: 0; }
@media(max-width:900px){
  .client-panel-body .site-header{position:sticky;top:0;}
  .panel-shell{width:100%;max-width:100%;padding:88px 12px 44px;overflow:hidden;}
  .panel-top{gap:22px;margin-bottom:18px;}
  .panel-top h1{font-size:clamp(40px,11vw,62px);line-height:1;letter-spacing:-.07em;margin:0;}
  .panel-top .lead{font-size:19px;line-height:1.48;}
  .panel-top .btn{width:100%;}
  .panel-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;width:100%;}
  .panel-card{width:100%;max-width:100%;border-radius:24px;padding:18px;overflow:hidden;}
  .panel-card h2{font-size:clamp(32px,9vw,46px);line-height:1;letter-spacing:-.065em;}
  .panel-stage-list li{grid-template-columns:14px minmax(0,1fr);gap:10px;padding:13px;align-items:start;}
  .panel-stage-list li em{grid-column:2;justify-self:start;font-size:14px;color:var(--muted);}
  .payment-box{grid-template-columns:minmax(0,1fr);gap:10px;}
  .payment-box div{padding:15px;}
  .payment-box strong{font-size:24px;line-height:1.1;display:block;}
  .doc-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px 12px;font-size:16px;}
  .panel-chat{height:auto;max-height:none;min-height:320px;padding:12px;overflow:hidden;}
  .panel-chat p{width:100%;max-width:100%;font-size:15px;}
  .panel-chat .me{justify-self:stretch;max-width:100%;}
  .panel-chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;}
  .panel-chat-form button{min-height:48px;padding:0 18px;}
}
@media(max-width:420px){
  .panel-shell{padding-left:10px;padding-right:10px;}
  .panel-card{padding:15px;border-radius:22px;}
  .panel-chat-form{grid-template-columns:1fr;}
  .panel-chat-form button{width:100%;}
}

/* v6: mobile spacing polish for product cards and content blocks */
.section-head h2 + .lead,
.static-section h2 + p,
.edition-copy h3 + p,
.panel-card h2 + *{
  margin-top: clamp(18px, 2.8vw, 28px);
}
.edition-copy p{
  margin: 0;
}
@media(max-width:900px){
  .section-head{
    padding-left: 24px;
    padding-right: 24px;
  }
  .section-head.narrow{
    padding-left: 26px;
    padding-right: 26px;
  }
  .section-head h2,
  .static-section h2{
    margin-bottom: 18px;
  }
  .section-head .lead,
  .static-section .lead{
    margin-top: 18px;
  }
  .split-scene{
    padding: 54px 28px;
  }
  .white-panel{
    inset: 14px 18px;
    border-radius: 30px;
  }
  .edition-product,
  .is-reverse .edition-product{
    width: 106%;
    margin: 0 -3% 2px;
  }
  .edition-copy,
  .is-reverse .edition-copy{
    padding: 26px 10px 8px;
  }
  .edition-number{
    margin-bottom: 28px;
  }
  .edition-copy h3{
    margin-bottom: 22px;
  }
  .edition-copy p{
    margin: 0;
    line-height: 1.72;
  }
  .edition-copy ul{
    margin-top: 28px;
    gap: 14px;
  }
  .edition-copy li{
    padding: 17px 18px;
    border-radius: 18px;
  }
  .steps{
    padding-left: 18px;
    padding-right: 18px;
  }
  .steps div{
    padding: 32px 28px;
    border-radius: 28px;
  }
  .steps h3{
    margin: 34px 0 18px;
    line-height: 1.08;
  }
  .steps p{
    line-height: 1.68;
  }
  .portal-card,
  .brief-form,
  .faq-list details{
    padding-left: 24px;
    padding-right: 24px;
  }
}
@media(max-width:420px){
  .section-head,
  .section-head.narrow{
    padding-left: 22px;
    padding-right: 22px;
  }
  .split-scene{
    padding: 50px 24px;
  }
  .white-panel{
    inset: 12px 14px;
    border-radius: 28px;
  }
  .edition-copy,
  .is-reverse .edition-copy{
    padding: 24px 8px 8px;
  }
  .edition-copy li{
    padding: 16px 16px;
  }
  .steps{
    padding-left: 14px;
    padding-right: 14px;
  }
  .steps div{
    padding: 30px 24px;
  }
}


/* v7: prevent awkward word splitting in large mobile headings */
@media(max-width:900px){
  .static-section h2,
  .section-head h2,
  .edition-copy h3{
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
    text-wrap: balance;
  }
  .process-section .section-head.narrow{
    max-width: 560px;
    padding-left: 28px;
    padding-right: 28px;
  }
  .process-section .section-head h2{
    font-size: clamp(36px, 9.4vw, 48px);
    line-height: 1.03;
    letter-spacing: -0.06em;
  }
  .process-section .section-head .lead{
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media(max-width:420px){
  .process-section .section-head h2{
    font-size: clamp(34px, 9vw, 42px);
    line-height: 1.05;
  }
}

/* v8: mobile menu auth section separated from main navigation */
.nav-main,
.nav-auth{
  display:flex;
  align-items:center;
  gap:26px;
}
.nav-auth{
  padding-left:18px;
  margin-left:4px;
  border-left:1px solid var(--line);
}
.nav-auth a:last-child{
  color:var(--ink);
}
@media(max-width:900px){
  .nav{
    padding:18px;
    gap:0;
  }
  .nav-main,
  .nav-auth{
    display:grid;
    gap:6px;
  }
  .nav-main{
    padding-bottom:14px;
  }
  .nav-auth{
    margin:8px 0 0;
    padding:16px 0 0;
    border-left:0;
    border-top:1px solid rgba(18,18,18,.1);
  }
  .nav-auth::before{
    content:attr(data-label);
    display:block;
    padding:0 14px 4px;
    font-size:11px;
    line-height:1;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:var(--muted);
    font-weight:900;
  }
  .nav-auth a{
    background:var(--soft);
    border:1px solid rgba(18,18,18,.06);
  }
  .nav-auth a:first-of-type{
    background:var(--ink);
    color:#fff;
  }
  .nav-auth a:first-of-type:hover,
  .nav-auth a:first-of-type:focus{
    background:var(--ink);
    color:#fff;
  }
}


/* v9: mobile floating phone widget + desktop phone link */
.desktop-phone-link{
  white-space:nowrap;
}
.mobile-phone-widget{
  display:none;
}
body:not(.client-panel-body) .mobile-phone-widget,
body:not(.is-authenticated) .mobile-phone-widget{
  display:none!important;
}
@media(max-width:900px){
  .desktop-phone-link{
    display:none!important;
  }
  body.client-panel-body.is-authenticated .mobile-phone-widget{
    position:fixed;
    left:12px;
    bottom:calc(96px + env(safe-area-inset-bottom, 0px));
    z-index:140;
    display:flex;
    align-items:center;
    gap:10px;
    pointer-events:none;
  }
  .phone-fab{
    width:54px;
    height:54px;
    border-radius:999px;
    border:1px solid rgba(18,18,18,.12);
    background:#121212;
    color:#fff;
    display:grid;
    place-items:center;
    font-size:23px;
    line-height:1;
    box-shadow:0 18px 42px rgba(0,0,0,.18);
    cursor:pointer;
    pointer-events:auto;
  }
  .phone-panel{
    width:min(260px, calc(100vw - 86px));
    padding:14px 16px;
    border-radius:22px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.96);
    box-shadow:0 22px 70px rgba(0,0,0,.16);
    backdrop-filter:blur(16px);
    opacity:0;
    transform:translateX(-8px) scale(.98);
    pointer-events:none;
    transition:.18s ease;
  }
  .mobile-phone-widget.is-open .phone-panel{
    opacity:1;
    transform:translateX(0) scale(1);
    pointer-events:auto;
  }
  .phone-panel strong{
    display:block;
    font-size:13px;
    line-height:1.2;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.1em;
    margin-bottom:6px;
  }
  .phone-panel a{
    display:block;
    font-size:20px;
    line-height:1.15;
    font-weight:900;
    color:var(--ink);
    overflow-wrap:anywhere;
  }
  .nav-main .desktop-phone-link{
    display:none!important;
  }
}


/* v11: phone moves from floating widget to client-panel header only */
.header-phone-button{
  display:none;
}
.portal-actions .btn[href^="tel:"],
body:not(.client-panel-body) .header-phone-button{
  display:none!important;
}
@media(max-width:900px){
  .site-header{
    grid-template-columns:auto 1fr auto auto auto;
  }
  .language-select{
    grid-column:3;
  }
  .mobile-menu-toggle{
    grid-column:4;
  }
  body.client-panel-body.is-authenticated .header-phone-button{
    grid-column:5;
    z-index:121;
    display:inline-grid;
    width:46px;
    height:46px;
    border-radius:999px;
    border:1px solid var(--line);
    background:#121212;
    color:#fff;
    place-items:center;
    flex:0 0 auto;
    box-shadow:0 14px 34px rgba(0,0,0,.14);
    text-decoration:none;
  }
  .header-phone-button svg{
    width:19px;
    height:19px;
    fill:currentColor;
  }
  body.client-panel-body.is-authenticated .mobile-menu-toggle{
    border-color:var(--line);
    background:#fff;
  }
  body.client-panel-body.is-authenticated .nav{
    right:12px;
  }
  .mobile-phone-widget{
    display:none!important;
  }
}
@media(min-width:901px){
  body.client-panel-body.is-authenticated .header-phone-button{
    display:none!important;
  }
}

/* v12: align client-panel mobile header controls in one row */
@media(max-width:900px){
  .site-header{
    grid-template-columns:auto minmax(0,1fr) auto auto auto;
    align-items:center;
    gap:8px;
    padding:12px 14px;
  }
  .brand{grid-column:1;grid-row:1;min-width:0;}
  .language-select{grid-column:3;grid-row:1;align-self:center;justify-self:end;}
  .mobile-menu-toggle{grid-column:4;grid-row:1;align-self:center;justify-self:end;width:44px;height:44px;}
  body.client-panel-body.is-authenticated .header-phone-button{
    grid-column:5;
    grid-row:1;
    align-self:center;
    justify-self:end;
    width:44px;
    height:44px;
  }
  .language-current{min-height:44px;padding:0 14px;}
}
@media(max-width:380px){
  .site-header{gap:7px;padding-left:12px;padding-right:12px;}
  .brand-mark{width:31px;height:31px;font-size:14px;}
  .language-current{min-height:42px;padding:0 11px;font-size:13px;}
  .mobile-menu-toggle{width:42px;height:42px;}
  body.client-panel-body.is-authenticated .header-phone-button{width:42px;height:42px;}
}

/* v13: real Purrch logo in header */
.brand-logo-link{
  display:inline-flex;
  align-items:center;
  min-width:0;
  flex:0 0 auto;
}
.brand-logo{
  width:clamp(118px, 13vw, 168px);
  height:auto;
  max-height:46px;
  object-fit:contain;
}
@media(max-width:900px){
  .brand-logo{width:118px;max-height:42px;}
  .brand-logo-link{min-width:0;}
}
@media(max-width:380px){
  .brand-logo{width:104px;max-height:38px;}
}

/* WordPress theme integration */
.wp-site-blocks,
.purrch-page-main {
  min-height: 100vh;
}
.admin-bar .site-header {
  top: 32px;
}
.purrch-page-shell {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
  padding: 140px 0 80px;
}
.purrch-page-card {
  background: #fff;
  border: 1px solid rgba(17, 17, 17, .08);
  border-radius: 28px;
  padding: clamp(24px, 5vw, 56px);
  box-shadow: 0 24px 80px rgba(17, 17, 17, .06);
}
.purrch-page-card h1,
.purrch-page-card h2,
.purrch-page-card h3 {
  letter-spacing: -.04em;
}
.purrch-wp-content :where(p, ul, ol) {
  color: rgba(17, 17, 17, .68);
  line-height: 1.7;
}
.purrch-wp-content :where(input, select, textarea) {
  max-width: 100%;
}
.brief-wp-redirect-card {
  display: grid;
  gap: 18px;
  padding: clamp(22px, 4vw, 38px);
  border: 1px solid rgba(17, 17, 17, .08);
  border-radius: 28px;
  background: #fff;
}
.brief-wp-redirect-card .btn {
  width: fit-content;
}
@media (max-width: 782px) {
  .admin-bar .site-header {
    top: 46px;
  }
  .purrch-page-shell {
    width: min(100% - 24px, 1120px);
    padding-top: 112px;
  }
  .brief-wp-redirect-card .btn {
    width: 100%;
  }
}


/* v19: rework after card regression - keep product cards flat, only improve text insets */
@media (min-width: 901px){
  .split-scene .edition-copy{
    padding: clamp(34px, 4vw, 64px);
    max-width: 560px;
  }
  .split-scene:not(.is-reverse) .edition-copy{
    margin-right: clamp(20px, 3vw, 54px);
  }
  .split-scene.is-reverse .edition-copy{
    margin-left: clamp(20px, 3vw, 54px);
  }
  .edition-copy h3{ margin-bottom: 24px; }
  .edition-copy h3 + p{ margin-top: 0; }
  .edition-copy ul{ margin-top: 28px; }
}
@media (max-width: 900px){
  .split-scene{
    padding-left: clamp(20px, 6vw, 34px);
    padding-right: clamp(20px, 6vw, 34px);
  }
  .edition-copy,
  .is-reverse .edition-copy{
    padding-left: clamp(4px, 2vw, 10px);
    padding-right: clamp(4px, 2vw, 10px);
  }
}
.purrch-shortcode-warning{
  margin-top:24px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--soft);
  color:var(--muted);
  line-height:1.55;
}

/* v20: custom account links and native Purrch login page */
.nav-user-link{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  color:var(--ink)!important;
  font-weight:900!important;
}
.nav-user-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#1f9d5a;
  box-shadow:0 0 0 4px rgba(31,157,90,.1);
}
.purrch-login-shell{
  min-height:calc(100svh - 110px);
  display:grid;
  place-items:center;
  padding:clamp(36px,7vw,80px) 0;
}
.purrch-login-card{
  width:min(100%, 620px);
  padding:clamp(28px,5vw,56px);
  border:1px solid var(--line);
  border-radius:34px;
  background:rgba(255,255,255,.92);
  box-shadow:0 30px 90px rgba(0,0,0,.07);
}
.purrch-login-card h1{
  margin:0;
  font-size:clamp(38px,6vw,68px);
  line-height:.95;
  letter-spacing:-.07em;
}
.purrch-login-card .lead{
  font-size:18px;
  margin:20px 0 28px;
}
#purrch-login-form p{
  margin:0 0 16px;
}
#purrch-login-form label{
  display:block;
  margin-bottom:8px;
  color:var(--muted);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
#purrch-login-form input[type="text"],
#purrch-login-form input[type="password"]{
  width:100%;
  min-height:56px;
  padding:0 18px;
  border-radius:18px;
  border:1px solid var(--line);
  background:var(--soft);
  font:inherit;
  font-size:18px;
  outline:none;
}
#purrch-login-form input[type="text"]:focus,
#purrch-login-form input[type="password"]:focus{
  border-color:rgba(18,18,18,.34);
  background:#fff;
}
#purrch-login-form .login-remember label{
  display:flex;
  align-items:center;
  gap:10px;
  text-transform:none;
  letter-spacing:0;
  font-size:15px;
  color:var(--muted);
  font-weight:700;
}
#purrch-login-form .login-submit input{
  width:100%;
  min-height:58px;
  border:1px solid var(--ink);
  border-radius:999px;
  background:var(--ink);
  color:#fff;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.purrch-login-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}
.purrch-login-links a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--soft);
  color:var(--ink);
  font-weight:800;
}
@media(max-width:900px){
  .nav-user-link{
    justify-content:flex-start;
    background:#fff!important;
    border:1px solid rgba(18,18,18,.08)!important;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .purrch-login-card{border-radius:28px;}
  .purrch-login-links{display:grid;}
  .purrch-login-links a{justify-content:center;}
}

/* v21: fresh-install fixes */
.purrch-login-notice{
  margin:0 0 18px;
  padding:14px 16px;
  border:1px solid rgba(18,18,18,.1);
  border-radius:16px;
  background:#fff7f3;
  color:#2d2925;
  font-weight:700;
}
#purrch-login-form .login-submit button{
  width:100%;
  min-height:56px;
  border:0;
  cursor:pointer;
}
.nav-user-link{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
}
.nav-user-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#121212;
  display:inline-block;
}

/* v25: shortcode pages should visually belong to the sales front, not look like a separate WordPress card. */
.purrch-page-card:has(.purrch-brief),
.purrch-page-card:has(.purrch-panel),
.purrch-page-card:has(.purrch-configurator),
.purrch-page-card:has(.purrch-login-shell){
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}
.purrch-page-shell:has(.purrch-brief),
.purrch-page-shell:has(.purrch-panel),
.purrch-page-shell:has(.purrch-configurator){
  width: 100%;
  padding-top: 112px;
}
.purrch-page-shell:has(.purrch-brief) .purrch-brief,
.purrch-page-shell:has(.purrch-panel) .purrch-panel,
.purrch-page-shell:has(.purrch-configurator) .purrch-configurator{
  max-width: 1180px;
}
@supports not selector(:has(*)){
  .purrch-page-card{background:transparent;border:0;box-shadow:none;}
}
