/*
Theme Name: Florjana
Theme URI: https://florjana.si
Author: Martin Furlan
Author URI: https://martin-furlan.netlify.app
Description: Tema po meri za cvetličarstvo in vrtnarstvo Florjana, Murska Sobota. Vsa vsebina se ureja v Videz > Prilagodi.
Version: 1.1
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: florjana
Tags: cvetličarna, poslovna, enostranska
*/

:root {
  --ivory:#f5f0e5;
  --ivory-2:#efe8da;
  --surface:#fbf8f0;
  --pine:#1b3527;
  --pine-2:#254733;
  --ink:#20241c;
  --muted:#6d7263;
  --rose:#ab5c66;
  --rose-soft:#c98890;
  --rose-pale:#e3bfc2;
  --sage:#8fa48b;
  --line:#ddd4c1;
  --line-soft:#e8e0d1;
}

* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }

body {
  background:var(--ivory);
  color:var(--ink);
  font-family:"Inter", system-ui, -apple-system, sans-serif;
  font-size:17px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  background-image:
    radial-gradient(circle at 18% 12%, rgba(143,164,139,.05), transparent 42%),
    radial-gradient(circle at 84% 78%, rgba(171,92,102,.045), transparent 46%);
  background-attachment:fixed;
}

a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; height:auto; }
::selection { background:var(--rose); color:#fff; }

.wrap { width:100%; max-width:1180px; margin:0 auto; padding:0 32px; }

h1,h2,h3 {
  font-family:"Fraunces", Georgia, serif;
  font-weight:400;
  line-height:1.04;
  letter-spacing:-0.015em;
}

.label {
  font-family:"Inter", sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.26em;
  text-transform:uppercase;
  color:var(--rose);
}

.reveal { opacity:0; transform:translateY(22px); transition:opacity .9s cubic-bezier(.22,.61,.36,1), transform .9s cubic-bezier(.22,.61,.36,1); }
.reveal.in { opacity:1; transform:none; }
.reveal.d1 { transition-delay:.08s; }
.reveal.d2 { transition-delay:.16s; }

.skip-link {
  position:absolute; left:-9999px; top:0; background:var(--pine); color:#fff;
  padding:12px 22px; z-index:300;
}
.skip-link:focus { left:0; }

/* ---------------- BOTANIČNI ORNAMENT ---------------- */
.sprig { display:block; margin:0 auto; color:var(--rose); opacity:.8; }
.sprig--light { color:var(--rose-pale); opacity:.55; }
.head .sprig { margin-bottom:24px; }

/* ---------------- NAV ---------------- */
.site-nav {
  position:fixed; inset:0 0 auto 0; z-index:60;
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 32px;
  background:linear-gradient(to bottom, rgba(18,30,22,.6), rgba(18,30,22,0));
  transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
}
.site-nav.scrolled {
  background:rgba(245,240,229,.94);
  backdrop-filter:saturate(140%) blur(10px);
  box-shadow:0 1px 0 var(--line-soft);
  padding:14px 32px;
}

.wordmark {
  font-family:"Fraunces", serif; font-size:29px; font-weight:500;
  color:#fff; display:flex; align-items:center; gap:11px;
  transition:color .35s ease;
}
.wordmark .fl { color:var(--rose-pale); display:inline-flex; }
.wordmark img { max-height:48px; width:auto; }
.site-nav.scrolled .wordmark { color:var(--pine); }
.site-nav.scrolled .wordmark .fl { color:var(--rose); }

.nav-links { display:flex; align-items:center; gap:32px; }
/* WordPress meni izpiše elemente kot <li> — odstranimo pike in poravnamo v vrsto */
.nav-links ul { list-style:none; margin:0; padding:0; display:contents; }
.nav-links li { list-style:none; margin:0; padding:0; display:inline-flex; align-items:center; }
.nav-links li::marker { content:none; }
@media (max-width:900px) {
  .nav-links li { display:block; width:100%; }
}
.nav-links a {
  font-size:14px; color:#f2eee2; transition:color .2s;
  position:relative; padding-bottom:3px;
}
.nav-links a:not(.nav-cta)::after {
  content:""; position:absolute; left:0; right:100%; bottom:0; height:1px;
  background:currentColor; transition:right .3s ease;
}
.nav-links a:not(.nav-cta):hover::after { right:0; }
.site-nav.scrolled .nav-links a { color:var(--ink); }
.nav-cta {
  border:1px solid rgba(255,255,255,.5); padding:10px 20px; border-radius:100px;
  transition:background .25s, border-color .25s, color .25s;
}
.nav-cta:hover { background:var(--rose); border-color:var(--rose); color:#fff !important; }
.site-nav.scrolled .nav-cta { border-color:var(--pine); }

.nav-toggle {
  display:none; background:none; border:0; color:#fff; font-size:26px;
  cursor:pointer; line-height:1; padding:4px 8px;
}
.site-nav.scrolled .nav-toggle { color:var(--pine); }

/* ---------------- HERO ---------------- */
.hero { display:grid; grid-template-columns:1.04fr .96fr; min-height:100vh; }
.hero-panel {
  background:var(--pine); color:#f2eee2;
  display:flex; flex-direction:column; justify-content:center;
  padding:130px 8% 70px; position:relative; overflow:hidden;
}
.hero-panel::before {
  content:""; position:absolute; width:70%; aspect-ratio:1; border-radius:50%;
  left:-18%; bottom:-24%;
  background:radial-gradient(circle, rgba(143,164,139,.18), transparent 66%);
  pointer-events:none;
}
.hero-panel::after {
  content:""; position:absolute; right:0; top:20%; bottom:20%;
  width:1px; background:linear-gradient(to bottom, transparent, rgba(255,255,255,.2), transparent);
}
.hero-inner { position:relative; z-index:2; }
.hero-panel .label { color:var(--rose-pale); margin-bottom:28px; display:block; }
.hero-panel h1 { font-size:clamp(48px,5.9vw,86px); font-weight:400; }
.hero-panel h1 em { font-style:italic; color:var(--rose-pale); }
.hero-panel .lead {
  margin-top:28px; max-width:38ch; color:#d5d2c3; font-size:19px; line-height:1.7;
}

.hero-actions { margin-top:40px; display:flex; gap:14px; flex-wrap:wrap; }
.btn {
  display:inline-flex; align-items:center; gap:10px;
  font-family:"Inter", sans-serif; font-weight:600; font-size:15px;
  padding:16px 30px; border-radius:100px;
  transition:transform .25s cubic-bezier(.22,.61,.36,1), background .25s, color .25s, border-color .25s, box-shadow .25s;
}
.btn-primary { background:var(--rose); color:#fff; }
.btn-primary:hover {
  transform:translateY(-2px); background:#964d57; color:#fff;
  box-shadow:0 10px 26px rgba(171,92,102,.28);
}
.btn-ghost { border:1px solid rgba(255,255,255,.45); color:#f2eee2; }
.btn-ghost:hover { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.7); }

.hero-meta {
  margin-top:52px; padding-top:26px; display:flex; gap:40px; flex-wrap:wrap;
  font-size:13px; color:#a8b39c; border-top:1px solid rgba(255,255,255,.14);
}
.hero-meta b {
  display:block; color:#f2eee2; font-family:"Fraunces", serif;
  font-size:20px; font-weight:500; margin-bottom:3px;
}
.hero-photo {
  background-size:cover; background-position:center; min-height:60vh;
  background-color:var(--pine-2); position:relative;
}
.hero-photo::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(to right, rgba(27,53,39,.28), transparent 32%);
}

/* ---------------- SEKCIJE ---------------- */
.section { padding:118px 0; }
.head { max-width:660px; margin:0 auto 66px; text-align:center; }
.head .label { display:block; margin-bottom:16px; }
.head h2 { font-size:clamp(38px,5.6vw,64px); }
.head p { margin-top:20px; color:var(--muted); font-size:18px; }

/* ---------------- PONUDBA ---------------- */
.ponudba {
  background:var(--surface);
  border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);
}
.svc-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 56px; }
.svc {
  display:flex; gap:18px; padding:26px 0; border-bottom:1px solid var(--line-soft);
  transition:transform .3s cubic-bezier(.22,.61,.36,1);
}
.svc:hover { transform:translateX(5px); }
.svc .mark { color:var(--rose); flex:none; margin-top:5px; opacity:.85; }
.svc h3 { font-size:24px; margin-bottom:5px; }
.svc p { color:var(--muted); font-size:15px; line-height:1.6; }

