/*
Theme Name: Bled Weddings
Theme URI: https://bledweddings.com/
Author: Bled Rose Hotel
Author URI: https://bledrose.com/
Description: Klasična PHP tema za bledweddings.com — poročno prizorišče Bled Rose Hotel ob Blejskem jezeru. Vsebina (prave poroke, mnenja, paketi, ključni teksti) je urejljiva v wp-adminu. Pripravljeno za WPML (SL/EN/DE). Dizajn 1:1 po statičnem prototipu v11.
Version: 1.21.0
Requires at least: 6.4
Tested up to: 7.0
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: bledweddings
Tags: custom-menu, translation-ready, custom-logo, featured-images

Ta datoteka je 1:1 kopija site/assets/css/style.css iz prototipa (v11),
z dodanim WordPress headerjem zgoraj in kratkim WP blokom na koncu.
Vsi design tokeni so v :root — celoten videz se spremeni na enem mestu.
*/

/* ============================================================
   BLED WEDDINGS by Bled Rose Hotel — v2 "10/10" pass
   Design tokens live in :root — re-theme the whole site here.
   Gold/charcoal follow the Bled Rose web language; final CGP
   hex values TBC by Bekim (see README).
   ============================================================ */
:root {
  --ink: #191713;
  --ink-2: #211e19;
  --ink-soft: #4a453e;
  --cream: #faf7f1;
  --cream-2: #f1ebe0;
  --gold: #b08d3f;
  --gold-soft: #d3ba82;
  --line: rgba(25,23,19,.12);
  --line-light: rgba(250,247,241,.16);
    --font-display: "Cormorant Garamond", "Playfair Display", Georgia, serif;
	--font-body: "Jost", "Figtree", "Segoe UI", sans-serif;
  /* v4 — reduced scale (site read "too big"); tighter, more editorial */
  --step-0: clamp(.92rem, .88rem + .18vw, 1rem);
  --step-1: clamp(1.1rem, 1rem + .45vw, 1.4rem);
  --step-2: clamp(1.45rem, 1.25rem + 1vw, 2.1rem);
  --step-3: clamp(1.9rem, 1.5rem + 2vw, 3.1rem);
  --step-4: clamp(2.4rem, 1.7rem + 3.6vw, 4.6rem);
  --space: clamp(3.25rem, 2.4rem + 4.2vw, 6.5rem);
  --pad: clamp(1.1rem, 4vw, 3.5rem);
  --ease: cubic-bezier(.22, 1, .36, 1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
html.lenis { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto; }

body {
  font-family: var(--font-body);
  font-size: var(--step-0);
  line-height: 1.68;
  color: var(--ink);
  background: var(--cream);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img, video { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { font: inherit; background: none; border: 0; cursor: pointer; color: inherit; }

h1, h2, h3, .display {
  font-family: var(--font-display);
  font-weight: 450;
  line-height: 1.05;
  letter-spacing: -0.015em;
}
h1 { font-size: var(--step-4); }
h2 { font-size: var(--step-3); }
h3 { font-size: var(--step-1); }
em, .it { font-style: italic; font-weight: 420; }


.section { padding: var(--space) var(--pad); }
.wrap { max-width: 1280px; margin-inline: auto; }
.lead { font-size: var(--step-1); font-family: var(--font-display); font-weight: 400; line-height: 1.35; color: var(--ink-soft); max-width: 48ch; }
.muted { color: var(--ink-soft); }

/* ============ HEADER / NAV ============ */
.site-header {
  position: fixed; inset: 0 0 auto 0; z-index: 60;
  display: flex; align-items: center; justify-content: space-between; gap: 2rem;
  padding: 1.15rem var(--pad);
  color: #fff;
  transition: background .5s var(--ease), color .3s, box-shadow .5s;
}
.site-header.is-solid {
  background: rgba(250,247,241,.9);
  backdrop-filter: blur(14px);
  color: var(--ink);
  box-shadow: 0 1px 0 var(--line);
  padding-block: .8rem;
}
.brand { display: flex; align-items: center; gap: .85rem; z-index: 76; }
.brand-mark { width: 44px; height: 44px; flex: none; }
.brand-mark img { width: 100%; height: 100%; object-fit: contain; display: block; }
.brand-word { height: 42px; flex: none; position: relative; }
.brand-word img { height: 100%; width: auto; display: block; }
.brand-word .w-dark { display: none; }
.is-solid .brand-word .w-light { display: none; }
.is-solid .brand-word .w-dark { display: block; }
.brand-tag {
  align-self: stretch; display: flex; align-items: center; padding-left: .85rem; margin-left: .1rem;
  border-left: 1px solid currentColor; font-size: .62rem; letter-spacing: .34em; text-transform: uppercase;
  color: var(--gold); opacity: .95;
}
.is-solid .brand-tag { color: var(--gold); }
/* legacy text brand (kept for any page not yet migrated) */
.brand-text { display: flex; flex-direction: column; line-height: 1.05; }
.brand-main { font-family: var(--font-display); font-size: 1.25rem; letter-spacing: .04em; }
.brand-sub { font-size: .56rem; letter-spacing: .32em; text-transform: uppercase; opacity: .72; margin-top: .2rem; }
@media (max-width: 480px) { .brand-tag { display: none; } .brand-word { height: 38px; } }

.nav-desktop { display: flex; align-items: center; gap: 2rem; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; }
.nav-desktop a { position: relative; padding: .3rem 0; opacity: .92; }
.nav-desktop a:not(.btn)::after {
  content: ""; position: absolute; left: 0; bottom: 0; height: 1px; width: 100%;
  background: currentColor; transform: scaleX(0); transform-origin: right;
  transition: transform .45s var(--ease);
}
.nav-desktop a:not(.btn):hover::after { transform: scaleX(1); transform-origin: left; }
.lang { display: flex; gap: .45rem; font-size: .74rem; letter-spacing: .14em; opacity: .8; }
.lang a.active { color: var(--gold-soft); }
.is-solid .lang a.active { color: var(--gold); }

.btn {
  display: inline-flex; align-items: center; gap: .6rem;
  padding: .9rem 2rem; border: 1px solid currentColor; border-radius: 999px;
  font-size: .78rem; letter-spacing: .18em; text-transform: uppercase; white-space: nowrap;
  transition: background .35s var(--ease), color .35s var(--ease), border-color .35s, transform .35s;
}
.btn:hover { background: var(--gold); border-color: var(--gold); color: #fff; transform: translateY(-1px); }
.btn-solid { background: var(--gold); border-color: var(--gold); color: #fff; }
.btn-solid:hover { background: var(--ink); border-color: var(--ink); }

/* burger */
.nav-toggle {
  display: none; z-index: 76; width: 44px; height: 44px;
  position: relative; align-items: center; justify-content: center;
}
.nav-toggle span, .nav-toggle::before, .nav-toggle::after {
  content: ""; position: absolute; left: 8px; right: 8px; height: 1.5px;
  background: currentColor; transition: transform .4s var(--ease), opacity .3s, top .4s;
}
.nav-toggle::before { top: 15px; }
.nav-toggle span { top: 21.5px; }
.nav-toggle::after { top: 28px; }
.nav-toggle.open::before { top: 21.5px; transform: rotate(45deg); }
.nav-toggle.open span { opacity: 0; }
.nav-toggle.open::after { top: 21.5px; transform: rotate(-45deg); }
.nav-toggle.open { color: var(--cream); }

/* full-screen menu */
.menu {
  position: fixed; inset: 0; z-index: 70; background: var(--ink);
  color: var(--cream); display: grid; grid-template-rows: 1fr auto;
  padding: clamp(5rem, 12vh, 8rem) var(--pad) 2.5rem;
  clip-path: inset(0 0 100% 0);
  visibility: hidden;
  transition: clip-path .7s var(--ease), visibility 0s .7s;
}
.menu.open { clip-path: inset(0); visibility: visible; transition: clip-path .7s var(--ease); }
.menu-links { display: grid; gap: .4rem; align-content: center; }
.menu-links a {
  font-family: var(--font-display); font-size: clamp(2rem, 6.5vh, 3.4rem);
  line-height: 1.15; display: inline-flex; align-items: baseline; gap: 1.2rem;
  opacity: 0; transform: translateY(28px);
  transition: opacity .6s var(--ease), transform .6s var(--ease), color .3s;
}
.menu.open .menu-links a { opacity: 1; transform: none; }
.menu-links a:hover { color: var(--gold-soft); }
.menu-links a i { font-style: normal; font-family: var(--font-body); font-size: .7rem; letter-spacing: .3em; color: var(--gold-soft); }
.menu-foot {
  display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap;
  border-top: 1px solid var(--line-light); padding-top: 1.6rem;
  font-size: .8rem; letter-spacing: .08em; opacity: .85;
}

/* ============ HERO ============ */
.hero { position: relative; height: 100svh; min-height: 640px; display: grid; place-items: end start; color: #fff; overflow: hidden; }
.hero-media { position: absolute; inset: -6% 0; z-index: -1; }
.hero-media video, .hero-media img { width: 100%; height: 100%; object-fit: cover; }
.hero::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(15,13,10,.42) 0%, rgba(15,13,10,.05) 42%, rgba(15,13,10,.6) 100%);
}
.hero-inner { position: relative; z-index: 2; padding: var(--pad); padding-bottom: clamp(3.5rem, 9vh, 7rem); max-width: 1000px; }
.hero h1 { margin: .8rem 0 1.6rem; text-wrap: balance; text-shadow: 0 2px 40px rgba(0,0,0,.25); }
.hero-lead { font-size: var(--step-1); font-family: var(--font-display); line-height: 1.4; color: rgba(250,247,241,.9); max-width: 44ch; }
.hero-cta { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2.4rem; }
.hero-scroll {
  position: absolute; right: var(--pad); bottom: 2.4rem; z-index: 2;
  font-size: .66rem; letter-spacing: .34em; text-transform: uppercase;
  writing-mode: vertical-rl; opacity: .75;
  display: flex; align-items: center; gap: .8rem;
}
.hero-scroll::after { content: ""; width: 1px; height: 3rem; background: linear-gradient(180deg, #fff, transparent); }
.hero-line { display: block; overflow: hidden; padding-bottom: .08em; margin-bottom: -.08em; }
.hero-line > span { display: inline-block; }

/* ============ MARQUEE ============ */
.marquee { background: var(--ink); color: var(--cream); overflow: hidden; padding: 1.1rem 0; border-block: 1px solid var(--line-light); }
.marquee-track { display: flex; gap: 3.5rem; width: max-content; animation: marquee 36s linear infinite; }
.marquee span { display: flex; align-items: center; gap: 3.5rem; font-family: var(--font-display); font-size: 1.05rem; letter-spacing: .06em; white-space: nowrap; opacity: .9; }
.marquee i { font-style: normal; color: var(--gold-soft); font-size: .8rem; }
@keyframes marquee { to { transform: translateX(-50%); } }

/* ============ STATS ============ */
.stats { background: var(--ink); color: var(--cream); }
.stats .wrap { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 2.5rem; text-align: center; }
.stat b { display: block; font-family: var(--font-display); font-size: var(--step-3); font-weight: 420; color: var(--gold-soft); }
.stat span { font-size: .74rem; letter-spacing: .24em; text-transform: uppercase; opacity: .75; }

/* ============ SPLITS & CARDS ============ */
.split { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2.5rem, 5vw, 6rem); align-items: center; }
.split.rev { grid-template-columns: .95fr 1.05fr; }
.split figure { position: relative; overflow: hidden; border-radius: 3px; aspect-ratio: 4/5; }
.split figure.wide { aspect-ratio: 5/4; }
.split figure img, .split figure video { width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); }
.figcap {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 1.1rem 1.2rem .8rem;
  font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: #fff;
  background: linear-gradient(0deg, rgba(15,13,10,.6), transparent);
}

.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(255px, 1fr)); gap: 1.4rem; margin-top: 3.5rem; }
.card { position: relative; overflow: hidden; border-radius: 3px; aspect-ratio: 3/4; color: #fff; display: grid; align-items: end; }
.card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.card:hover img { transform: scale(1.07); }
.card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,13,10,.06) 40%, rgba(15,13,10,.76)); }
.card-body { position: relative; z-index: 2; padding: 1.7rem; }
.card-body h3 { font-size: 1.5rem; margin-bottom: .35rem; }
.card-body p { font-size: .84rem; opacity: .85; max-width: 30ch; }
.card-body .cap { font-size: .66rem; letter-spacing: .26em; text-transform: uppercase; color: var(--gold-soft); display: block; margin-bottom: .5rem; }

/* ============ FILM (vertical reel) ============ */
.film { background: var(--cream-2); color: var(--ink); }
.film-grid { display: grid; grid-template-columns: 1fr minmax(280px, 400px); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.phone {
  position: relative; border-radius: 22px; overflow: hidden; aspect-ratio: 9/16;
  box-shadow: 0 40px 90px -40px rgba(0,0,0,.8), 0 0 0 1px var(--line-light);
  justify-self: center; width: 100%;
}
.phone video { width: 100%; height: 100%; object-fit: cover; }
.film-play {
  position: absolute; inset: 0; display: grid; place-items: center;
  background: rgba(15,13,10,.25); transition: opacity .4s, visibility .4s;
}
.film-play.playing { opacity: 0; visibility: hidden; }
.film-play b {
  width: 84px; height: 84px; border-radius: 50%; border: 1px solid rgba(250,247,241,.85);
  display: grid; place-items: center; font-size: .68rem; letter-spacing: .3em; text-transform: uppercase;
  font-weight: 400; backdrop-filter: blur(6px); background: rgba(15,13,10,.25);
  transition: transform .4s var(--ease), background .4s;
}
.film-play:hover b { transform: scale(1.08); background: var(--gold); border-color: var(--gold); }
.film-credit { font-size: .78rem; opacity: .65; margin-top: 1.4rem; letter-spacing: .06em; }

/* ============ PACKAGES ============ */
.packages { background: var(--cream-2); }
.pkg-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(285px, 1fr)); gap: 1.6rem; margin-top: 3.5rem; }
.pkg {
  background: var(--cream); border: 1px solid var(--line); border-radius: 3px;
  padding: 2.6rem 2.2rem; display: flex; flex-direction: column; gap: 1.2rem; position: relative;
  transition: transform .5s var(--ease), box-shadow .5s var(--ease);
}
.pkg:hover { transform: translateY(-7px); box-shadow: 0 30px 60px -35px rgba(25,23,19,.4); }
.pkg.feature { border-color: var(--gold); }
.pkg.feature::before {
  content: attr(data-badge); position: absolute; top: -0.7rem; left: 2rem;
  background: var(--gold); color: #fff; font-size: .62rem; letter-spacing: .26em; text-transform: uppercase;
  padding: .3rem .9rem; border-radius: 999px;
}
.pkg h3 { font-size: 1.7rem; }
.pkg .tagline { font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; color: var(--gold); }
.pkg ul { display: grid; gap: .6rem; font-size: .92rem; color: var(--ink-soft); }
.pkg ul li { padding-left: 1.4rem; position: relative; }
.pkg ul li::before { content: "—"; position: absolute; left: 0; color: var(--gold); }
.pkg .price { margin-top: auto; padding-top: 1.3rem; border-top: 1px solid var(--line); font-family: var(--font-display); font-size: 1.15rem; }
.pkg .price small { display: block; font-family: var(--font-body); font-size: .72rem; color: var(--ink-soft); letter-spacing: .04em; margin-top: .2rem; }

