/*
Theme Name: Studio Sora
Theme URI: https://studiosora.ee
Description: Twenty Twenty-Five lapsteema Studio Sora kodulehele (Grete Kägo).
Author: GoodNews Communication
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: studiosora
*/

/* ==========================================================================
   Studio Sora — lehe stiilid (Gutenbergi plokkidele: klassid antakse
   plokkidele "Lisa-CSS klass" (Additional CSS class) väljal)
   ========================================================================== */

:root{
  --paper: #F2EEE3;
  --ink: #2E1F28;
  --ink-soft: #6b6558;
  --cream: #EDE7DD;
  --plum: #4B3240;
  --plum-900: #2E1F28;
  --plum-700: #5F4152;
  --sage: #ADB886;
  --sage-light: #DDE3C6;
  --line: #DAD2C0;
  --max: 1280px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; background:var(--paper);}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Jost', sans-serif;
  font-weight:300;
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

::selection{background:var(--plum); color:var(--cream);}

.wrap{max-width:var(--max); margin:0 auto; padding:0 28px;}

h1,h2,h3,h4{margin:0; font-weight:400;}
p{margin:0;}

.display{font-family:'Anton', sans-serif; font-weight:400; letter-spacing:0.015em;}
.voice{font-family:'Playfair Display', serif; font-style:italic; font-weight:500;}
.eyebrow{
  font-family:'Jost', sans-serif; font-size:11.5px; letter-spacing:0.16em;
  text-transform:uppercase; color:var(--ink-soft);
}

a{color:inherit;}

/* ---------- HERO ---------- */
section#hero{background:var(--plum); padding:0; position:relative; overflow:hidden;}
.hero-watermark{
  position:absolute; top:-40px; right:-20px; margin:0;
  font-family:'Space Grotesk', sans-serif; font-weight:700;
  font-size:min(26vw, 320px); line-height:1;
  color:#5A3D4F; z-index:0; user-select:none; white-space:nowrap;
}
.hero-inner{position:relative; z-index:2; padding:60px 28px 44px;}
.hero-brand{
  font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:15px;
  letter-spacing:0.03em; color:var(--sage); text-transform:uppercase;
  margin-bottom:14px;
}
.hero-brand span, .hero-brand em{
  color:#E3D4DA; font-weight:500; font-style:normal; text-transform:none; letter-spacing:0.01em;
}
.hero-word{
  font-family:'Space Grotesk', sans-serif; font-weight:700;
  font-size:clamp(30px, 5.4vw, 56px); line-height:1.12; letter-spacing:-0.01em;
  color:var(--cream); max-width:900px; margin:0;
}
.hero-word .accent, .hero-word mark{color:var(--sage); background:none;}
.hero-tagline{
  margin-top:32px; max-width:520px;
  font-family:'Jost', sans-serif; font-size:16px; font-weight:400; color:#E3D4DA;
}
.hero-pills-label{
  margin-top:40px; margin-bottom:14px;
  font-family:'Jost', sans-serif; font-size:11.5px; letter-spacing:0.16em;
  text-transform:uppercase; color:#B39CAA;
}
/* Pillid: kas <span>-id HTML-plokis või Buttons-plokk klassiga hero-pills */
.hero-pills{display:flex; gap:12px; flex-wrap:wrap;}
.hero-pills span,
.hero-pills .wp-block-button__link{
  display:inline-block; background:transparent;
  border:1px solid #6B4D5E; color:var(--cream);
  font-family:'Jost', sans-serif; font-size:13px; font-weight:300; line-height:1.4;
  padding:9px 18px; border-radius:999px; text-decoration:none; pointer-events:none;
}
.hero-pills .wp-block-button{margin:0;}

/* ---------- KLEEPUV NAV ---------- */
nav.sticky-nav{
  position:sticky; top:0; z-index:50;
  background:var(--paper); border-bottom:1px solid var(--line);
}
nav.sticky-nav .wrap{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 28px; flex-wrap:wrap; gap:14px;
}
nav.sticky-nav .logo{
  font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:14px; letter-spacing:0.01em; margin:0;
}
nav.sticky-nav .links{display:flex; gap:26px; flex-wrap:wrap;}
nav.sticky-nav .links a,
nav.sticky-nav .links .wp-block-navigation-item__content{
  text-decoration:none; color:var(--ink-soft);
  font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase;
}
nav.sticky-nav .links a:hover{color:var(--plum);}
/* Sisselogitud kasutaja admin-riba korral ei jää nav riba alla */
.admin-bar nav.sticky-nav{top:32px;}
@media (max-width:782px){ .admin-bar nav.sticky-nav{top:46px;} }