/* ---------------- RAZDELJENA SEKCIJA ---------------- */
.feature { background:var(--pine); color:#efece0; }
.feature-grid { display:grid; grid-template-columns:1fr 1fr; align-items:stretch; }
.feature-copy { padding:104px 7vw; }
.feature-copy .label { color:var(--rose-pale); }
.feature-copy h2 { color:#fff; font-size:clamp(34px,4.6vw,54px); margin:18px 0 26px; }
.feature-copy p { color:#cfcec0; margin-bottom:20px; max-width:46ch; }
.feature-copy p:last-of-type { margin-bottom:0; }
.feature-copy .btn { margin-top:30px; }
.feature-photo {
  background-size:cover; background-position:center; min-height:460px;
  background-color:var(--pine-2);
}

/* ---------------- IZBIRNIK PRILOŽNOSTI ---------------- */
.occ { background:var(--ivory); }
.occ-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.occ-card {
  background:var(--surface); border:1px solid var(--line-soft); border-radius:12px;
  padding:30px 14px 24px; text-align:center; cursor:pointer; font-family:"Inter",sans-serif;
  color:var(--ink); display:flex; flex-direction:column; align-items:center; gap:14px;
  transition:border-color .3s, background .3s, transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s;
}
.occ-card svg { color:var(--rose); opacity:.85; transition:transform .4s cubic-bezier(.22,.61,.36,1), opacity .3s; }
.occ-card span { font-size:15px; font-weight:500; line-height:1.3; }
.occ-card:hover { transform:translateY(-4px); border-color:var(--rose-pale); box-shadow:0 12px 30px rgba(32,36,28,.06); }
.occ-card:hover svg { transform:scale(1.1) rotate(-4deg); opacity:1; }
.occ-card.active {
  background:#fff; border-color:var(--rose); transform:translateY(-4px);
  box-shadow:0 14px 34px rgba(171,92,102,.14);
}
.occ-card.active svg { opacity:1; }

.occ-panel {
  margin-top:26px; background:var(--surface); border:1px solid var(--line-soft);
  border-left:3px solid var(--rose); border-radius:10px; padding:38px 42px;
}
.occ-panel[hidden] { display:none; }
.occ-panel.show { animation:occ-in .45s cubic-bezier(.22,.61,.36,1); }
@keyframes occ-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
.occ-panel h3 { font-size:30px; margin-bottom:14px; }
.occ-panel p { color:var(--muted); max-width:62ch; margin-bottom:26px; }

@media (max-width:900px) {
  .occ-grid { grid-template-columns:repeat(3,1fr); gap:12px; }
  .occ-panel { padding:30px 26px; }
}
@media (max-width:560px) {
  .occ-grid { grid-template-columns:repeat(2,1fr); }
  .occ-card { padding:24px 10px 20px; }
  .occ-panel h3 { font-size:25px; }
}

/* ---------------- KAKO NASTANE ŠOPEK ---------------- */
.bouquet { background:var(--surface); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); }
.bq-wrap { display:grid; grid-template-columns:0.95fr 1.05fr; gap:56px; align-items:center; }

.bq-stage {
  position:relative; background:var(--ivory); border:1px solid var(--line-soft);
  border-radius:14px; padding:26px; display:grid; place-items:center; min-height:520px;
  overflow:hidden;
}
.bq-stage::before {
  content:""; position:absolute; width:74%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle, rgba(171,92,102,.07), transparent 68%);
  pointer-events:none;
}
.bq-svg { width:100%; max-width:400px; height:auto; position:relative; z-index:2; }
.bq-layer { opacity:0; transform-box:fill-box; transform-origin:50% 88%; }

.bq-side { display:flex; flex-direction:column; gap:30px; }

.bq-steps { list-style:none; counter-reset:none; margin:0; padding:0; }
.bq-step {
  display:flex; gap:18px; padding:16px 18px; border-radius:10px;
  opacity:.34; transition:opacity .45s ease, background .45s ease, transform .45s cubic-bezier(.22,.61,.36,1);
}
.bq-step.active { opacity:1; background:var(--ivory); transform:translateX(4px); }
.bq-num {
  flex:none; width:34px; height:34px; border-radius:50%;
  border:1px solid var(--line); color:var(--muted);
  display:grid; place-items:center; font-size:13px; font-weight:600;
  font-family:"Inter",sans-serif; transition:background .4s, color .4s, border-color .4s;
}
.bq-step.active .bq-num { background:var(--rose); border-color:var(--rose); color:#fff; }
.bq-step h3 { font-size:21px; margin-bottom:3px; }
.bq-step p { color:var(--muted); font-size:14.5px; line-height:1.55; }

.bq-control { padding:0 18px; }
.bq-hint {
  display:block; font-size:11px; font-weight:600; letter-spacing:.2em;
  text-transform:uppercase; color:var(--rose); margin-bottom:14px;
}

#bq-range { -webkit-appearance:none; appearance:none; width:100%; background:transparent; cursor:grab; }
#bq-range:active { cursor:grabbing; }
#bq-range::-webkit-slider-runnable-track {
  height:3px; border-radius:3px;
  background:linear-gradient(to right, var(--rose) var(--fill,0%), var(--line) var(--fill,0%));
}
#bq-range::-moz-range-track { height:3px; border-radius:3px; background:var(--line); }
#bq-range::-moz-range-progress { height:3px; border-radius:3px; background:var(--rose); }
#bq-range::-webkit-slider-thumb {
  -webkit-appearance:none; appearance:none; width:26px; height:26px; margin-top:-11.5px;
  border-radius:50%; background:#fff; border:2px solid var(--rose);
  box-shadow:0 3px 10px rgba(171,92,102,.28);
  transition:transform .2s ease, box-shadow .2s ease;
}
#bq-range::-moz-range-thumb {
  width:22px; height:22px; border-radius:50%; background:#fff; border:2px solid var(--rose);
  box-shadow:0 3px 10px rgba(171,92,102,.28);
}
#bq-range:hover::-webkit-slider-thumb { transform:scale(1.12); }
#bq-range:active::-webkit-slider-thumb { transform:scale(1.04); box-shadow:0 2px 6px rgba(171,92,102,.4); }
#bq-range:focus-visible::-webkit-slider-thumb { box-shadow:0 0 0 4px rgba(171,92,102,.25); }

