/* ==========================================================================
   Nicolai Flora — Homepage concept components
   (collection split, greenhouse gallery, process strip, export globe,
   magazine grid, final CTA, footer extras)
   ========================================================================== */

/* ----- Hero decorative chrome (scroll cue + index counter) ----- */
.hero-cue-row{
  position:absolute; bottom:34px; left:0; right:0; z-index:6;
  display:flex; align-items:flex-end; justify-content:space-between;
  padding-inline:24px; pointer-events:none;
}
@media(min-width:1240px){ .hero-cue-row{ padding-inline:calc((100% - 1240px)/2 + 24px); } }
.hero-scroll{
  display:flex; align-items:center; gap:12px; color:var(--c-ivory-dim);
  font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; opacity:.8;
}
.hero-scroll .dot-ring{
  width:34px; height:34px; border-radius:50%; border:1px solid rgba(230,205,138,.4);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.hero-scroll .dot-ring::after{ content:""; width:5px; height:5px; border-radius:50%; background:var(--c-gold-light); animation:scroll-bounce 1.8s ease-in-out infinite; }
@keyframes scroll-bounce{ 0%,100%{ transform:translateY(-4px); opacity:.4;} 50%{ transform:translateY(4px); opacity:1;} }
.hero-index{
  display:flex; flex-direction:column; align-items:center; gap:10px;
  color:var(--c-gold-light); font-family:var(--font-en-head); font-size:.85rem; letter-spacing:.05em;
}
.hero-index .idx-line{ width:1px; height:30px; background:linear-gradient(var(--c-gold-light), transparent); }
.hero-index span:last-child{ color:var(--c-ivory-dim); opacity:.5; font-size:.78rem; }

/* ----- Generic split-row (text col + wide media/content col) ----- */
.split-row{ display:grid; gap:40px; align-items:center; }
@media(min-width:980px){ .split-row{ grid-template-columns:.72fr 1.28fr; gap:56px; } }
.split-row.head-right{ direction:ltr; }
.split-row.head-right > *{ direction:inherit; }
[dir="rtl"] .split-row.head-right{ direction:rtl; }
.split-text .title-md{ margin-top:2px; }
.split-text .lead{ font-size:1rem; }

/* ----- Collection cards row ----- */
.collection-cards{
  display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x proximity; padding-bottom:6px;
  scrollbar-width:none;
}
.collection-cards::-webkit-scrollbar{ display:none; }
.mini-card{
  position:relative; flex:0 0 clamp(150px,22vw,220px); scroll-snap-align:start;
  border-radius:var(--radius-md); overflow:hidden; aspect-ratio:3/4;
  background:var(--c-forest-900); box-shadow:var(--shadow-lux);
  border:1px solid rgba(230,205,138,.1);
}
.mini-card img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease-lux); }
.mini-card:hover img{ transform:scale(1.08); }
.mini-card::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(7,12,9,0) 45%, rgba(7,12,9,.9) 100%); }
.mini-card .card-tag{ font-size:.62rem; padding:5px 12px; }
.mini-card .mini-body{ position:absolute; inset-inline:0; bottom:0; z-index:2; padding:16px; }
.mini-card .mini-body h3{ font-size:1rem; margin:0; }
@media(min-width:720px){ .collection-cards{ overflow:visible; flex-wrap:wrap; } .mini-card{ flex:1 1 0; } }

.dots-row{ display:flex; gap:8px; justify-content:center; margin-top:26px; }
.dots-row span{ width:7px; height:7px; border-radius:50%; background:rgba(230,205,138,.25); transition:background .3s, transform .3s; }
.dots-row span.active{ background:var(--c-gold-light); transform:scale(1.25); }

/* ----- Greenhouse media (panorama + stacked thumbs) ----- */
.greenhouse-media{ display:grid; grid-template-columns:1fr; gap:14px; }
@media(min-width:640px){ .greenhouse-media{ grid-template-columns:1.6fr 1fr; } }
.greenhouse-pano{ position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:16/11; box-shadow:var(--shadow-lux); }
.greenhouse-pano img{ width:100%; height:100%; object-fit:cover; }
.greenhouse-thumbs{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
@media(min-width:640px){ .greenhouse-thumbs{ grid-template-columns:1fr; } }
.greenhouse-thumbs .g-thumb{ position:relative; border-radius:var(--radius-md); overflow:hidden; aspect-ratio:1/1; box-shadow:var(--shadow-lux); }
@media(min-width:640px){ .greenhouse-thumbs .g-thumb{ aspect-ratio:16/10; } }
.greenhouse-thumbs .g-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease-lux); }
.greenhouse-thumbs .g-thumb:hover img{ transform:scale(1.08); }