/* ============ GALLERY ============ */
.gal-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; margin-top: 3.5rem; }
.gal-strip a { overflow: hidden; border-radius: 3px; display: block; position: relative; }
.gal-strip a:nth-child(2), .gal-strip a:nth-child(4) { margin-top: 3rem; }
.gal-strip img { aspect-ratio: 3/4; object-fit: cover; width: 100%; transition: transform 1.2s var(--ease); }
.gal-strip a:hover img { transform: scale(1.06); }
.masonry { columns: 3 320px; column-gap: 1.1rem; }
.masonry figure { margin-bottom: 1.1rem; break-inside: avoid; position: relative; overflow: hidden; border-radius: 3px; }
.masonry img { width: 100%; transition: transform 1.1s var(--ease); }
.masonry figure:hover img { transform: scale(1.04); }

/* ============ FAQ ============ */
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary {
  cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center;
  padding: 1.5rem 0; font-family: var(--font-display); font-size: 1.3rem; gap: 1.5rem;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; font-size: 1.7rem; color: var(--gold); transition: transform .35s var(--ease); flex: none; font-family: var(--font-body); font-weight: 300; }
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item p { padding: 0 0 1.6rem; max-width: 68ch; color: var(--ink-soft); }

/* ============ ENQUIRY ============ */
.enquiry { background: var(--ink); color: var(--cream); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.3rem; margin-top: 2.6rem; }
.form-grid .full { grid-column: 1 / -1; }
.field label { display: block; font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; margin-bottom: .55rem; opacity: .72; }
.field input, .field select, .field textarea {
  width: 100%; padding: 1rem 1.15rem; background: rgba(250,247,241,.045);
  border: 1px solid rgba(250,247,241,.22); border-radius: 3px; color: var(--cream);
  font: inherit; transition: border-color .3s, background .3s;
}
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--gold-soft); background: rgba(250,247,241,.07); }
.field select option { color: var(--ink); }
.consent { display: flex; gap: .75rem; align-items: flex-start; font-size: .8rem; opacity: .85; }
.consent input { width: auto; margin-top: .28rem; accent-color: var(--gold); }
.form-note { font-size: .78rem; opacity: .65; margin-top: 1.1rem; }