.bq-ticks { display:flex; justify-content:space-between; gap:4px; margin-top:16px; flex-wrap:wrap; }
.bq-tick {
  background:none; border:0; cursor:pointer; padding:4px 2px;
  font-family:"Inter",sans-serif; font-size:11.5px; color:var(--muted);
  letter-spacing:.04em; transition:color .25s;
}
.bq-tick:hover { color:var(--rose); }
.bq-tick.on { color:var(--rose); font-weight:600; }

@media (max-width:1000px) {
  .bq-wrap { grid-template-columns:1fr; gap:36px; }
  .bq-stage { min-height:420px; order:-1; }
  .bq-svg { max-width:330px; }
}
@media (max-width:560px) {
  .bq-stage { padding:16px; min-height:340px; }
  .bq-svg { max-width:270px; }
  .bq-step { padding:12px 12px; gap:14px; }
  .bq-step h3 { font-size:19px; }
  .bq-control { padding:0 6px; }
  .bq-ticks { justify-content:flex-start; gap:10px; }
}

@media (prefers-reduced-motion:reduce) {
  .bq-layer { opacity:1 !important; transform:none !important; }
}

/* ---------------- SEZONSKI KOLEDAR ---------------- */
.sezona { background:var(--ivory); }
.sez-wrap { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }

