/* ===============================
   Naomi Rose Floral Design – Base
   =============================== */
:root{
  --nr-bg:#fff7fb;
  --nr-ink:#1f2430;
  --nr-accent:#D96C86;
  --nr-accent2:#7FB2A7;
  --nr-border:#f1e7ef;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:var(--nr-bg);
  color:var(--nr-ink);
}

/* Layout */
.nr-container{max-width:1100px;margin:0 auto;padding:0 1rem}

/* Header / Nav */
.nr-header{
  position:sticky; top:0; z-index:50;
  background:var(--nr-bg);
  border-bottom:1px solid var(--nr-border);
}
.nr-header .nr-container{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.nr-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:inherit;padding:.7rem 0}
.nr-logo img{height:40px;width:auto;border-radius:8px}
.nr-logo span{white-space:nowrap}

.nr-nav{display:flex;flex-wrap:wrap;gap:.9rem 1.2rem;align-items:center}
.nr-nav a{
  white-space:nowrap;
  text-decoration:none; color:inherit;
  padding:.5rem .8rem; border-radius:999px;
}
.nr-nav a:hover{background:#fff;border:1px solid var(--nr-border)}
.nr-nav a[aria-current="page"]{font-weight:700;text-decoration:underline;text-underline-offset:4px}

@media (max-width:880px){
  .nr-header .nr-container{flex-wrap:wrap}
  .nr-nav{width:100%;justify-content:flex-start;margin-top:.4rem}
}

/* Hero / Sections / Cards / Footer */
.nr-hero{padding:2rem 0}
.nr-hero .nr-hero-media{height:320px;display:flex;align-items:center;justify-content:center;opacity:.7}
.nr-section{padding:2rem 0}
.nr-section--alt{background:rgba(0,0,0,0.02)}
.nr-section--alt p{line-height:1.6;margin-bottom:1.2rem}
.nr-section h1,.nr-section h2{margin-bottom:.6rem}
.nr-section a{color:var(--nr-accent);text-decoration:underline}
.nr-section a:hover{text-decoration:none}

.nr-card{background:#fff;border:1px solid var(--nr-border);border-radius:18px;padding:1rem}

.nr-footer{border-top:1px solid var(--nr-border);padding:1rem 0;margin-top:2rem;opacity:.8}

/* Buttons */
.nr-btn{
  display:inline-block;
  padding:.8rem 1.1rem;
  border-radius:999px;
  border:1px solid var(--nr-ink);
  text-decoration:none;
  font-weight:600;
  color:var(--nr-ink);
  line-height:1.1;
}
.nr-btn--accent{
  background:var(--nr-accent);
  border-color:var(--nr-accent);
  color:#fff !important;                 /* ensure visible text */
  transition:background .25s ease, transform .1s ease;
}
.nr-btn--accent:hover{
  background:#c35c77;
  border-color:#c35c77;
  color:#fff;
  transform:translateY(-1px);
}
.nr-btn--accent:active{
  transform:translateY(0);
  opacity:.95;
}

/* Optional divider for second collection on Shop page */
#collection-component-1762033350674{
  margin-top:2rem;
  border-top:1px solid rgba(0,0,0,0.06);
  padding-top:2rem;
}

/* Captions utility (hidden on gallery by default) */
.cap{opacity:.8}
.cap{display:none !important} /* hide gallery filenames */

/* ===============================
   Gallery – Carousel & Lightbox
   =============================== */

/* Frame + track */
.carousel{
  max-width:100%;
  border-radius:18px;
  overflow:hidden;                 /* hard clip */
  background:#000;                 /* letterbox backdrop */
}
.carousel-track{
  display:flex;
  transition:transform .35s ease;
  will-change:transform;
}

/* Slides (fixed heights) */
.carousel-slide{
  min-width:100%;
  display:flex; align-items:center; justify-content:center;
  background:#000;
}
@media (min-width:900px){
  .carousel{max-height:480px}
  .carousel-slide{height:480px}
}
@media (max-width:899px){
  .carousel{max-height:320px}
  .carousel-slide{height:320px}
}

/* Images – show full image, no crop */
.carousel-slide img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;              /* no cropping */
  display:block;
  background:#000;
}

/* Thumbnails */
.thumbs{overflow:hidden}
.thumbs .thumb{
  border:2px solid transparent;border-radius:12px;overflow:hidden;background:#fff;cursor:pointer
}
.thumbs .thumb img{width:100%;height:80px;object-fit:cover;display:block}
.thumbs .thumb.active{border-color:var(--nr-accent)}

/* Carousel buttons */
.carousel-btn{
  position:absolute; top:50%; transform:translateY(-50%);
  border:0; background:rgba(10,20,30,.55); color:#fff;
  padding:.6rem .8rem; border-radius:999px; cursor:pointer
}
.carousel-prev{left:.6rem}
.carousel-next{right:.6rem}
.carousel-btn:focus{outline:2px solid var(--nr-accent)}

/* Lightbox overlay */
.nr-lightbox{
  position:fixed; inset:0; z-index:99999;
  background:rgba(10,20,30,.9);
  display:none; align-items:center; justify-content:center;
}
.nr-lightbox.show{display:flex}
.nr-lightbox-img{
  max-width:95vw; max-height:90vh;
  object-fit:contain;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
  border-radius:12px;
}
.nr-lightbox-close,.nr-lightbox-prev,.nr-lightbox-next{
  position:absolute; border:0;
  background:rgba(255,255,255,.14); backdrop-filter:blur(4px);
  color:#fff; padding:.6rem .8rem; border-radius:999px; cursor:pointer
}
.nr-lightbox-close{top:16px; right:16px}
.nr-lightbox-prev{left:16px; top:50%; transform:translateY(-50%)}
.nr-lightbox-next{right:16px; top:50%; transform:translateY(-50%)}
.nr-lightbox button:focus{outline:2px solid var(--nr-accent)}

/* --- Hero grid layout with headshot --- */
.nr-hero-grid{
  display:grid; gap:2rem; align-items:center; grid-template-columns:1fr;
}
@media (min-width:900px){
  .nr-hero-grid{grid-template-columns:1.2fr 1fr}
}
.nr-hero-copy h1{font-size:2.2rem;margin-bottom:.6rem}
.nr-hero-copy p{font-size:1.1rem;line-height:1.5;margin-bottom:1.4rem}
.nr-hero-image{display:flex;justify-content:center;align-items:center}
.nr-hero-image img{
  max-width:100%; height:auto;
  border-radius:18px; border:3px solid var(--nr-border);
  box-shadow:0 8px 20px rgba(0,0,0,.08); background:#fff;
}