/* ============ FOOTER ============ */
.site-footer { background: #121009; color: rgba(250,247,241,.72); padding: 4.5rem var(--pad) 2.5rem; font-size: .86rem; }
.site-footer .wrap { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 2.5rem; }
.site-footer h4 { color: var(--cream); font-size: .74rem; letter-spacing: .28em; text-transform: uppercase; margin-bottom: 1.1rem; font-family: var(--font-body); font-weight: 500; }
.site-footer p { margin-bottom: .45rem; }
.site-footer a:hover { color: var(--gold-soft); }
.footer-bottom { margin-top: 3.2rem; padding-top: 1.6rem; border-top: 1px solid var(--line-light); display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: .74rem; opacity: .6; }

/* ============ MOTION UTILITIES (refined "focus-in" reveal) ============ */
.reveal { opacity: 0; transform: translateY(22px); filter: blur(5px); transition: opacity .7s var(--ease), transform .7s var(--ease), filter .7s var(--ease); will-change: opacity, transform, filter; }
.reveal.in { opacity: 1; transform: none; filter: blur(0); }
.reveal-d1 { transition-delay: .08s; } .reveal-d2 { transition-delay: .16s; } .reveal-d3 { transition-delay: .24s; }
/* images/figures reveal with a subtle settle instead of a flat fade */
.split figure.reveal, .teaser.reveal, .moment.reveal, figure.reveal { transform: none; filter: none; opacity: 0; transition: opacity .9s var(--ease); }
.split figure.reveal.in, .teaser.reveal.in, .moment.reveal.in, figure.reveal.in { opacity: 1; }
.split figure.reveal img, .teaser.reveal img, .moment.reveal img { transform: scale(1.12); transition: transform 1.3s var(--ease); }
.split figure.reveal.in img, .teaser.reveal.in img, .moment.reveal.in img { transform: scale(1); }
.veil { position: fixed; inset: 0; z-index: 100; background: var(--ink); transform: scaleY(0); transform-origin: top; pointer-events: none; }

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .hero-media img, .hero-media video, .card img, .split figure img { transform: none !important; }
  .marquee-track { animation: none; }
  html { scroll-behavior: auto; }
}

/* ============ RESPONSIVE ============ */
@media (max-width: 1120px) {
  .nav-desktop { display: none; }
  .nav-toggle { display: flex; }
}
@media (max-width: 920px) {
  .split, .split.rev, .film-grid { grid-template-columns: 1fr; }
  .phone { max-width: 340px; }
  .gal-strip { grid-template-columns: repeat(2, 1fr); }
  .form-grid { grid-template-columns: 1fr; }
  .site-footer .wrap { grid-template-columns: 1fr 1fr; }
}

/* ============ v3 ADDITIONS ============ */
/* moments strip (real weddings inside the venue section) */
.moments { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; margin-top: 3.5rem; }
.moment { position: relative; overflow: hidden; border-radius: 3px; aspect-ratio: 3/4; color: #fff; display: grid; align-items: end; }
.moment img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.moment:hover img { transform: scale(1.06); }
.moment::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(15,13,10,.72)); }
.moment span { position: relative; z-index: 2; padding: 1.3rem; font-size: .7rem; letter-spacing: .24em; text-transform: uppercase; }
.moment.tall { aspect-ratio: 3/4.4; }

/* capacity note */
.capacity { margin-top: 3rem; display: flex; flex-wrap: wrap; gap: 1rem 2.5rem; align-items: baseline; padding-top: 2rem; border-top: 1px solid var(--line); }
.capacity h3 { font-size: 1.5rem; flex: 1 1 260px; }
.capacity p { color: var(--ink-soft); max-width: 46ch; }
.capacity .halls { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.capacity .halls b { font-family: var(--font-body); font-weight: 500; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); border: 1px solid var(--line); border-radius: 999px; padding: .5rem 1.1rem; }

/* trust bar */
.trust { background: var(--cream-2); border-block: 1px solid var(--line); }
.trust .wrap { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1rem 3rem; text-align: center; padding-block: .4rem; }
.trust b { font-family: var(--font-display); font-size: 1.05rem; font-weight: 430; color: var(--ink); }
.trust b em { color: var(--gold); font-style: normal; }

/* team / faces of our kitchen */
.team { background: var(--cream-2); }
.team-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.6rem, 4vw, 3rem); margin-top: 3.5rem; }
.member { background: var(--cream); border: 1px solid var(--line); border-radius: 3px; overflow: hidden; display: grid; grid-template-columns: minmax(140px, 200px) 1fr; }
.member-photo { position: relative; background: linear-gradient(160deg, var(--ink) 0%, var(--ink-2) 100%); overflow: hidden; min-height: 260px; }
.member-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 15%; }
.member-photo .mono { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--font-display); font-size: 3.2rem; color: var(--gold-soft); }
.member-photo .tbc { position: absolute; left: 0; right: 0; bottom: 0; font-size: .58rem; letter-spacing: .18em; text-transform: uppercase; text-align: center; color: rgba(250,247,241,.6); padding: .5rem; }
.member-body { padding: 1.8rem; display: flex; flex-direction: column; gap: .7rem; }
.member-body .role { font-size: .7rem; letter-spacing: .24em; text-transform: uppercase; color: var(--gold); }
.member-body h3 { font-size: 1.5rem; }
.member-body p { font-size: .92rem; color: var(--ink-soft); line-height: 1.6; }
.member-body .tag { margin-top: .4rem; font-size: .78rem; color: var(--ink); font-style: italic; }

@media (max-width: 920px) {
  .moments { grid-template-columns: repeat(2, 1fr); }
  .team-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .member { grid-template-columns: 1fr; }
  .member-photo { min-height: 300px; }
}

/* ============ v4: subpages, teasers, contact overlay, lead ============ */
.page-hero { position: relative; min-height: 52vh; display: grid; place-items: center; text-align: center; color: #fff; overflow: hidden; padding: 8rem var(--pad) 4rem; }
.page-hero img, .page-hero video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; }
.page-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,13,10,.5), rgba(15,13,10,.35)); }
.page-hero .inner { position: relative; z-index: 2; max-width: 760px; }
.page-hero h1 { font-size: var(--step-3); text-wrap: balance; }
.page-hero p { margin-top: 1.1rem; opacity: .9; font-size: var(--step-1); font-family: var(--font-display); font-weight: 400; font-style: italic; }
.breadcrumb { font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: 1.4rem; }
.breadcrumb a:hover { color: var(--gold); }

.teasers { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.2rem; }
.teaser { position: relative; overflow: hidden; border-radius: 3px; aspect-ratio: 16/10; color: #fff; display: grid; align-items: end; }
.teaser.big { grid-column: span 2; aspect-ratio: 21/9; }
.teaser img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.3s var(--ease); }
.teaser:hover img { transform: scale(1.05); }
.teaser::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,13,10,.05) 35%, rgba(15,13,10,.72)); }
.teaser-body { position: relative; z-index: 2; padding: 1.7rem; display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; }
.teaser-body > span:first-child { display: flex; flex-direction: column; gap: .35rem; }
.teaser-body .t { display: block; font-family: var(--font-display); font-size: 1.5rem; line-height: 1.1; }
.teaser-body .n { display: block; font-size: .66rem; letter-spacing: .24em; text-transform: uppercase; color: var(--gold-soft); }
.teaser .arrow { font-size: 1.4rem; opacity: .85; transition: transform .4s var(--ease); }
.teaser:hover .arrow { transform: translateX(6px); }