.sez-wheel { position:relative; display:grid; place-items:center; width:100%; max-width:380px; margin:0 auto; }
.sez-svg { width:100%; max-width:380px; height:auto; overflow:visible; }
.sez-dot { fill:var(--line); cursor:pointer; transition:fill .3s ease, r .3s ease; }
.sez-dot:hover, .sez-dot.on { fill:var(--rose); }
.sez-dot.on { r:5; }
.sez-lab {
  font-family:"Inter",sans-serif; font-size:11px; font-weight:600; letter-spacing:.1em;
  fill:var(--muted); cursor:pointer; transition:fill .3s ease;
}
.sez-lab:hover { fill:var(--rose); }
.sez-lab.on { fill:var(--rose); }
.sez-pointer { transform-origin:180px 180px; transition:transform .7s cubic-bezier(.34,1.3,.5,1); }

.sez-center {
  position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center;
  padding:0 21%; pointer-events:none;
}
.sez-badge {
  font-size:10px; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color:#fff; background:var(--rose); padding:4px 12px; border-radius:100px; margin-bottom:10px;
}
.sez-badge[hidden] { display:none; }
.sez-ime { font-size:clamp(30px,4vw,42px); margin-bottom:10px; }
.sez-cvetje { font-size:14.5px; color:var(--muted); line-height:1.55; }

