/*
Theme Name: SOLO RAISED
Theme URI: https://soloraised.co.uk
Author: Tevero MB
Description: Vieno puslapio waitlist tema SOLO RAISED. Be page builderio, be jQuery, vienas CSS failas.
Version: 1.0.5
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: solo-raised
*/

/* ============================================================
   SOLO RAISED — WAITLIST
   Produkcijoje: Gotham (Ultra/Bold/Medium) + Neue Montreal.
   Dabar: Montserrat + Inter.
   TAISYKLĖ: niekas neapvalinta.
   ============================================================ */
:root{
  color-scheme:light;
  --cream:#FAF7F2; --cream-2:#F3EEE5; --oatmeal:#E7DFD2; --sand:#DACDBA;
  --ink:#14100D; --line:#DED6C9; --muted:#8A8076; --photo-bg:#EFEBE4;
  --font-display:"Montserrat","Helvetica Neue",Arial,sans-serif;
  --font-body:"Inter","Helvetica Neue",Arial,sans-serif;
  --pad:clamp(22px,4.4vw,72px);
}
*,*::before,*::after{box-sizing:border-box;border-radius:0 !important}
html,body{margin:0;padding:0;height:100%}
body{
  background:var(--cream);color:var(--ink);font-family:var(--font-body);
  font-weight:300;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input{font:inherit;color:inherit}
h1,h2,h3,.dsp{font-family:var(--font-display);font-weight:800;letter-spacing:-.015em;
  line-height:1.02;margin:0;text-transform:uppercase}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

/* ---------- shell ---------- */
.shell{min-height:100vh;display:grid;grid-template-columns:1fr .84fr}
.col{padding:clamp(24px,2.6vw,36px) var(--pad);display:flex;flex-direction:column;
  justify-content:space-between;min-height:100vh}
.media{position:relative;overflow:hidden;background:var(--photo-bg)}
.media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.media__brand{display:none}
.media__mark{
  position:absolute;right:0;top:0;padding:14px 20px;background:var(--cream);
  font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.28em;
}

/* ---------- brand ---------- */
.brand{font-family:var(--font-display);font-weight:900;
  font-size:clamp(19px,2vw,26px);letter-spacing:.12em}
.brand small{display:block;font-weight:600;font-size:7.5px;letter-spacing:.34em;
  color:var(--muted);margin-top:6px}
.brand img{max-height:34px;width:auto}

/* ---------- body ---------- */
.core{padding:clamp(22px,2.4vw,30px) 0}
.eyebrow{font-family:var(--font-display);font-weight:600;font-size:10px;
  letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}
h1{font-size:clamp(36px,4.2vw,56px);margin:13px 0 0;text-wrap:balance}
.sub{font-family:var(--font-display);font-weight:600;font-size:clamp(10px,1.05vw,12px);
  letter-spacing:.26em;text-transform:uppercase;color:#4A423A;margin:16px 0 0;line-height:1.9}
.copy{max-width:50ch;margin:20px 0 0;font-size:clamp(14px,1.02vw,15.5px);
  line-height:1.7;color:#3B342D}

/* ---------- form ---------- */
.form{margin-top:clamp(22px,2.4vw,30px);max-width:520px}
.field{display:flex;border:1px solid var(--ink)}
.field input{flex:1;min-width:0;padding:16px 18px;background:transparent;border:0;outline:none;font-size:15px}
.field input::placeholder{color:#A9A093;letter-spacing:.04em}
.ages{margin-top:18px}
.ages__label{font-family:var(--font-display);font-weight:600;font-size:10px;
  letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;display:block}
.ages__row{display:flex;gap:7px;flex-wrap:wrap}
.age{width:44px;height:44px;border:1px solid var(--line);display:flex;align-items:center;
  justify-content:center;font-family:var(--font-display);font-weight:600;font-size:13px;
  transition:border-color .18s,background .18s}
.age:hover{border-color:#B9AE9E}
.age.is-on{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.age--x{width:auto;padding:0 14px;font-size:10px;letter-spacing:.16em}
.consent{display:flex;gap:11px;align-items:flex-start;margin-top:18px;
  font-size:12.5px;color:#5A5248;line-height:1.5;max-width:52ch;cursor:pointer}
.consent input{width:16px;height:16px;margin:2px 0 0;flex:none;accent-color:var(--ink)}
.consent a{color:inherit;border-bottom:1px solid var(--line)}
.btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;
  margin-top:18px;padding:17px 26px;background:var(--ink);color:var(--cream);
  font-family:var(--font-display);font-weight:600;font-size:11.5px;letter-spacing:.22em;
  text-transform:uppercase;border:1px solid var(--ink);transition:background .22s,color .22s}
.btn:hover{background:transparent;color:var(--ink)}
.btn[disabled]{opacity:.55;cursor:default}
.btn i{font-style:normal}
.fine{margin-top:14px;font-family:var(--font-display);font-weight:600;font-size:9.5px;
  letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.err{margin-top:14px;font-size:12.5px;color:#8A4A34;display:none}
.err.is-on{display:block}

/* honeypot: už ekrano ribų, ne display:none */
.sr-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- states ---------- */
.state{display:none}
.state.is-on{display:block}
.badge{display:inline-flex;align-items:baseline;gap:10px;border:1px solid var(--ink);
  padding:12px 18px;margin-top:26px;font-family:var(--font-display);font-weight:700;
  font-size:22px;letter-spacing:.14em;font-variant-numeric:tabular-nums}
.badge em{font-style:normal}
.badge span{font-weight:600;font-size:10px;letter-spacing:.26em;color:var(--muted)}
.sr-strap{margin-top:30px;font-family:var(--font-display);font-weight:700;
  font-size:12px;letter-spacing:.24em;text-transform:uppercase}
.state .fine{margin-top:22px}

/* ---------- hang tag copy ---------- */
.tag p{margin:0;font-size:clamp(12px,.9vw,13px);line-height:1.6;color:#5B534A}
.tag p + p{margin-top:4px}
.tag__head{font-family:var(--font-display);font-weight:700;font-size:11.5px !important;
  letter-spacing:.24em;text-transform:uppercase;color:var(--ink) !important;
  margin-bottom:9px !important}

/* desktop: as a hang tag laid on the photo */
.tag--flow{display:none}
.tag--photo{position:absolute;z-index:2;left:clamp(18px,2vw,30px);bottom:clamp(18px,2vw,30px);
  max-width:330px;padding:clamp(16px,1.5vw,22px);background:rgba(250,247,242,.94);
  box-shadow:0 10px 40px rgba(20,16,13,.14)}

/* ---------- foot ---------- */
.foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-top:clamp(16px,1.8vw,24px);padding-top:18px;border-top:1px solid var(--line);
  font-family:var(--font-display);font-weight:600;font-size:9.5px;
  letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.foot a:hover{color:var(--ink)}
.foot .note{text-transform:none;letter-spacing:.02em;font-weight:400;font-size:10px}

/* ---------- WP admin bar ---------- */
body.admin-bar .shell,body.admin-bar .col{min-height:calc(100vh - 32px)}
@media (max-width:782px){body.admin-bar .shell,body.admin-bar .col{min-height:0}}

/* ---------- mobile ---------- */
@media (max-width:900px){
  .shell{grid-template-columns:1fr}
  .col{min-height:0;padding-top:26px;padding-bottom:30px}
  .col > .brand{display:none}

  .media{height:auto;aspect-ratio:4/5;order:-1}
  .media img{object-position:50% 30%}
  .media::after{content:'';position:absolute;left:0;right:0;top:0;height:34%;
    background:linear-gradient(to bottom,rgba(18,14,11,.52),rgba(18,14,11,0));pointer-events:none}
  .media::before{content:'';position:absolute;left:0;right:0;bottom:0;height:27%;z-index:1;
    background:linear-gradient(to top,rgba(18,14,11,.58),rgba(18,14,11,0));pointer-events:none}
  .media__brand{display:block;position:absolute;z-index:2;left:var(--pad);top:22px;color:#fff}
  .media__brand small{color:rgba(255,255,255,.72)}
  .tag--photo{display:none}
  .tag--flow{display:block;margin-top:26px;padding-top:16px;border-top:1px solid var(--line)}
  .media__mark{right:auto;top:auto;left:var(--pad);bottom:18px;padding:0;background:none;
    color:#fff;font-size:10px;letter-spacing:.26em;z-index:2}

  .core{padding:0}
  h1{font-size:clamp(38px,11.5vw,54px)}
  .sub{margin-top:14px;line-height:1.85}
  .copy{margin-top:16px;font-size:14.5px;line-height:1.62}
  .form{margin-top:22px}
  .ages__row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .age{width:auto;height:46px}
  .age--x{width:auto;padding:0;font-size:10px}
  .foot{margin-top:26px;flex-direction:column;gap:7px;align-items:flex-start}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important;scroll-behavior:auto !important}
}

/* ---------- privatumo politikos puslapis ---------- */
.legal{max-width:760px;margin:0 auto;padding:clamp(40px,6vw,90px) var(--pad)}
.legal h1{font-size:clamp(30px,3.4vw,46px);margin-bottom:28px}
.legal h2{font-size:15px;letter-spacing:.12em;margin:34px 0 12px}
.legal p,.legal li{color:#3B342D;font-size:15px;line-height:1.75}
.legal ul{padding-left:18px}
.legal a{border-bottom:1px solid var(--line)}
.legal .back{display:inline-block;margin-top:40px;font-family:var(--font-display);
  font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  border-bottom:1px solid currentColor;padding-bottom:3px}