.creds { display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 0; }
.creds .cred { padding: .3rem clamp(1.1rem, 2.6vw, 2.4rem); text-align: center; display: flex; flex-direction: column; gap: .25rem; border-left: 1px solid var(--line); }
.creds .cred:first-child { border-left: 0; }
.creds .cred b { font-family: var(--font-display); font-size: clamp(1.05rem, .9rem + .5vw, 1.35rem); font-weight: 500; color: #8a6d28; line-height: 1; }
.creds .cred span { font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; color: var(--ink-soft); }
@media (max-width: 640px) {
  .creds { gap: .2rem 0; }
  .creds .cred { flex: 1 1 40%; padding-block: .7rem; border-left: 0; border-top: 1px solid var(--line); }
  .creds .cred:first-child, .creds .cred:nth-child(2) { border-top: 0; }
}

.enquire-panel {
  position: fixed; top: 0; right: 0; bottom: 0; width: min(460px, 100%); z-index: 90;
  background: var(--ink); color: var(--cream); padding: clamp(2rem, 5vh, 3.5rem) clamp(1.5rem, 4vw, 2.6rem);
  overflow-y: auto; transform: translateX(100%); transition: transform .6s var(--ease); box-shadow: -30px 0 60px -30px rgba(0,0,0,.6);
}
.enquire-panel.open { transform: translateX(0); }
.enquire-backdrop { position: fixed; inset: 0; z-index: 89; background: rgba(15,13,10,.55); opacity: 0; visibility: hidden; transition: opacity .5s, visibility .5s; backdrop-filter: blur(2px); }
.enquire-backdrop.open { opacity: 1; visibility: visible; }
.enquire-panel .close { position: absolute; top: 1.2rem; right: 1.3rem; width: 40px; height: 40px; border: 1px solid var(--line-light); border-radius: 50%; color: var(--cream); font-size: 1.1rem; display: grid; place-items: center; transition: background .3s, transform .3s; }
.enquire-panel .close:hover { background: var(--gold); border-color: var(--gold); transform: rotate(90deg); }
.enquire-panel h2 { font-size: var(--step-2); margin-top: .3rem; }
.enquire-panel .form-compact { display: grid; gap: .9rem; margin-top: 1.6rem; }
.enquire-panel .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
/* Poravnava dvostolpčnih vrstic: oznaka se lahko prelomi v dve vrstici,
   polje pod njo pa mora ostati poravnano s sosednjim. Stolpec je flex,
   oznaka raste in potisne polje na dno — brez tega se vrstici zamakneta. */
.enquire-panel .row2 > div { display: flex; flex-direction: column; }
.enquire-panel .row2 > div > label { flex: 1 0 auto; }
/* Na telefonu so spustni seznami preozki (dolga besedila se odrežejo) — v en stolpec. */
@media (max-width: 560px) { .enquire-panel .row2.row-select { grid-template-columns: 1fr; } }
.enquire-panel label { font-size: .64rem; letter-spacing: .2em; text-transform: uppercase; opacity: .7; display: block; margin-bottom: .35rem; }
.enquire-panel input, .enquire-panel textarea, .enquire-panel select { width: 100%; padding: .7rem .85rem; background: rgba(250,247,241,.05); border: 1px solid rgba(250,247,241,.22); border-radius: 2px; color: var(--cream); font: inherit; font-size: .9rem; }
.enquire-panel input:focus, .enquire-panel textarea:focus, .enquire-panel select:focus { outline: none; border-color: var(--gold-soft); }
.enquire-panel select option { background: var(--ink); color: var(--cream); }
.enquire-panel .consent { font-size: .72rem; opacity: .8; display: flex; gap: .5rem; align-items: flex-start; }
.enquire-panel .consent input { width: auto; margin-top: .2rem; accent-color: var(--gold); }
.enquire-panel .form-note { font-size: .7rem; opacity: .6; margin-top: .6rem; }
.enquire-item { opacity: 0; transform: translateY(14px); transition: opacity .5s var(--ease), transform .5s var(--ease); }
.enquire-panel.open .enquire-item { opacity: 1; transform: none; }
.enquire-panel.open .enquire-item:nth-child(1){transition-delay:.15s} .enquire-panel.open .enquire-item:nth-child(2){transition-delay:.22s} .enquire-panel.open .enquire-item:nth-child(3){transition-delay:.29s} .enquire-panel.open .enquire-item:nth-child(4){transition-delay:.36s} .enquire-panel.open .enquire-item:nth-child(5){transition-delay:.43s}

.lead-member { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.lead-member .photo { position: relative; aspect-ratio: 4/5; border-radius: 3px; overflow: hidden; background: linear-gradient(160deg, var(--ink), var(--ink-2)); }
.lead-member .photo img { width: 100%; height: 100%; object-fit: cover; }
.lead-member .photo .mono { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--font-display); font-size: 4rem; color: var(--gold-soft); }
.lead-member .photo .tbc { position: absolute; left: 0; right: 0; bottom: 0; text-align: center; font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(250,247,241,.6); padding: .5rem; }
.lead-member .role { font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; color: var(--gold); }
.lead-member .big-stat { font-family: var(--font-display); font-size: var(--step-3); color: var(--gold); line-height: 1; margin: .4rem 0 1rem; }
.lead-member blockquote { font-family: var(--font-display); font-style: italic; font-size: var(--step-1); line-height: 1.45; color: var(--ink); margin: 1.2rem 0; }
@media (max-width: 760px) { .teasers { grid-template-columns: 1fr; } .teaser.big { grid-column: span 1; } .lead-member { grid-template-columns: 1fr; } .enquire-panel { width: 100%; } }

/* ===== v5 — full light theme (no black) + cred icons ===== */
.site-header { background: rgba(250,247,241,.92); backdrop-filter: blur(14px); color: var(--ink); box-shadow: 0 1px 0 var(--line); }
.site-header .lang a.active { color: var(--gold); }
.site-header .brand-tag { color: var(--gold); }
.menu { background: var(--cream); color: var(--ink); }
.menu-links a i { color: var(--gold); }
.menu-links a:hover { color: var(--gold); }
.menu-foot { border-top-color: var(--line); opacity: .9; }
.nav-toggle.open { color: var(--ink); }
.veil { background: var(--cream); }
.stats { background: var(--cream-2); color: var(--ink); }
.stats .stat b { color: var(--gold); }
.stats .stat span { color: var(--ink-soft); opacity: 1; }
.film-credit { color: var(--ink-soft); opacity: 1; }
.enquiry { background: var(--cream-2); color: var(--ink); }
.site-footer { background: var(--cream-2); color: var(--ink-soft); border-top: 1px solid var(--line); }
.site-footer h4 { color: var(--ink); }
.site-footer a:hover { color: var(--gold); }
.footer-bottom { border-top-color: var(--line); opacity: .85; }
.enquire-backdrop { background: rgba(25,23,19,.4); }
.enquire-panel { background: var(--cream); color: var(--ink); box-shadow: -30px 0 80px -28px rgba(25,23,19,.4); border-left: 1px solid var(--gold); }
.enquire-panel .close { color: var(--ink); border-color: var(--line); }
.enquire-panel .close:hover { color: #fff; }
.enquire-panel label { color: var(--ink-soft); opacity: 1; }
.enquire-panel input, .enquire-panel textarea, .enquire-panel select { background: #fff; border: 1px solid var(--line); color: var(--ink); }
.enquire-panel input:focus, .enquire-panel textarea:focus, .enquire-panel select:focus { border-color: var(--gold); }
.enquire-panel select option { background: #fff; color: var(--ink); }
/* Lastna zlata puščica namesto sistemske — spustni seznami tako pripadajo
   isti oblikovni govorici kot ostala polja (zlato, tanke črte). */
.enquire-panel select {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' fill='none' stroke='%23b08d3f' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right .9rem center;
  background-size: 11px 7px;
  padding-right: 2.4rem;
  cursor: pointer;
}
.enquire-panel .consent { color: var(--ink-soft); opacity: 1; }
.enquire-panel .form-note { color: var(--ink-soft); opacity: 1; }
.creds .cred::before { content: ""; display: block; width: 28px; height: 28px; margin: 0 auto .3rem; background: center/contain no-repeat; }
.creds .cred:nth-child(1)::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b08d3f' stroke-width='1.4'><circle cx='9' cy='15' r='6'/><circle cx='16' cy='13' r='5'/><path d='M13 5l2-2 2 2-2 2z'/></svg>"); }
.creds .cred:nth-child(2)::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b08d3f' stroke-width='1.4'><path d='M6 14a4 4 0 0 1-1-7.9A4 4 0 0 1 12 4a4 4 0 0 1 7 2.1A4 4 0 0 1 18 14z'/><path d='M6 14v5h12v-5'/></svg>"); }
.creds .cred:nth-child(3)::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b08d3f' stroke-width='1.4'><path d='M7 3h10l-1 6a4 4 0 0 1-8 0z'/><path d='M12 13v6'/><path d='M8 21h8'/></svg>"); }
.creds .cred:nth-child(4)::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b08d3f' stroke-width='1.4'><path d='M4 20c0-8 6-14 16-14 0 10-6 16-14 16'/><path d='M4 20c4-6 8-8 12-9'/></svg>"); }
.creds .cred:nth-child(5)::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b08d3f' stroke-width='1.4' stroke-linejoin='round'><path d='M21 15l-8-3V5a1.5 1.5 0 0 0-3 0v7l-8 3v2l8-2v3l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-3l8 2z'/></svg>"); }
@media (max-width: 640px) { .creds .cred::before { width: 24px; height: 24px; } }

/* brand tag text -> "BLED WEDDINGS" on every page (CSS-only) */
.brand-tag { font-size: 0 !important; }
.brand-tag::after { content: "Bled Weddings"; font-size: .6rem; letter-spacing: .24em; }
/* real Bled Rose crest logo */
.brand-mark { width: 52px; height: 52px; flex: none; background: url('data:image/png;base64,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') center/contain no-repeat; }
.brand-mark img { display: none; }
.brand-word { display: none; }

/* team trio — Nataša, Martin, Urša side by side, equal vertical cards */
.team-grid.trio { grid-template-columns: repeat(3, 1fr); }
.team-grid.trio .member { grid-template-columns: 1fr; }
.team-grid.trio .member-photo { min-height: 300px; }
@media (max-width: 920px) { .team-grid.trio { grid-template-columns: 1fr; } }

/* v5.1 fixes — real logo file (base64 was corrupt) + restore transparent header over hero media */
.brand-mark { background-image: url('../img/logo-mark.png'); }
.site-header { background: transparent; backdrop-filter: none; color: #fff; box-shadow: none; }

/* v9 — real award badge cutouts (transparent PNGs, no background boxes) */
.creds .cred:nth-child(2)::before { background-image: url("/wp-content/uploads/2026/08/cred-gaultmillau.png"); }
.creds .cred:nth-child(3)::before { background-image: url("/wp-content/uploads/2026/08/cred-falstaff.png"); }
.creds .cred:nth-child(4)::before { background-image: url("/wp-content/uploads/2026/08/cred-greenkey.png"); }

/* v5.3 — REAL official Bled Rose Hotel logo (gold) from bledrose.com media library */
.brand-mark {
  width: 210px; height: 38px;
  background-image: url('https://bledrose.com/wp-content/uploads/2026/07/bled-rose-hotel-logo-gold.png');
  background-position: left center;
  background-size: contain;
}

/* v5.3 — polished credentials strip: badges sit directly on the strip, no boxes */
.creds .cred { padding-block: 1.05rem; gap: .55rem; justify-content: flex-start; }
.creds .cred::before { height: 52px; margin: 0 auto .1rem; background-repeat: no-repeat; background-position: center; }
.creds .cred:nth-child(1)::before,
.creds .cred:nth-child(5)::before { width: 52px; background-size: 30px 30px; }
/* v9 — real badge artwork (own brand background — yellow/blue/black), shown as-is, no extra white box */
.creds .cred:nth-child(2)::before,
.creds .cred:nth-child(3)::before,
.creds .cred:nth-child(4)::before {
  background-size: contain; border-radius: 6px;
  box-shadow: 0 6px 16px -10px rgba(25,23,19,.4);
}
.creds .cred:nth-child(2)::before,
.creds .cred:nth-child(4)::before { width: 50px; }
.creds .cred:nth-child(3)::before { width: 128px; }

/* ===== v8 — envelope CTA: cutout PNG (no card/background), blends into the page ===== */
.envelope-cta-wrap { display: flex; flex-direction: column; align-items: center; gap: 1.1rem; }
.envelope-cta {
  display: block; width: min(260px, 74vw);
  background: none; border: 0; padding: 0; cursor: pointer;
}
.envelope-cta img {
  width: 100%; height: auto; display: block;
  filter: drop-shadow(0 20px 30px rgba(25,23,19,.24));
  transition: transform .5s var(--ease), filter .5s var(--ease);
}
.envelope-cta:hover img, .envelope-cta:focus-visible img {
  transform: translateY(-6px) scale(1.025);
  filter: drop-shadow(0 30px 42px rgba(25,23,19,.3));
  outline: none;
}
.envelope-cta-wrap .envelope-cta__hint {
  font-size: .68rem; letter-spacing: .22em; text-transform: uppercase; color: var(--ink-soft); opacity: .7;
  transition: opacity .4s, color .4s;
}
.envelope-cta:hover ~ .envelope-cta__hint, .envelope-cta:focus-visible ~ .envelope-cta__hint { opacity: 1; color: var(--gold); }
@media (prefers-reduced-motion: reduce) { .envelope-cta img { transition: none; } }

/* enquire panel — "fly" open: grows from the trigger element's screen position
   to a centered modal, instead of the default slide-in-from-right */
.enquire-panel.fly-center {
  top: 50%; left: 50%; right: auto; bottom: auto;
  width: min(460px, 92vw); max-height: 86vh;
  border-radius: 10px; border-left: 0;
  box-shadow: 0 50px 100px -30px rgba(25,23,19,.55);
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
  transition: transform .34s var(--ease), opacity .28s var(--ease);
}
.enquire-panel.fly-center.pre-open {
  transform: translate(calc(-50% + var(--fly-dx, 0px)), calc(-50% + var(--fly-dy, 0px))) scale(.08);
  opacity: 0;
}
@media (prefers-reduced-motion: reduce) { .enquire-panel.fly-center, .enquire-panel.fly-center.pre-open { transition: none; transform: translate(-50%, -50%) scale(1); opacity: 1; } }

/* ============================================================
   v10 — real-wedding story pages, reviews, packages clarity,
   wider nav, sticky mobile enquire bar.
   Structure benchmarked against planner competitors; the visual
   language (Playfair, gold/cream, light theme) is unchanged.
   ============================================================ */

/* --- nav now carries 6 links + language + CTA --- */
.nav-desktop { gap: 1.45rem; }
.nav-desktop .btn { padding: .78rem 1.5rem; }
@media (max-width: 1240px) { .nav-desktop { display: none; } .nav-toggle { display: flex; } }

/* --- sticky enquire bar on small screens (injected by main.js) --- */
.mobile-cta {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 80;
  display: none; gap: .6rem; align-items: center;
  padding: .7rem var(--pad) calc(.7rem + env(safe-area-inset-bottom));
  background: rgba(250,247,241,.94); backdrop-filter: blur(14px);
  border-top: 1px solid var(--line);
  transform: translateY(110%); transition: transform .5s var(--ease);
}
.mobile-cta.in { transform: none; }
.mobile-cta .btn { flex: 1 1 auto; justify-content: center; padding: .8rem 1rem; }
.mobile-cta .btn-ghost { flex: 0 0 auto; border-color: var(--line); color: var(--ink-soft); }
@media (max-width: 760px) { .mobile-cta { display: flex; } body { padding-bottom: 4.4rem; } }
@media (prefers-reduced-motion: reduce) { .mobile-cta { transition: none; transform: none; } }

/* --- real-wedding index: one card per wedding --- */
.stories { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.6rem; margin-top: 3rem; }
.story-card { display: flex; flex-direction: column; background: var(--cream); border: 1px solid var(--line); border-radius: 3px; overflow: hidden; transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.story-card:hover { transform: translateY(-6px); box-shadow: 0 32px 60px -38px rgba(25,23,19,.45); }
.story-card .shot { position: relative; aspect-ratio: 4/3; overflow: hidden; }
.story-card .shot img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.3s var(--ease); }
.story-card:hover .shot img { transform: scale(1.05); }
.story-card .flag { position: absolute; top: 1rem; left: 1rem; z-index: 2; background: rgba(250,247,241,.92); color: var(--gold); font-size: .6rem; letter-spacing: .24em; text-transform: uppercase; padding: .35rem .8rem; border-radius: 999px; }
.story-card .body { padding: 1.7rem 1.6rem 1.9rem; display: flex; flex-direction: column; gap: .55rem; flex: 1; }
.story-card .body .when { font-size: .66rem; letter-spacing: .24em; text-transform: uppercase; color: var(--gold); }
.story-card .body h3 { font-size: 1.55rem; }
.story-card .body p { font-size: .9rem; color: var(--ink-soft); }
.story-card .more { margin-top: auto; padding-top: 1.1rem; font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ink); display: inline-flex; align-items: center; gap: .55rem; }
.story-card .more::after { content: "\2192"; transition: transform .4s var(--ease); }
.story-card:hover .more::after { transform: translateX(5px); }

/* --- single real-wedding story --- */
.story-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1.2rem 2rem; padding: 1.6rem 0; border-block: 1px solid var(--line); margin-bottom: 3rem; }
.story-meta div span { display: block; font-size: .62rem; letter-spacing: .24em; text-transform: uppercase; color: var(--gold); margin-bottom: .35rem; }
.story-meta div b { font-family: var(--font-display); font-weight: 430; font-size: 1.05rem; }
.chapter { max-width: 62ch; margin: 0 auto; text-align: center; }
.chapter .no { font-size: .64rem; letter-spacing: .3em; text-transform: uppercase; color: var(--gold); display: block; margin-bottom: .8rem; }
.chapter h2 { font-size: var(--step-2); }
.chapter p { color: var(--ink-soft); margin-top: 1rem; }
.frames { display: grid; gap: 1.1rem; margin: 2.6rem 0 4rem; }
.frames img { width: 100%; border-radius: 3px; }
.frames.two { grid-template-columns: 1fr 1fr; }
.frames.three { grid-template-columns: repeat(3, 1fr); }
.frames.offset { grid-template-columns: 1fr 1fr; align-items: start; }
.frames.offset > :nth-child(2) { margin-top: clamp(1.5rem, 5vw, 4rem); }
.frames.wide img { aspect-ratio: 16/9; object-fit: cover; }
.frames.two img, .frames.three img, .frames.offset img { aspect-ratio: 4/5; object-fit: cover; }
@media (max-width: 760px) { .frames.three { grid-template-columns: 1fr 1fr; } .frames.three > :nth-child(3) { grid-column: span 2; } .frames.three > :nth-child(3) img { aspect-ratio: 16/10; } }
@media (max-width: 520px) { .frames.two, .frames.three, .frames.offset { grid-template-columns: 1fr; } .frames.offset > :nth-child(2) { margin-top: 0; } .frames.three > :nth-child(3) { grid-column: span 1; } }
.story-credit { font-size: .8rem; color: var(--ink-soft); border-top: 1px solid var(--line); padding-top: 1.4rem; }
.story-nav { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: 2.4rem; padding-top: 1.6rem; border-top: 1px solid var(--line); font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; }
.story-nav a:hover { color: var(--gold); }

/* --- reviews --- */
.reviews-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 1.4rem; margin-top: 3rem; }
.review { background: var(--cream); border: 1px solid var(--line); border-radius: 3px; padding: 2.1rem 1.9rem; display: flex; flex-direction: column; gap: 1rem; }
.review .src { font-size: .62rem; letter-spacing: .24em; text-transform: uppercase; color: var(--gold); }
.review blockquote { font-family: var(--font-display); font-size: 1.12rem; line-height: 1.5; font-style: italic; color: var(--ink); }
.review .who { margin-top: auto; font-size: .82rem; color: var(--ink-soft); }
.review.pending { border-style: dashed; border-color: rgba(176,141,63,.5); background: transparent; }
.review.pending blockquote { color: var(--ink-soft); opacity: .5; font-style: normal; }
.review .pending-tag { font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); border: 1px solid rgba(176,141,63,.4); border-radius: 999px; padding: .25rem .7rem; align-self: flex-start; }
.review-note { margin-top: 2.6rem; padding: 1.4rem 1.6rem; border: 1px solid var(--line); background: var(--cream); font-size: .86rem; color: var(--ink-soft); }
.review-note b { color: var(--ink); }

/* ============================================================
   v11 — (1) guest quotes + review platforms on the reviews page,
         (2) "What we can host" band on the home page.
   No new colours, no new fonts: same gold / cream / Playfair.
   ============================================================ */

/* --- real guest testimonials (hotel stays, NOT weddings) ---
   Visually quieter than the wedding-review cards above them, so a
   visitor never mistakes a general guest review for a couple's review. */
.guests { margin-top: 4.5rem; padding-top: 3rem; border-top: 1px solid var(--line); }
.guests .disclaim { font-size: .82rem; color: var(--ink-soft); max-width: 68ch; margin-top: .9rem; }
.gq-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.4rem; margin-top: 2.2rem; }
.gq { background: var(--cream-2); border: 1px solid var(--line); border-radius: 3px; padding: 1.7rem 1.6rem; display: flex; flex-direction: column; gap: .9rem; }
.gq blockquote { font-family: var(--font-display); font-style: italic; font-size: 1.02rem; line-height: 1.55; color: var(--ink); }
.gq blockquote::before { content: "\201C"; color: var(--gold); margin-right: .1em; }
.gq blockquote::after { content: "\201D"; color: var(--gold); margin-left: .05em; }
.gq .who { margin-top: auto; font-size: .78rem; color: var(--ink-soft); }
.gq .who b { color: var(--ink); font-weight: 500; }
.gq .where { font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); }