.sez-side { display:flex; flex-direction:column; gap:26px; }
.sez-opomba {
  font-family:"Fraunces",Georgia,serif; font-size:21px; line-height:1.5;
  color:var(--ink); border-left:2px solid var(--rose); padding-left:22px; min-height:96px;
}
.sez-months { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.sez-btn {
  background:var(--surface); border:1px solid var(--line-soft); border-radius:8px;
  padding:11px 8px; cursor:pointer; font-family:"Inter",sans-serif; font-size:13.5px;
  color:var(--muted); transition:border-color .25s, color .25s, background .25s, transform .25s;
}
.sez-btn:hover { color:var(--ink); border-color:var(--rose-pale); transform:translateY(-2px); }
.sez-btn.on { background:#fff; border-color:var(--rose); color:var(--rose); font-weight:600; }
.sez-cta { align-self:flex-start; }

@media (max-width:1000px) {
  .sez-wrap { grid-template-columns:1fr; gap:40px; }
  .sez-wheel { max-width:320px; }
  .sez-svg { max-width:320px; }
  .sez-opomba { min-height:0; }
}
@media (max-width:560px) {
  .sez-wheel { max-width:264px; }
  .sez-svg { max-width:264px; }
  .sez-lab { font-size:9.5px; }
  .sez-center { padding:0 26%; }
  .sez-months { grid-template-columns:repeat(2,1fr); }
  .sez-opomba { font-size:18px; padding-left:16px; }
}

@media (prefers-reduced-motion:reduce) {
  .sez-pointer { transition:none; }
}

/* ---------------- GOVORICA CVETJA ---------------- */
.govorica { background:var(--surface); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); }
.gov-tabs { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:44px; }
.gov-tab {
  background:var(--ivory); border:1px solid var(--line-soft); border-radius:100px;
  padding:11px 22px; cursor:pointer; font-family:"Inter",sans-serif; font-size:14px;
  color:var(--muted); transition:border-color .25s, color .25s, background .25s, transform .25s;
}
.gov-tab:hover { color:var(--ink); border-color:var(--rose-pale); transform:translateY(-2px); }
.gov-tab.on { background:var(--pine); border-color:var(--pine); color:#fff; }

.gov-stage { position:relative; }
.gov-panel[hidden] { display:none; }
.gov-panel.on { animation:gov-in .5s cubic-bezier(.22,.61,.36,1); }
@keyframes gov-in { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
.gov-uvod {
  text-align:center; font-family:"Fraunces",Georgia,serif; font-style:italic;
  font-size:clamp(19px,2.4vw,25px); color:var(--ink); margin-bottom:38px;
}
.gov-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:18px; max-width:920px; margin:0 auto 40px; }
.gov-card {
  background:var(--ivory); border:1px solid var(--line-soft); border-radius:12px;
  padding:32px 24px; text-align:center; margin:0;
  display:flex; flex-direction:column; align-items:center; gap:14px;
  transition:transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s;
}
.gov-card:hover { transform:translateY(-4px); box-shadow:0 16px 38px rgba(32,36,28,.07); }
.gov-bloom { display:grid; place-items:center; height:56px; }
.gov-ime { display:block; font-family:"Fraunces",serif; font-size:21px; color:var(--ink); margin-bottom:4px; }
.gov-pomen { display:block; font-size:14px; color:var(--muted); line-height:1.5; font-style:italic; }
.gov-cta { display:block; width:fit-content; margin:0 auto; }

@media (max-width:560px) {
  .gov-cards { grid-template-columns:1fr 1fr; gap:12px; }
  .gov-card { padding:24px 14px; }
  .gov-ime { font-size:18px; }
  .gov-tab { padding:10px 16px; font-size:13px; }
}

/* Širok slikovni pas z izjavo */
.imgband {
  position:relative; width:100vw; left:50%; margin-left:-50vw;
  min-height:44vh; display:flex; align-items:center; justify-content:center;
  background-size:cover; background-position:center; text-align:center; color:#fff;
  padding:70px 0;
}
.imgband .wrap { max-width:720px; }
.imgband .label { color:var(--rose-pale); display:block; margin-bottom:16px; }
.imgband-text {
  font-family:"Fraunces", Georgia, serif; font-style:italic; font-weight:400;
  font-size:clamp(26px,3.6vw,42px); line-height:1.2; color:#fff; text-wrap:balance;
}
@media (max-width:900px){ .imgband { min-height:38vh; } }

/* ---------------- POUDAREK (filmski trak s parallaxom) ---------------- */

/* ---------------- POUDAREK (filmski trak s parallaxom) ---------------- */
.poudarek {
  position:relative; width:100vw; left:50%; margin-left:-50vw;
  min-height:76vh; display:flex; align-items:center; justify-content:center;
  overflow:hidden; text-align:center; color:#fff;
}
.pou-bg {
  position:absolute; left:0; right:0; top:-14%; height:128%;
  background-size:cover; background-position:center; background-color:var(--pine-2);
  will-change:transform;
}
.pou-bg::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(20,32,24,.62), rgba(20,32,24,.44), rgba(20,32,24,.66));
}
.pou-inner { position:relative; z-index:2; max-width:760px; padding:80px 32px; }
.pou-inner .label { color:var(--rose-pale); display:block; margin-bottom:22px; }
.pou-text {
  font-family:"Fraunces", Georgia, serif; font-weight:400; font-style:italic;
  font-size:clamp(30px,4.4vw,54px); line-height:1.14; letter-spacing:-0.01em;
  color:#fff; margin-bottom:34px; text-wrap:balance;
}
.poudarek .btn-primary { background:var(--rose); }
.poudarek .btn-primary:hover { background:#fff; color:var(--pine); box-shadow:0 10px 30px rgba(0,0,0,.25); }

@media (max-width:900px) {
  .poudarek { min-height:62vh; }
  .pou-bg { top:-8%; height:116%; }
}
@media (prefers-reduced-motion:reduce) {
  .pou-bg { transform:none !important; top:0; height:100%; }
}

/* ---------------- GALERIJA ---------------- */

/* ---------------- GALERIJA ---------------- */
.gallery { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:210px; gap:14px; grid-auto-flow:dense; }
.g-item {
  overflow:hidden; border-radius:4px; background:var(--ivory-2);
  position:relative; cursor:zoom-in; margin:0;
}
.g-item img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.22,.61,.36,1); }
.g-item::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(27,53,39,.34), transparent 46%);
  opacity:0; transition:opacity .45s ease; pointer-events:none;
}
.g-item:hover img { transform:scale(1.06); }
.g-item:hover::after { opacity:1; }
.g-item.feat { grid-column:span 2; grid-row:span 2; }
.g-item.tall { grid-row:span 2; }
.g-item.wide { grid-column:span 2; }
/* skrite slike galerije do klika "Pokaži več" */
.g-item.g-more { display:none; }
.gallery.expanded .g-item.g-more { display:block; }
.gal-more-wrap { text-align:center; margin-top:30px; }
.gal-more-btn {
  border:1px solid var(--rose); color:var(--rose); background:transparent;
  cursor:pointer;
}
.gal-more-btn:hover { background:var(--rose); color:#fff; }
.gal-more-btn.hidden { display:none; }

.lightbox {
  position:fixed; inset:0; z-index:200; display:none;
  background:rgba(20,30,24,.94); padding:40px;
  align-items:center; justify-content:center;
}
.lightbox.open { display:flex; }
.lightbox img {
  max-width:100%; max-height:100%; border-radius:3px;
  box-shadow:0 30px 80px rgba(0,0,0,.5);
  animation:lb-in .4s cubic-bezier(.22,.61,.36,1);
}
@keyframes lb-in { from { opacity:0; transform:scale(.97); } to { opacity:1; transform:none; } }
.lightbox button {
  position:absolute; background:none; border:0; color:#f2eee2;
  cursor:pointer; font-family:"Inter",sans-serif; transition:color .2s;
}
.lightbox button:hover { color:var(--rose-pale); }
.lb-close { top:24px; right:30px; font-size:34px; line-height:1; }
.lb-prev, .lb-next { top:50%; transform:translateY(-50%); font-size:44px; padding:10px 18px; }
.lb-prev { left:14px; }
.lb-next { right:14px; }
.lb-count {
  position:absolute; bottom:26px; left:50%; transform:translateX(-50%);
  color:#a8b39c; font-size:13px; letter-spacing:.16em;
}

/* ---------------- MNENJA STRANK ---------------- */
.mnenja { background:var(--ivory); }
.mne-carousel { max-width:760px; margin:0 auto; position:relative; }
.mne-track { position:relative; min-height:230px; }
.mne-item {
  position:absolute; inset:0; text-align:center;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transform:translateY(14px);
  transition:opacity .6s ease, transform .6s cubic-bezier(.22,.61,.36,1), visibility .6s;
}
.mne-item.on { opacity:1; visibility:visible; transform:none; position:relative; }
.mne-stars { color:var(--rose); display:flex; gap:3px; margin-bottom:22px; }
.mne-item blockquote {
  font-family:"Fraunces", Georgia, serif; font-size:clamp(21px,2.7vw,29px);
  line-height:1.4; color:var(--ink); font-style:italic; max-width:60ch; margin-bottom:24px;
}
.mne-item blockquote::before { content:"\201C"; color:var(--rose-pale); margin-right:2px; }
.mne-item blockquote::after { content:"\201D"; color:var(--rose-pale); margin-left:2px; }
.mne-ime { display:block; font-family:"Inter",sans-serif; font-weight:600; font-size:16px; color:var(--ink); }
.mne-pri { display:block; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--rose); margin-top:5px; }