/* ----- Process strip + why-us pairing ----- */
.process-wrap{ display:flex; flex-direction:column; gap:40px; }
@media(min-width:1080px){ .process-wrap{ flex-direction:row; align-items:center; gap:50px; } }
.process-strip{ display:flex; flex-wrap:wrap; gap:0; flex:1; }
.process-step{
  flex:1 1 110px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px;
  padding:0 10px; position:relative;
}
.process-step:not(:last-child)::after{
  content:""; position:absolute; top:26px; inset-inline-end:-4px; width:calc(100% - 52px); height:1px;
  background:linear-gradient(90deg, rgba(230,205,138,.35), rgba(230,205,138,.05));
}
[dir="rtl"] .process-step:not(:last-child)::after{ background:linear-gradient(270deg, rgba(230,205,138,.35), rgba(230,205,138,.05)); }
.process-step .ic{
  width:54px; height:54px; border-radius:50%; border:1px solid rgba(230,205,138,.3); background:var(--c-glass);
  display:flex; align-items:center; justify-content:center; color:var(--c-gold-light); flex-shrink:0;
}
.process-step .ic svg{ width:22px; height:22px; }
.process-step b{ font-size:.85rem; color:var(--c-ivory); font-weight:600; }
.process-step span{ font-size:.72rem; color:var(--c-mist); opacity:.8; }
.process-side{ flex:0 0 auto; max-width:340px; }
@media(min-width:1080px){ .process-side{ border-inline-start:1px solid rgba(230,205,138,.14); padding-inline-start:44px; } }

/* ----- Export / globe section ----- */
.globe-wrap{ position:relative; aspect-ratio:1/1; max-width:420px; margin-inline:auto; }
.globe-wrap svg{ width:100%; height:100%; }
.globe-glow{ position:absolute; inset:-10%; border-radius:50%; background:radial-gradient(circle, rgba(42,138,92,.35), transparent 68%); filter:blur(30px); z-index:-1; }
.icon-list{ display:grid; grid-template-columns:1fr; gap:16px; margin-top:26px; }
@media(min-width:560px){ .icon-list{ grid-template-columns:1fr 1fr; } }
.icon-list li{ display:flex; align-items:center; gap:14px; font-size:.9rem; color:var(--c-ivory-dim); }
.icon-list .ic{
  width:38px; height:38px; border-radius:12px; background:rgba(230,205,138,.08); border:1px solid rgba(230,205,138,.25);
  display:flex; align-items:center; justify-content:center; color:var(--c-gold-light); flex-shrink:0;
}
.icon-list .ic svg{ width:18px; height:18px; }

/* ----- Magazine grid ----- */
.magazine-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.mag-card{ border-radius:var(--radius-md); overflow:hidden; background:var(--c-forest-900); border:1px solid rgba(230,205,138,.1); box-shadow:var(--shadow-lux); }
.mag-card .mag-media{ aspect-ratio:4/3; overflow:hidden; }
.mag-card .mag-media img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease-lux); }
.mag-card:hover .mag-media img{ transform:scale(1.07); }
.mag-card .mag-body{ padding:16px 18px 20px; }
.mag-card .mag-body span{ font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--c-gold-light); }
.mag-card .mag-body h3{ font-size:1rem; margin:6px 0 0; line-height:1.5; }

/* ----- Final CTA (form + pills) ----- */
.cta-final{ display:grid; gap:50px; }
@media(min-width:980px){ .cta-final{ grid-template-columns:1fr 1fr; gap:70px; } }
.pill-links{ display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.pill-link{
  padding:12px 22px; border-radius:999px; border:1px solid rgba(230,205,138,.25); background:rgba(255,255,255,.03);
  font-size:.85rem; color:var(--c-ivory-dim); transition:all .3s var(--ease-lux);
}
.pill-link:hover{ border-color:var(--c-gold); color:var(--c-gold-light); background:rgba(230,205,138,.08); transform:translateY(-2px); }
.form-note{ margin-top:14px; font-size:.85rem; color:var(--c-gold-light); }

/* ----- Back to top ----- */
.back-to-top{
  position:fixed; bottom:26px; inset-inline-end:26px; z-index:500; width:48px; height:48px; border-radius:50%;
  background:rgba(10,20,15,.85); border:1px solid rgba(230,205,138,.3); color:var(--c-gold-light);
  display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transform:translateY(10px);
  transition:all .4s var(--ease-lux); backdrop-filter:blur(8px);
}
.back-to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top svg{ width:18px; height:18px; }
.footer-lang{ display:flex; align-items:center; gap:10px; font-size:.78rem; letter-spacing:.1em; color:var(--c-mist); }
.footer-lang a{ color:var(--c-ivory-dim); }
.footer-lang a.active, .footer-lang a:hover{ color:var(--c-gold-light); }

@media(max-width:719px){
  .magazine-grid{ grid-template-columns:1fr 1fr; }
  .process-step:not(:last-child)::after{ display:none; }
}