/* --- links out to the review platforms --- */
.platforms { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2.4rem; }
.platform {
  position: relative;
  display: inline-flex; flex-direction: column; gap: .25rem;
  border: 1px solid var(--line); border-radius: 3px;
  padding: .95rem 2.4rem .95rem 1.3rem; min-width: 190px;
  transition: border-color .4s var(--ease), transform .4s var(--ease);
}
.platform:hover { border-color: var(--gold); transform: translateY(-3px); }
.platform b { font-family: var(--font-display); font-weight: 430; font-size: 1.05rem; }
.platform span { font-size: .72rem; color: var(--ink-soft); }
.platform::after { content: "\2197"; position: absolute; right: 1.1rem; top: 1rem; color: var(--gold); font-size: .8rem; }

/* --- "What we can host" band (home page) --- */
.hosts { background: var(--cream-2); border-block: 1px solid var(--line); }
.hosts .hosts-head { text-align: center; max-width: 60ch; margin: 0 auto 2.6rem; }
.hosts .hosts-head p { color: var(--ink-soft); margin-top: .9rem; font-size: .95rem; }
.host-row { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; }
.host {
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: .9rem;
  padding: 1.7rem 1rem 1.5rem;
  background: var(--cream); border: 1px solid var(--line); border-radius: 3px;
  transition: transform .5s var(--ease), border-color .5s var(--ease), box-shadow .5s var(--ease);
}
a.host:hover { transform: translateY(-6px); border-color: var(--gold); box-shadow: 0 26px 46px -34px rgba(25,23,19,.5); }
.host svg { width: 42px; height: 42px; stroke: var(--gold); stroke-width: 1.1; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.host b { font-family: var(--font-display); font-weight: 430; font-size: 1.02rem; line-height: 1.25; }
.host i { font-style: normal; font-size: .72rem; color: var(--ink-soft); }
.host .tag { font-size: .55rem; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); border: 1px solid rgba(176,141,63,.45); border-radius: 999px; padding: .22rem .6rem; }
@media (max-width: 1100px) { .host-row { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .host-row { grid-template-columns: repeat(2, 1fr); gap: .7rem; } .host { padding: 1.3rem .7rem 1.2rem; } .host svg { width: 34px; height: 34px; } }

/* --- packages: clearer split between what is included and extras --- */
.pkg-intro { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(1.8rem, 5vw, 4rem); align-items: start; }
.always { background: var(--cream); border: 1px solid var(--line); border-radius: 3px; padding: 1.9rem; }
.always h3 { font-size: 1.2rem; margin-bottom: 1rem; }
.always ul { display: grid; gap: .55rem; font-size: .9rem; color: var(--ink-soft); }
.always ul li { padding-left: 1.5rem; position: relative; }
.always ul li::before { content: "\2713"; position: absolute; left: 0; color: var(--gold); font-size: .8rem; }
.pkg .fits { font-size: .72rem; letter-spacing: .1em; color: var(--ink-soft); border: 1px solid var(--line); border-radius: 999px; padding: .3rem .8rem; align-self: flex-start; }
.addons { margin-top: 4.5rem; padding-top: 3rem; border-top: 1px solid var(--line); }
.addons-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 0 2.4rem; margin-top: 2rem; }
.addons-list li { padding: .85rem 0 .85rem 1.6rem; border-bottom: 1px solid var(--line); position: relative; font-size: .93rem; }
.addons-list li::before { content: "+"; position: absolute; left: 0; color: var(--gold); }
.addons-list li b { font-weight: 500; }
.addons-list li i { display: block; font-style: normal; font-size: .8rem; color: var(--ink-soft); }
.howto { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 2rem; margin-top: 3rem; }
.howto div span { display: block; font-family: var(--font-display); font-size: 1.6rem; color: var(--gold); line-height: 1; margin-bottom: .6rem; }
.howto div p { font-size: .9rem; color: var(--ink-soft); }
@media (max-width: 860px) { .pkg-intro { grid-template-columns: 1fr; } }