.mne-dots { display:flex; gap:10px; justify-content:center; margin-top:34px; }
.mne-dot {
  width:9px; height:9px; border-radius:50%; border:0; padding:0; cursor:pointer;
  background:var(--line); transition:background .3s, transform .3s;
}
.mne-dot:hover { background:var(--rose-pale); }
.mne-dot.on { background:var(--rose); transform:scale(1.25); }

@media (max-width:560px) {
  .mne-track { min-height:290px; }
  .mne-item blockquote { font-size:20px; }
}

/* ---------------- LOKACIJI ---------------- */

/* ---------------- LOKACIJI ---------------- */
.loc-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.loc {
  background:var(--surface); border:1px solid var(--line-soft); border-radius:10px;
  padding:40px; transition:box-shadow .35s ease, transform .35s cubic-bezier(.22,.61,.36,1);
}
.loc:hover { box-shadow:0 16px 40px rgba(32,36,28,.07); transform:translateY(-3px); }
.loc .label { display:block; margin-bottom:12px; }
.loc h3 { font-size:29px; margin-bottom:22px; }
.loc .row {
  display:flex; justify-content:space-between; align-items:baseline;
  padding:12px 0; border-bottom:1px solid var(--line-soft); gap:18px;
}
.loc .row:last-child { border-bottom:0; padding-bottom:0; }
.loc .row span { color:var(--muted); font-size:15px; }
.loc .row b { font-weight:600; font-size:15px; white-space:nowrap; }

/* ---------------- ZEMLJEVID LOKACIJ ---------------- */
.loc-map { margin-top:26px; }
#florjana-map {
  width:100%; height:420px; border-radius:12px; overflow:hidden;
  border:1px solid var(--line-soft); background:var(--surface);
  box-shadow:0 10px 30px rgba(32,36,28,.06);
}
.leaflet-container { font-family:"Inter", sans-serif; background:#eef1ea; }

/* cvetlični pin */
.fl-pin {
  width:38px; height:38px; position:relative;
  transform:translate(-50%,-100%);
}
.fl-pin .fl-pin-body {
  width:38px; height:38px; border-radius:50% 50% 50% 0;
  background:var(--rose); transform:rotate(-45deg);
  box-shadow:0 4px 10px rgba(0,0,0,.28); display:grid; place-items:center;
}
.fl-pin svg { transform:rotate(45deg); }
.fl-pin::after {
  content:""; position:absolute; left:50%; bottom:-3px; transform:translateX(-50%);
  width:10px; height:4px; border-radius:50%; background:rgba(0,0,0,.18);
}

/* Leaflet popup v paleti */
.leaflet-popup-content-wrapper {
  background:var(--ivory); border-radius:10px;
  box-shadow:0 12px 30px rgba(32,36,28,.16); border:1px solid var(--line-soft);
}
.leaflet-popup-content { margin:16px 18px; font-size:14px; color:var(--ink); }
.leaflet-popup-tip { background:var(--ivory); }
.fl-pop-label { font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--rose); display:block; margin-bottom:3px; }
.fl-pop-name { font-family:"Fraunces", serif; font-size:19px; display:block; margin-bottom:4px; }
.fl-pop-addr { color:var(--muted); display:block; margin-bottom:10px; }
.fl-pop-link { display:inline-flex; align-items:center; gap:6px; color:var(--rose); font-weight:600; }
.fl-pop-link:hover { text-decoration:underline; }
.leaflet-bar a { color:var(--pine); }
.leaflet-control-attribution { font-size:10px; background:rgba(245,240,229,.85) !important; }