/* ---------- SEKTSIOONID ---------- */
section{padding:44px 0; background:var(--paper);}
section#hero{padding:0; background:var(--plum);}

@keyframes revealIn{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;} }
.reveal{opacity:0; animation:revealIn .7s ease forwards; animation-delay:.05s;}

.panel{border-radius:2px; position:relative; overflow:hidden;}

.section-head{
  display:flex; align-items:baseline; justify-content:space-between;
  margin-bottom:24px; border-bottom:1px solid var(--line); padding-bottom:16px;
}
.section-head h2{font-size:15px;}
.section-head .no{font-size:11px; color:var(--ink-soft); font-family:'Jost',sans-serif; letter-spacing:0.08em; margin:0;}

/* ---------- MINUST ---------- */
.about-grid{display:grid; grid-template-columns:1.6fr 1fr; gap:44px; align-items:start;}
@media (max-width:680px){ .about-grid{grid-template-columns:1fr;} }
:where(#about) p{margin:0 0 18px; color:#332632; font-size:16px;}
.about-aside{display:flex; flex-direction:column; gap:14px;}
.stat-card{background:var(--sage-light); padding:30px 26px; color:var(--ink);}
.stat-card .voice{
  color:var(--plum); font-family:'Playfair Display', serif; font-style:italic;
  font-weight:600; font-size:20px; display:block; margin:0 0 8px;
}
.stat-card .lbl{margin:10px 0 0; font-size:13.5px; color:#4c5236; line-height:1.6;}
.name-card{background:var(--plum); padding:26px; color:var(--cream);}
.name-card .eyebrow{color:var(--sage); margin:0 0 10px;}
.name-card .voice{font-size:18px; display:block; margin:0 0 8px;}
:where(#about) .name-card p{margin:0; font-size:13.5px; color:#E3D4DA; line-height:1.6;}

/* Details-plokk (Haridus ja töökogemus) */
.bg-toggle{margin-top:8px;}
.bg-toggle summary{
  cursor:pointer; list-style:none;
  font-family:'Jost', sans-serif; font-size:13.5px; color:var(--plum);
  text-decoration:underline; text-underline-offset:3px; display:inline-block;
}
.bg-toggle summary::-webkit-details-marker{display:none;}
.bg-toggle summary::marker{content:'';}
.bg-columns{
  display:grid; grid-template-columns:1fr 1fr; gap:28px;
  margin-top:20px; padding-top:20px; border-top:1px solid var(--line);
}
@media (max-width:520px){ .bg-columns{grid-template-columns:1fr;} }
.bg-col h4{
  font-family:'Jost', sans-serif; font-size:11px; letter-spacing:0.1em;
  text-transform:uppercase; color:var(--ink-soft); margin:0 0 12px;
}
.bg-item{margin-bottom:12px; font-size:13.5px; line-height:1.5; color:#332632;}
#about .bg-item p{margin:0; font-size:13.5px;}
.bg-item .role, .bg-item strong{font-weight:500;}
.bg-item .meta{display:block; color:var(--ink-soft); font-size:12px !important; margin-top:1px;}

/* ---------- TEENUSED ---------- */
.services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:10px;}
@media (max-width:820px){ .services-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .services-grid{grid-template-columns:1fr;} }
.svc-card{padding:22px 24px; min-height:130px; display:flex; flex-direction:column;}
.svc-card .summary{
  display:flex; align-items:flex-start; margin:0;
  font-family:'Anton', sans-serif; font-size:15.5px; letter-spacing:0.01em;
  font-weight:400; line-height:1.3;
}
.svc-card .desc{margin:6px 0 0; font-size:14px; line-height:1.65;}
.svc-1{background:var(--plum); color:var(--cream);}
.svc-2{background:var(--sage); color:var(--plum-900);}
.svc-3{background:var(--plum-900); color:var(--cream);}
.svc-4{background:var(--sage-light); color:var(--plum-900);}
.svc-5{background:var(--plum-700); color:var(--cream);}
.svc-6{background:var(--plum); color:var(--cream);}
.svc-7{background:var(--sage); color:var(--plum-900);}
.svc-extra{
  background:transparent; border:1px solid var(--line); color:var(--ink-soft);
  font-size:13.5px; font-style:italic;
}
.svc-extra strong, .svc-extra .svc-extra-title{
  display:block; font-style:normal; font-family:'Jost',sans-serif;
  font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink); margin:0 0 8px;
}

/* ---------- HINNAD ---------- */
.pricing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:10px;}
@media (max-width:680px){ .pricing-grid{grid-template-columns:1fr;} }
.price-card{padding:32px 26px; min-height:190px; display:flex; flex-direction:column;}
.price-card .eyebrow{margin:0 0 14px;}
.price-card h3{font-family:'Playfair Display', serif; font-style:italic; font-weight:600; font-size:22px; margin:0 0 6px; line-height:1.25;}
.price-card .amount{font-family:'Anton', sans-serif; font-size:20px; margin:0 0 10px;}
.price-card p{font-size:13.5px; margin:0;}
.price-1{background:var(--sage-light); color:var(--plum-900);}
.price-2{background:var(--plum); color:var(--cream);}
.price-2 .eyebrow{color:var(--sage);}
.price-3{background:var(--plum-900); color:var(--cream);}
.price-3 .eyebrow{color:var(--sage);}
.price-4{background:var(--plum-700); color:var(--cream);}
.price-4 .eyebrow{color:var(--sage);}
.price-5{background:var(--sage); color:var(--plum-900);}

/* ---------- TAGASISIDE ---------- */
.quotes-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:10px;}
@media (max-width:680px){ .quotes-grid{grid-template-columns:1fr;} }
.quote-card{padding:30px 26px; min-height:160px; display:flex; flex-direction:column; justify-content:space-between;}
.quote-card .q{font-family:'Playfair Display', serif; font-style:italic; font-weight:500; font-size:19px; line-height:1.35; margin:0;}
.quote-card .eyebrow{margin:0 0 14px;}
.quote-card .who{margin:18px 0 0; font-size:11.5px; letter-spacing:0.06em; text-transform:uppercase;}
.quote-1{background:var(--plum-900); color:var(--cream);}
.quote-1 .eyebrow{color:var(--sage);}
.quote-1 .who{color:#E3D4DA;}
.quote-2{background:var(--sage); color:var(--plum-900);}
.quote-2 .eyebrow{color:var(--plum);}
.quote-2 .who{color:#5C6446;}
.quote-3{background:var(--plum); color:var(--cream);}
.quote-3 .eyebrow{color:var(--sage-light);}
.quote-3 .who{color:#E3D4DA;}
.quote-4{background:var(--sage-light); color:var(--plum-900);}
.quote-4 .eyebrow{color:var(--plum-700);}
.quote-4 .who{color:#6b6558;}

/* ---------- KONTAKT ---------- */
.contact-panel{background:var(--plum); color:var(--cream); padding:44px 40px; text-align:center;}
.contact-panel h2{font-family:'Playfair Display', serif; font-style:italic; font-weight:500; font-size:24px; margin:0 0 14px;}
.contact-panel p{color:#E3D4DA; max-width:420px; margin:0 auto 26px; font-size:14.5px;}
.contact-panel .mail a,
.contact-panel a.mail{
  text-decoration:none; color:var(--sage); background:none; border-radius:0; padding:0 0 2px;
  border-bottom:1px solid var(--sage);
  font-size:14.5px; letter-spacing:0.03em; font-family:'Jost', sans-serif; font-weight:300;
}
.contact-panel .mail{margin:0;}
.contact-panel .portfolio-line{margin:22px auto 0; font-size:13px; color:#B39CAA;}

/* ---------- JALUS ---------- */
footer.site-foot{padding:34px 0 50px; text-align:center; background:var(--paper);}
footer.site-foot .fname{font-family:'Anton', sans-serif; font-size:14px; letter-spacing:0.03em; margin:0;}
footer.site-foot .floc{margin:6px 0 0; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-soft);}

/* ---------- Muu ---------- */
*{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1; transform:none; animation:none;}
}
@media print{
  .panel, .section-head, .services-grid > *, .pricing-grid > *, .quotes-grid > *{break-inside:avoid;}
  h1,h2,h3,h4{break-after:avoid;}
  .reveal{opacity:1 !important; transform:none !important; animation:none !important;}
}

:focus-visible{outline:2px solid var(--plum); outline-offset:3px;}

/* Redaktoris: animatsioon ja kleepuvus välja, et plokid oleks alati nähtavad */
.editor-styles-wrapper .reveal{opacity:1; animation:none;}
.editor-styles-wrapper nav.sticky-nav{position:relative; top:auto;}

/* ---------- KEELEVAHETAJA ---------- */
.lang-switch{
  position:fixed; top:14px; right:14px; z-index:100;
  background:rgba(46,31,40,0.9); border-radius:999px;
  padding:4px; display:flex; gap:2px; backdrop-filter:blur(4px);
}
.lang-switch a{
  font-family:'Jost', sans-serif; font-size:11.5px; letter-spacing:0.08em;
  text-transform:uppercase; color:#C7B4C0; padding:7px 14px;
  border-radius:999px; text-decoration:none; line-height:1.4;
}
.lang-switch a.is-active{background:var(--sage); color:var(--plum-900); font-weight:500;}
.admin-bar .lang-switch{top:46px;}