/* ============================================================
   WORDPRESS DODATKI (edini del, ki ga prototip nima)
   Samo nujno: admin bar, poravnave, opisi slik, gutenberg razredi.
   ============================================================ */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
.alignleft { float: left; margin: 0 1.5rem 1rem 0; }
.alignright { float: right; margin: 0 0 1rem 1.5rem; }
.aligncenter { margin-inline: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text, .wp-element-caption { font-size: .8rem; color: var(--ink-soft); margin-top: .5rem; }
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0;
  margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link:focus {
  position: fixed; top: 8px; left: 8px; z-index: 200; width: auto; height: auto;
  clip: auto; background: var(--cream); color: var(--ink); padding: .7rem 1.1rem; border: 1px solid var(--gold);
}
/* prazna stran / 404 / iskanje — uporabi obstoječi jezik strani */
.bw-plain { padding-top: calc(var(--space) + 4rem); }
.bw-plain .entry-content > * + * { margin-top: 1.1rem; }
.bw-plain .entry-content h2 { margin-top: 2.2rem; }
/* pogosta vprašanja (nova sekcija, ki je prototip ni imel) */
.faq details { border-top: 1px solid var(--line); padding: 1.15rem 0; }
.faq details:last-child { border-bottom: 1px solid var(--line); }
.faq summary {
  font-family: var(--font-display);
  font-size: var(--step-1);
  line-height: 1.25;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  align-items: baseline;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; color: var(--gold); font-family: var(--font-body); font-size: 1.2rem; }
.faq details[open] summary::after { content: '\2013'; }
.faq details p { margin-top: .8rem; color: var(--ink-soft); max-width: 64ch; }

/* obrazec: sporocila o uspehu/napaki */
.form-status { margin-top: .9rem; font-size: .86rem; line-height: 1.5; }
.form-status.ok { color: var(--gold); }
.form-status.err { color: #a33; }
.enquiry-form.is-sending { opacity: .6; pointer-events: none; }

/* ===== v12 - mnenja: fotografija v ozadju kartic ===== */
.reviews-grid .review, .gq-grid .gq { position: relative; overflow: hidden; background-size: cover; background-position: center; }
.reviews-grid .review::after, .gq-grid .gq::after { content: ""; position: absolute; inset: 0; background: rgba(250,247,241,.9); transition: background .6s var(--ease); pointer-events: none; }
.reviews-grid .review:hover::after, .gq-grid .gq:hover::after { background: rgba(250,247,241,.8); }
.reviews-grid .review > *, .gq-grid .gq > * { position: relative; z-index: 1; }
.reviews-grid .review:nth-child(1) { background-image: url(/wp-content/uploads/2026/08/china-01.jpg); }
.reviews-grid .review:nth-child(2) { background-image: url(/wp-content/uploads/2026/08/ceremony.jpg); }
.reviews-grid .review:nth-child(3) { background-image: url(/wp-content/uploads/2026/08/china-04.jpg); }
.reviews-grid .review:nth-child(4) { background-image: url(/wp-content/uploads/2026/08/china-05.jpg); }
.reviews-grid .review:nth-child(5) { background-image: url(/wp-content/uploads/2026/08/china-01.jpg); }
.reviews-grid .review:nth-child(6) { background-image: url(/wp-content/uploads/2026/08/ceremony.jpg); }
.gq-grid .gq:nth-child(1) { background-image: url(/wp-content/uploads/2026/08/china-04.jpg); }
.gq-grid .gq:nth-child(2) { background-image: url(/wp-content/uploads/2026/08/china-05.jpg); }
.gq-grid .gq:nth-child(3) { background-image: url(/wp-content/uploads/2026/08/china-01.jpg); }

/* ==========================================================
   v13 — GIBANJE IN GLOBINA
   ========================================================== */
::selection { background: rgba(176,141,63,.22); color: var(--ink); }
html { scrollbar-color: var(--gold-soft) var(--cream-2); scrollbar-width: thin; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--cream-2); }
::-webkit-scrollbar-thumb { background: var(--gold-soft); border-radius: 999px; border: 3px solid var(--cream-2); }
::-webkit-scrollbar-thumb:hover { background: var(--gold); }
:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 2px; }
:where(input, textarea) { caret-color: var(--gold); }
a { text-underline-offset: .22em; text-decoration-thickness: 1px; }
.stat b, .cred b, table, time { font-variant-numeric: tabular-nums lining-nums; }