@media (max-width:560px) {
  #florjana-map { height:340px; }
}

/* ---------------- KONTAKT ---------------- */

/* ---------------- KONTAKT ---------------- */
.contact { background:var(--surface); border-top:1px solid var(--line-soft); }
.contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:start; }
.info .item { display:flex; gap:18px; padding:20px 0; border-bottom:1px solid var(--line-soft); }
.info .item:last-child { border-bottom:0; }
.info .ico {
  width:48px; height:48px; border-radius:50%; background:rgba(171,92,102,.1);
  color:var(--rose); display:grid; place-items:center; flex:none; font-size:19px;
}
.info .k { font-weight:600; font-size:15px; margin-bottom:2px; }
.info .v { color:var(--muted); font-size:15px; display:block; transition:color .2s; }
.info a.v:hover { color:var(--rose); }
.tel-op { color:var(--muted); font-size:13px; font-weight:400; }


.florjana-form {
  background:var(--ivory); border:1px solid var(--line-soft); border-radius:10px;
  padding:36px; display:grid; gap:18px;
}
.frow { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { display:flex; flex-direction:column; gap:8px; }
.florjana-form label { font-size:13px; font-weight:600; }
.florjana-form input, .florjana-form textarea {
  background:#fff; border:1px solid var(--line); color:var(--ink);
  font-family:"Inter", sans-serif; font-size:16px; padding:15px 17px;
  border-radius:7px; transition:border-color .25s, box-shadow .25s; width:100%;
}
.florjana-form input:focus, .florjana-form textarea:focus {
  outline:none; border-color:var(--rose); box-shadow:0 0 0 3px rgba(171,92,102,.14);
}
.florjana-form textarea { resize:vertical; min-height:104px; }
.florjana-form button { border:0; cursor:pointer; justify-self:start; }
.hp-field { position:absolute; left:-9999px; }

.form-note { padding:16px 20px; border-radius:7px; font-size:15px; font-weight:600; margin-bottom:18px; }
.form-note.ok { background:rgba(27,53,39,.09); color:var(--pine); }
.form-note.err { background:rgba(171,92,102,.11); color:var(--rose); }


/* ---------------- NOGA ---------------- */
.site-footer { background:var(--pine); color:#c9c8ba; padding:70px 0 40px; }
.site-footer .sprig { margin-bottom:44px; }
.foot { display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.foot .wordmark { color:#fff; font-size:33px; margin-bottom:14px; }
.foot p { font-size:14px; max-width:32ch; line-height:1.65; }
.foot-col h4 {
  font-family:"Inter", sans-serif; color:#fff; font-size:12px;
  margin-bottom:16px; letter-spacing:.16em; text-transform:uppercase;
}
.foot-col a, .foot-col span { display:block; font-size:14px; margin-bottom:9px; color:#c9c8ba; transition:color .2s; }
.foot-col a:hover { color:var(--rose-pale); }
.socials { display:flex; gap:12px; margin-top:20px; }
.socials a {
  width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.22);
  display:grid; place-items:center; font-size:15px;
  transition:background .25s, border-color .25s, color .25s, transform .25s;
}
.socials a:hover { background:var(--rose); border-color:var(--rose); color:#fff; transform:translateY(-2px); }
.foot-bottom {
  margin-top:48px; padding-top:22px; border-top:1px solid rgba(255,255,255,.13);
  font-size:13px; color:#94a086; display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap;
}

/* ---------------- VEČSTRANSKA STRUKTURA ---------------- */
/* Navigacija na notranjih straneh (svetlo ozadje) je vedno berljiva. */
.site-nav.inner {
  background:rgba(245,240,229,.96);
  backdrop-filter:saturate(140%) blur(10px);
  box-shadow:0 1px 0 var(--line-soft);
}
.site-nav.inner .wordmark { color:var(--pine); }
.site-nav.inner .wordmark .fl { color:var(--rose); }
.site-nav.inner .nav-links a { color:var(--ink); }
.site-nav.inner .nav-cta { border-color:var(--pine); }
.site-nav.inner .nav-toggle { color:var(--pine); }

/* trenutna stran v meniju */
.nav-links .current-menu-item a,
.nav-links .current_page_item a { color:var(--rose); }

/* Glava notranje strani */
.page-hero {
  background:var(--ivory);
  border-bottom:1px solid var(--line-soft);
  text-align:center;
  padding:150px 0 60px;
}
.page-hero .sprig { margin-bottom:20px; }
.page-hero .label { display:block; margin-bottom:14px; }
.page-hero h1 { font-size:clamp(40px,6vw,68px); }
.page-hero p { max-width:600px; margin:18px auto 0; color:var(--muted); font-size:18px; }
/* Glava strani s fotografijo v ozadju */
.page-hero.has-image {
  background-size:cover; background-position:center; border-bottom:0;
  color:#fff; padding:180px 0 80px;
}
.page-hero.has-image .label { color:var(--rose-pale); }
.page-hero.has-image h1 { color:#fff; }
.page-hero.has-image p { color:#e8e4d8; }

/* Zaključni poziv */
.cta-band { background:var(--pine); color:#f0ede1; text-align:center; }
.cta-band .sprig { margin-bottom:22px; }
.cta-band h2 { color:#fff; font-size:clamp(30px,4vw,46px); }
.cta-band p { color:#cfcec0; max-width:520px; margin:16px auto 30px; }
.cta-band.has-image { background-size:cover; background-position:center; }
.cta-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.btn-outline { border:1px solid rgba(255,255,255,.5); color:#f2eee2; }
.btn-outline:hover { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.75); }

@media (max-width:900px) {
  .page-hero { padding:120px 0 48px; }
}

/* ---------------- DETAJLI: sidranje in gumb na vrh ---------------- */
/* Ob kliku v meniju naj naslov sekcije ne izgine pod lepljivo navigacijo. */
section[id] { scroll-margin-top: 88px; }

.to-top {
  position:fixed; right:26px; bottom:26px; z-index:85;
  width:48px; height:48px; border-radius:50%;
  background:var(--ivory); border:1px solid var(--line);
  color:var(--rose); cursor:pointer;
  display:grid; place-items:center;
  box-shadow:0 8px 24px rgba(32,36,28,.14);
  opacity:0; transform:translateY(14px) scale(.9); pointer-events:none;
  transition:opacity .35s ease, transform .35s cubic-bezier(.22,.61,.36,1), background .25s, color .25s, border-color .25s;
}
.to-top.show { opacity:1; transform:none; pointer-events:auto; }
.to-top:hover { background:var(--rose); border-color:var(--rose); color:#fff; transform:translateY(-2px); }
.to-top svg { display:block; }

@media (max-width:900px) {
  /* Nad lepljivim gumbom za klic. */
  .to-top { right:18px; bottom:78px; width:44px; height:44px; }
}

/* ---------------- LEPLJIV GUMB ZA KLIC ---------------- */.call-bar {
  display:none; position:fixed; left:0; right:0; bottom:0; z-index:90;
  background:var(--rose); color:#fff; text-align:center;
  padding:15px; font-weight:600; font-size:16px;
  box-shadow:0 -4px 20px rgba(0,0,0,.16);
  transform:translateY(100%); transition:transform .4s cubic-bezier(.22,.61,.36,1);
}
.call-bar.show { transform:none; }

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline:2px solid var(--rose); outline-offset:3px;
}

/* ---------------- PRILAGODITVE ZASLONOM ---------------- */
@media (max-width:1000px) {
  .gallery { grid-template-columns:repeat(2,1fr); grid-auto-rows:180px; }
  .g-item.feat { grid-column:span 2; grid-row:span 2; }
  .g-item.wide { grid-column:span 2; }
  .section { padding:92px 0; }
}

@media (max-width:900px) {
  .hero { grid-template-columns:1fr; }
  .hero-panel::after { display:none; }
  .hero-panel { padding:100px 32px 64px; }
  .hero-photo { min-height:48vh; order:-1; }
  .hero-photo::after { background:linear-gradient(to bottom, rgba(27,53,39,.3), transparent 40%); }
  .nav-toggle { display:block; }
  .nav-links {
    display:none; position:absolute; top:100%; left:0; right:0;
    background:var(--ivory); flex-direction:column; align-items:flex-start;
    gap:0; padding:10px 32px 22px; box-shadow:0 14px 30px rgba(0,0,0,.1);
  }
  .nav-links.open { display:flex; }
  .nav-links a { color:var(--ink) !important; padding:14px 0; width:100%; border-bottom:1px solid var(--line-soft); }
  .nav-links a::after { display:none; }
  .nav-links a:last-child { border-bottom:0; }
  .nav-cta { border:0 !important; padding:14px 0; color:var(--rose) !important; }
  .feature-grid, .contact-grid, .loc-grid, .svc-grid { grid-template-columns:1fr; }
  .svc-grid { gap:0; }
  .feature-copy { padding:78px 32px; }
  .feature-photo { min-height:320px; }
  .call-bar { display:block; }
  .site-footer { padding-bottom:80px; }
  .lb-prev, .lb-next { font-size:34px; }
}

@media (max-width:560px) {
  .wrap { padding:0 24px; }
  .gallery { grid-template-columns:1fr; grid-auto-rows:250px; }
  .g-item.feat, .g-item.wide, .g-item.tall { grid-column:span 1; grid-row:span 1; }
  .frow { grid-template-columns:1fr; }
  .foot { flex-direction:column; gap:32px; }
  .florjana-form { padding:26px; }
  .loc { padding:30px; }
  .hero-meta { gap:26px; }
}

@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; }
  .reveal { opacity:1; transform:none; }
  .call-bar { transform:none; }
}