.hero-media { clip-path: inset(0 var(--bw-slit, 0%) 0 var(--bw-slit, 0%)); }
.hero-rule { display: block; height: 1px; margin: 1.6rem 0 0; background: var(--gold); transform: scaleX(0); transform-origin: left; }

.split figure.reveal, .teaser.reveal, .moment.reveal, figure.reveal {
  clip-path: inset(0 0 100% 0);
  transition: clip-path 1.1s cubic-bezier(.16,1,.3,1), opacity .6s cubic-bezier(.16,1,.3,1);
}
.split figure.reveal.in, .teaser.reveal.in, .moment.reveal.in, figure.reveal.in { clip-path: inset(0 0 0 0); }

.story-card, .pkg, .host { transform-style: preserve-3d; transition: transform .5s cubic-bezier(.16,1,.3,1), box-shadow .5s cubic-bezier(.16,1,.3,1); }
.story-card.tilt, .pkg.tilt, .host.tilt { transition: transform .12s linear, box-shadow .5s cubic-bezier(.16,1,.3,1); }
.pkg:hover, .host:hover { box-shadow: 0 28px 54px -34px rgba(25,23,19,.42); }

@media (prefers-reduced-motion: reduce) {
  .hero-media { clip-path: none; }
  .hero-rule { transform: none; }
  .split figure.reveal, .teaser.reveal, .moment.reveal, figure.reveal { clip-path: none; transition: none; }
  .story-card, .pkg, .host { transition: none; }
}

/* v14 — prazen nadnaslov ne sme puscati prostora */

/* ==========================================================
   v15 — kaj gostimo: iz mreze kartic v uredniski seznam.
   Kartica je leni zabojnik; seznam pove isto tise in dražje.
   ========================================================== */
.host-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(2rem, 5vw, 5rem);
  margin-top: 2.8rem;
  border-top: 1px solid var(--line);
  text-align: left;
}
.host {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: .35rem 1.2rem;
  padding: 1.15rem .1rem 1.25rem;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: none;
  box-shadow: none !important;
  text-align: left;
  transform: none !important;
}
.host svg { display: none; }
.host b {
  grid-column: 1;
  font-family: var(--font-display);
  font-size: clamp(1.18rem, 1rem + .55vw, 1.55rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--ink);
  transition: color .35s var(--ease);
}
.host i {
  grid-column: 1 / -1;
  font-style: normal;
  font-size: .78rem;
  line-height: 1.5;
  color: var(--ink-soft);
  max-width: 44ch;
}
.host .tag { grid-column: 2; grid-row: 1; align-self: center; }
a.host:hover, a.host:focus-visible { border-bottom-color: var(--gold); }
a.host:hover b, a.host:focus-visible b { color: var(--gold); }
@media (max-width: 720px) { .host-row { grid-template-columns: 1fr; } }

/* ==========================================================
   v16 — znacke: risane zlate ikone namesto surovih logotipov.
   Logotipi so imeli vpecena barvna ozadja (rumeno, crno, cian)
   in so na kremni paleti brali kot listic nalepk.
   Ime nagrade v Cormorantu je znacka; ikona jo samo pospremi.
   ========================================================== */
.creds .cred:nth-child(2)::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b08d3f' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'><path d='M7 14v5.5h10V14'/><path d='M7 14a3.1 3.1 0 0 1-1-6 3.3 3.3 0 0 1 4-3.3 3.5 3.5 0 0 1 6 0 3.3 3.3 0 0 1 4 3.3 3.1 3.1 0 0 1-1 6z'/><path d='M9.6 19.5v-4M14.4 19.5v-4'/></svg>"); }
.creds .cred:nth-child(3)::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b08d3f' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'><path d='M8.2 3.5h7.6l-.9 5.6a3 3 0 0 1-5.8 0z'/><path d='M12 12.4v6.1'/><path d='M9.2 20.5h5.6'/></svg>"); }
.creds .cred:nth-child(4)::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b08d3f' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'><circle cx='8.4' cy='9' r='3.9'/><path d='M11.2 11.8 19 19.6'/><path d='M16.2 16.6l1.8-1.8'/></svg>"); }
.creds .cred::before { width: 26px; height: 26px; opacity: .9; }

/* ==========================================================
   v17 — slika ob kazalcu.
   Seznami ostanejo tihi; fotografija se pojavi ob kazalcu,
   ko obiskovalec zapelje cez vrstico. Nic skatel, nic mreze.
   ========================================================== */

/* vrstice, ki nosijo pogled: rahel zamik, da je jasno kaj je aktivno */
.host, .addons-list li { transition: color .35s var(--ease), padding-left .45s cubic-bezier(.16,1,.3,1); }
.addons-list li { list-style: none; }

@media (hover: none), (prefers-reduced-motion: reduce) {
  .host, .addons-list li { transition: none; }
}

/* ==========================================================
   v18 — raztegnjene slike v galerijah.
   Slike so imele object-fit: fill ob fiksni visini, zato so
   se raztegovale (ceremony.jpg 415x622 prikazana kot 415x1024).
   Cover obreze namesto popaci.
   ========================================================== */
.masonry img, .frames img, .moment img, .story-card .shot img, .split figure img {
  object-fit: cover;
  object-position: center;
}

/* ============================================================
   v10 (17. 8. 2026) — header legibility + credentials strip
   ============================================================ */

/* The bar was transparent over the hero, and the crest logo is gold:
   on bright wedding photography it disappeared entirely. The header now
   sits on the brand cream surface at all times. */
.site-header {
  background: rgba(250, 247, 241, .95);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  color: var(--ink);
  box-shadow: 0 1px 0 var(--line);
}
.site-header .brand-tag { color: var(--gold); border-left-color: rgba(25,23,19,.18); }
.site-header .lang a.active { color: var(--gold); }
.nav-toggle { color: var(--ink); }

/* Credentials strip — a single typographic system. Three photographic award
   badges (own yellow/blue/black grounds, drop shadows) sat beside two drawn
   gold icons; the mix read as clip-art. The names carry the same authority. */
.creds .cred::before { content: none !important; }
.creds .cred {
  padding: 1.2rem clamp(1rem, 2.6vw, 2.6rem);
  gap: .5rem;
  justify-content: center;
}
.creds .cred b {
  font-weight: 400;
  font-size: clamp(1.15rem, .95rem + .55vw, 1.5rem);
  color: #8a6d28;
}
.creds .cred span { font-size: .58rem; letter-spacing: .26em; }
@media (max-width: 860px) {
  .creds .cred { flex: 1 1 40%; padding: .95rem .6rem; }
}

/* v10.1 — phone header proportions: the 210px wordmark took over half the
   width of a 390px screen, leaving the bar cramped next to the toggle. */
@media (max-width: 560px) {
  .brand-mark { width: 154px; height: 30px; }
  .site-header { padding-block: .85rem; }
}

/* ============================================================
   v11 (17. 8. 2026) — rose ornament
   A gold-foil rose engraving, generated for the brand, used once per page
   above the closing invitation. Deliberately singular: repeated flourishes
   are what made the old award strip read as clip-art. `multiply` drops the
   white paper into the cream surface and keeps only the gold.
   ============================================================ */
.enquiry h2::before {
  content: "";
  display: block;
  width: 92px; height: 92px;
  margin: 0 auto .7rem;
  background-color: var(--cream-2);
  background-image: url("/wp-content/uploads/2026/08/rose-ornament-gold.png");
  background-position: center;
  background-size: 300%;
  background-repeat: no-repeat;
  /* blended inside the element, so the GSAP transform stacking context
     cannot isolate it into a pale box the way mix-blend-mode did */
  background-blend-mode: multiply;
  /* filter runs AFTER background-blend-mode, so brightening here just
     lifted the whole tile above the cream. Feather the tile edge instead:
     the paper tone fades out and no rectangle is ever visible. */
  -webkit-mask-image: radial-gradient(circle at 50% 48%, #000 46%, transparent 68%);
          mask-image: radial-gradient(circle at 50% 48%, #000 46%, transparent 68%);
  opacity: .92;
}
@media (max-width: 560px) { .enquiry h2::before { width: 70px; height: 70px; } }
@media (prefers-reduced-motion: no-preference) {
  .enquiry.in h2::before { animation: rose-in 1.1s var(--ease) both; }
}
@keyframes rose-in {
  from { opacity: 0; transform: translateY(8px) scale(.94); }
  to   { opacity: .92; transform: none; }
}


/* ==========================================================================
   v1.12.0 — vsebinske strani (vodniki, pravna besedila)
   page.php izrise the_content() v .bw-plain .entry-content, kar do zdaj ni
   imelo stilov za povezave, tabele in sezname. Posledica: notranje povezave
   so bile vizualno neopazne (ista barva kot besedilo, brez podcrtaja),
   tabele pa brez razmikov in crt. Prodajne predloge ostajajo nedotaknjene.
   ========================================================================== */

.bw-plain .entry-content a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: var(--gold);
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
  transition: color .25s var(--ease), text-decoration-color .25s var(--ease);
}
.bw-plain .entry-content a:hover,
.bw-plain .entry-content a:focus-visible { color: var(--gold); }

.bw-plain .entry-content ul,
.bw-plain .entry-content ol { padding-left: 1.35rem; }
.bw-plain .entry-content li + li { margin-top: .55rem; }
.bw-plain .entry-content li::marker { color: var(--gold); }

.bw-plain .entry-content h3 { margin-top: 1.8rem; }

.bw-plain .entry-content figure { margin: 2rem 0; overflow-x: auto; }
.bw-plain .entry-content table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.bw-plain .entry-content th,
.bw-plain .entry-content td {
  padding: .8rem .9rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--line);
}
.bw-plain .entry-content th {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gold);
  border-bottom-color: var(--gold);
}
.bw-plain .entry-content tbody tr:last-child td { border-bottom: none; }

.bw-plain .entry-content hr { margin: 2.6rem 0; border: 0; border-top: 1px solid var(--line); }


/* ==========================================================================
   v1.13.0 — pas certifikatov pod pasom dokazil (domaca stran)
   Logotipi so mocno barvni (rumen G&M, moder Green Key, crn Falstaff) in bi
   se ob kremni podlagi tepli med seboj. Bele ploscice enake velikosti jih
   nevtralizirajo in dajo pasu miren, urejen ritem.
   ========================================================================== */

.certs {
  background: var(--cream-2);
  border-bottom: 1px solid var(--line);
  padding-block: 1.7rem;
}
.certs-label {
  margin: 0 0 1.05rem;
  text-align: center;
  font-family: var(--font-body);
  font-size: .58rem;
  font-weight: 400;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--ink-soft);
}
.certs-row {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .85rem 1.3rem;
}
.certs-row li {
  width: 94px;
  height: 94px;
  padding: .6rem;
  background: #fff;
  border: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: center;
}
.certs-row img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
@media (max-width: 640px) {
  .certs { padding-block: 1.3rem; }
  .certs-row { gap: .6rem .7rem; }
  .certs-row li { width: 72px; height: 72px; padding: .45rem; }
}


/* ==========================================================================
   v1.14.0 — cisti sevi med sekcijami (domaca stran)

   PRAVILO: sev med sekcijama je ALI sprememba barve ozadja ALI 1px crta —
   nikoli oboje in nikoli nic.

   Prej: .trust, .hosts in .certs so risali crto tudi tam, kjer se barva ze
   spremeni (dvojni sev, na treh mestih), .film in .enquiry pa sta ob isti
   barvi in brez crte zlila v en ~700px nerazclenjen blok.
   ========================================================================== */

/* barva se spremeni -> crta je odvec */
.trust  { border-block: 0; }
.hosts  { border-block: 0; }
.certs  { border-bottom: 0; }

/* ista barva, razlicni sekciji -> crta je edini sev, ki ju loci */
.trust + .certs   { border-top: 1px solid var(--line); }
.film  + .enquiry { border-top: 1px solid var(--line); }


/* ==========================================================
   v1.15.0 — "Not only the wedding day" reveal panel
   Editorial index stays a list; hovering/focusing a row on
   desktop swaps a large photo panel. On mobile the panel sits
   above the list as a single calm image. One signature move.
   ========================================================== */
.hosts-grid{
  display:flex;
  flex-direction:column-reverse;
  gap:1.75rem;
  align-items:stretch;
}
.hosts-visual{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--cream-2);
}
.hosts-visual::after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid var(--gold);
  opacity:.45;
  pointer-events:none;
}
.hosts-visual-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.045);
  transition:opacity .7s ease, transform 1.1s cubic-bezier(.16,1,.3,1);
}
.hosts-visual-img.is-active{
  opacity:1;
  transform:scale(1);
}
@media (min-width:900px){
  .hosts-grid{
    flex-direction:row;
    align-items:flex-start;
    gap:clamp(2rem,4vw,3.5rem);
  }
  .host-row{ flex:1 1 auto; min-width:0; }
  .hosts-visual{
    flex:0 0 clamp(240px,28vw,360px);
    aspect-ratio:4/5;
    position:sticky;
    top:6.5rem;
  }
}
@media (prefers-reduced-motion: reduce){
  .hosts-visual-img{ transition:opacity .3s ease; transform:none; }
}


/* ============================================================================
   v15 — ŠIVI MED SEKCIJAMI (zlata vrtnica) + ritem razkritij
   Datoteka: style.css  ·  NAČIN: PRILEPI NA KONEC (append-only)
   Datum: 31. 8. 2026
   ============================================================================ */

:root {
  --bw-seam-gap:  clamp(2.4rem, 5vw, 4rem);
  --bw-seam-ink:  rgba(176, 141, 63, .42);
  --bw-hairline:  linear-gradient(90deg, transparent, var(--line) 14%, var(--line) 86%, transparent);
}

.bw-seam {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(.9rem, 2.4vw, 1.6rem);
  max-width: 1280px;
  margin: var(--bw-seam-gap) auto;
  padding-inline: var(--pad);
  opacity: 0;
  pointer-events: none;
}

.bw-seam__rule {
  flex: 1 1 auto;
  max-width: min(30vw, 300px);
  height: 1px;
  transform: scaleX(0);
}
.bw-seam__rule--l { transform-origin: right center; background: linear-gradient(270deg, var(--bw-seam-ink), transparent); }
.bw-seam__rule--r { transform-origin: left  center; background: linear-gradient( 90deg, var(--bw-seam-ink), transparent); }

.bw-seam__mark { flex: none; color: var(--gold); overflow: visible; display: block; }
.bw-seam__mark path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.1;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.bw-seam--bloom .bw-seam__mark { width: 44px; height: 40px; }
.bw-seam--sprig .bw-seam__mark { width: 30px; height: 32px; }
.bw-seam--rule  .bw-seam__mark { width: 18px; height: 18px; opacity: .8; }
.bw-seam--rule  .bw-seam__rule { max-width: min(22vw, 210px); }
.bw-seam--rule  { margin-block: calc(var(--bw-seam-gap) * .62); }

.bw-seam + .section { padding-top: calc(var(--space) * .58); }

.entry-content > .bw-seam { padding-inline: 0; margin-block: clamp(2rem, 4vw, 3rem); }

.bw-seam.is-before-dark .bw-seam__rule--l { background: linear-gradient(270deg, rgba(211,186,130,.5), transparent); }
.bw-seam.is-before-dark .bw-seam__rule--r { background: linear-gradient( 90deg, rgba(211,186,130,.5), transparent); }

.trust  { border-block-color: transparent; position: relative; }
.trust::before,
.trust::after  { content: ""; position: absolute; left: 0; right: 0; height: 1px; background: var(--bw-hairline); pointer-events: none; }
.trust::before { top: 0; }
.trust::after  { bottom: 0; }

.guests  { border-top-color: transparent; position: relative; }
.guests::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: var(--bw-hairline); pointer-events: none; }

.bw-hero-rule {
  display: block;
  width: min(220px, 44%);
  height: 1px;
  margin: 1.4rem auto .2rem;
  background: linear-gradient(90deg, transparent, var(--gold-soft), transparent);
  transform: scaleX(0);
}

.bw-rise {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .8s var(--ease), transform .8s var(--ease);
}
.bw-rise.in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .bw-seam            { opacity: 1 !important; }
  .bw-seam__rule      { transform: none !important; }
  .bw-seam__mark path { stroke-dasharray: none !important; stroke-dashoffset: 0 !important; }
  .bw-hero-rule       { transform: none !important; }
  .bw-rise            { opacity: 1 !important; transform: none !important; transition: none !important; }
}

@media (max-width: 640px) {
  .bw-seam { --bw-seam-gap: 2rem; }
  .bw-seam--bloom .bw-seam__mark { width: 36px; height: 33px; }
  .bw-seam__rule { max-width: 22vw; }
}
