/* =========================================================
   RICHWINE VINEYARDS — custom.css
   Custom website design - Santi. S. - 6elementos.
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Playfair:ital,opsz,wght@0,5..1200,300..900;1,5..1200,300..900&display=swap');
@font-face {
  font-family: 'Lansdowne';
  src: url('fonts/Lansdowne.woff2') format('woff2'),
       url('fonts/Lansdowne.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

:root{
  --rw-navy:        #1f2440;
  --rw-navy-deep:   #14172b;
  --rw-gold:        #90794d;
  --rw-gold-light:  #e2c88a;
  --rw-cream:       #f4efe4;
  --rw-parchment:   #ece4d3;
  --rw-ink:         #201e1a;
  --rw-ink-soft:    #55503f;
  --rw-line:        rgba(31,36,64,.12);

  --font-display: "Playfair", serif;
  --font-label:   "Playfair", serif;
  --font-body:    "Montserrat", sans-serif;

  --ease-silk: cubic-bezier(.22,1,.36,1);
  
  --c7-link-color: var(--rw-navy);
  --c7-button-background-color: var(--rw-navy);
  --c7-button-text-color: var(--rw-cream);
  --c7-button-background-color-hover: var(--rw-gold);
}

*{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  font-family: var(--font-body);
  color: var(--rw-ink);
  background: var(--rw-cream);
  font-size: 1.02rem;
  line-height: 1.65;
}

a {
    text-decoration: none;
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior:auto !important; }
}

h1,h2,h3,h4, .rw-display{
  font-family: var(--font-display);
  color: var(--rw-navy);
  font-weight: 600;
  letter-spacing: .01em;
}

.rw-eyebrow {
    font-family: var(--font-label);
    letter-spacing: .28em;
    text-transform: uppercase;
    font-size: .9rem;
    color: var(--rw-gold);
}

a{ color: var(--rw-navy); }
a:hover{ color: var(--rw-gold); }

.rw-btn {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    font-family: var(--font-label);
    font-size: 1rem;
    letter-spacing: .22em;
    text-transform: uppercase;
    padding: .5rem 2.1rem;
    border: 1px solid var(--rw-navy);
    color: var(--rw-navy);
    background: transparent;
    text-decoration: none;
    transition: background .35s var(--ease-silk), color .35s var(--ease-silk), border-color .35s var(--ease-silk);
}
.rw-btn:hover{ background: var(--rw-navy); color: var(--rw-cream); border-color: var(--rw-navy); }

.rw-btn-gold {
    border-color: var(--rw-gold);
    color: var(--rw-gold);
}

.rw-btn-gold:hover{ background: var(--rw-gold); color: var(--rw-navy-deep); }
.rw-btn-light{ border-color: rgba(244,239,228,.6); color: var(--rw-cream); }
.rw-btn-light:hover{ background: var(--rw-cream); color: var(--rw-navy); }

.ls--1 {
    letter-spacing: -2px;
}

@media (max-width: 768px) {
p.rw-eyebrow.mb-0 {
    margin-top: 20px;
}
}

/* =========================================================
   NAVBAR
   ========================================================= */
.rw-navbar {
    padding: 0.25rem 0;
    background: transparent;
    transition: background .4s var(--ease-silk), box-shadow .4s var(--ease-silk), padding .4s var(--ease-silk);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1100;
}

.rw-navbar.is-scrolled{
  background: rgba(20,23,43,.94);
  backdrop-filter: blur(6px);
  padding: .7rem 0;
  box-shadow: 0 6px 24px rgba(0,0,0,.15);
}
.rw-navbar .navbar-brand img {
    height: 60px;
    transition: height .4s var(--ease-silk);
}

.rw-navbar.is-scrolled .navbar-brand img{ height: 45px; }

.rw-navbar .nav-link {
    font-family: var(--font-label);
    font-size: 0.9rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--rw-cream);
    padding: .5rem 1rem !important;
    position: relative;
}

.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
    color: white;
    opacity: 0.4;
}


.rw-navbar .nav-link::after{
  content:"";
  position:absolute; left:1rem; right:1rem; bottom:.2rem; height:1px;
  background: var(--rw-gold);
  transform: scaleX(0); transform-origin: left;
  transition: transform .35s var(--ease-silk);
}
.rw-navbar .nav-link:hover::after,
.rw-navbar .nav-link.active::after{ transform: scaleX(1); }
.rw-navbar .nav-link:hover{ color: var(--rw-gold-light); }
.rw-navbar .btn-shop {
    font-family: var(--font-label);
    font-size: 0.9rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--rw-navy-deep);
    background: var(--rw-gold);
    padding: .55rem 1.4rem;
    border-radius: 2px;
    transition: background .3s var(--ease-silk);
    text-decoration: none;
}
.rw-navbar .btn-shop:hover{ background: var(--rw-gold-light); color: var(--rw-navy-deep); }

.navbar-toggler{ border:none; box-shadow:none !important; }
.navbar-toggler .rw-burger{ width:26px; height:2px; background:var(--rw-cream); display:block; position:relative; }
.navbar-toggler .rw-burger::before,.navbar-toggler .rw-burger::after{ content:""; width:26px; height:2px; background:var(--rw-cream); position:absolute; left:0; }
.navbar-toggler .rw-burger::before{ top:-8px; }
.navbar-toggler .rw-burger::after{ top:8px; }

.rw-menu-toggle {
    background: none;
    border: none;
    padding: .5rem;
    cursor: pointer;
    position: relative;
    z-index: 1101;
    right: 10px;
    margin-top: -10px;
}
.rw-burger{ width:26px; height:20px; position:relative; display:block; }
.rw-burger-line{
  position:absolute; left:0; width:100%; height:2px;
  background: var(--rw-cream);
  border-radius:1px;
  transition: transform .45s var(--ease-silk), opacity .3s var(--ease-silk);
}
.rw-burger-line.line1{ top:0; }
.rw-burger-line.line2{ top:9px; }
.rw-burger-line.line3{ top:18px; }

/* Hamburger → X */
.rw-menu-toggle.is-open .rw-burger-line.line1{ transform: translateY(9px) rotate(45deg); }
.rw-menu-toggle.is-open .rw-burger-line.line2{ opacity:0; }
.rw-menu-toggle.is-open .rw-burger-line.line3{ transform: translateY(-9px) rotate(-45deg); }

.rw-menu-overlay{
  position:fixed; inset:0; width:100vw; height:100vh;
  background: var(--rw-navy-deep);
  z-index:1090;
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden;
  transition: opacity .5s var(--ease-silk), visibility 0s linear .5s;
}
.rw-menu-overlay.is-open{
  opacity:1; visibility:visible;
  transition: opacity .5s var(--ease-silk), visibility 0s linear 0s;
}
.rw-menu-overlay-nav{
  display:flex; flex-direction:column; align-items:center;
  width:100%; max-width:420px; padding:0 1.5rem;
}
.rw-menu-link {
    font-family: var(--font-label);
    font-size: 1.25rem;
    letter-spacing: .25em;
    text-transform: uppercase;
    color: var(--rw-cream);
    text-decoration: none;
    width: 100%;
    text-align: center;
    padding: 1.35rem 0;
    border-bottom: 1px solid rgba(244,239,228,.14);
    opacity: 0;
    transform: translateY(16px);
    transition: color .3s ease, opacity .5s var(--ease-silk), transform .5s var(--ease-silk);
}
.rw-menu-link:first-child{ border-top: 1px solid rgba(244,239,228,.14); }
.rw-menu-link:hover{ color: var(--rw-gold); }
.rw-menu-overlay.is-open .rw-menu-link{ opacity:1; transform:none; }
.rw-menu-overlay.is-open .rw-menu-link:nth-child(1){ transition-delay:.10s; }
.rw-menu-overlay.is-open .rw-menu-link:nth-child(2){ transition-delay:.16s; }
.rw-menu-overlay.is-open .rw-menu-link:nth-child(3){ transition-delay:.22s; }
.rw-menu-overlay.is-open .rw-menu-link:nth-child(4){ transition-delay:.28s; }
.rw-menu-overlay.is-open .rw-menu-link:nth-child(5){ transition-delay:.34s; }
.rw-menu-overlay.is-open .rw-menu-link:nth-child(6){ transition-delay:.40s; }
.rw-menu-link-shop{
  margin-top: 1.75rem;
  width:auto;
  border: 1px solid var(--rw-gold) !important;
  color: var(--rw-gold);
  padding: 1rem 2.4rem;
}
body.rw-menu-open{ overflow:hidden; }

/* =========================================================
   HERO / SLIDER
   ========================================================= */
.rw-hero{
  position: relative;
  height: 100vh;
  min-height: 620px;
  overflow: hidden;
  background: var(--rw-navy-deep);
}
.rw-hero .carousel,
.rw-hero .carousel-inner,
.rw-hero .carousel-item{ height:100%; }
.rw-hero .carousel-item img{
  width:100%; height:100%; object-fit: cover;
  filter: saturate(1.02);
}
.rw-hero::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(20,23,43,.55) 0%, rgba(20,23,43,.25) 38%, rgba(20,23,43,.65) 100%);
  z-index: 2;
  pointer-events:none;
}
.rw-hero-content{
  position:absolute; inset:0; z-index:3;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; color:var(--rw-cream); padding: 0 1.25rem;
}
.rw-hero-logo {
    width: 400px;
    margin-bottom: 1.5rem;
    opacity: 0;
    transform: translateY(18px);
    animation: rwFadeUp 1.1s var(--ease-silk) .2s forwards;
}

.rw-hero-content h1 {
    color: #ffd993;
    font-size: clamp(1rem, 1vw, 1rem);
    margin-bottom: 1.1rem;
    opacity: 0;
    transform: translateY(22px);
    animation: rwFadeUp 1.1s var(--ease-silk) .45s forwards;
    text-transform: uppercase;
    letter-spacing: 3px;
}

.rw-hero-content p {
    max-width: 860px;
    font-size: 0.8rem;
    color: rgba(244,239,228,.88);
    margin-bottom: 2rem;
    opacity: 0;
    transform: translateY(22px);
    animation: rwFadeUp 1.1s var(--ease-silk) .7s forwards;
    font-family: 'Playfair', serif;
    text-transform: uppercase;
    letter-spacing: 4px;
}
.rw-hero-cta{
  opacity:0; transform: translateY(22px);
  animation: rwFadeUp 1.1s var(--ease-silk) .95s forwards;
  display:flex; gap:1rem; flex-wrap:wrap; justify-content:center;
}
@keyframes rwFadeUp{ to{ opacity:1; transform:none; } }

.rw-hero-scroll {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    color: var(--rw-cream);
    opacity: .85;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    font-family: var(--font-label);
    font-size: .8rem;
    letter-spacing: .25em;
    text-transform: uppercase;
    text-decoration: none;
}
.rw-hero-scroll .line{ width:1px; height:34px; background: rgba(244,239,228,.6); position:relative; overflow:hidden; }
.rw-hero-scroll .line::after{
  content:""; position:absolute; top:-100%; left:0; width:100%; height:100%;
  background: var(--rw-gold);
  animation: rwScrollLine 1.8s ease-in-out infinite;
}
@keyframes rwScrollLine{ 0%{ top:-100%; } 60%{ top:100%; } 100%{ top:100%; } }

.rw-hero .carousel-indicators{ z-index:3; bottom: 6.5rem; }
.rw-hero .carousel-indicators [data-bs-target]{
  width:8px; height:8px; border-radius:50%; background:var(--rw-cream); opacity:.5; border:none; margin:0 5px;
}
.rw-hero .carousel-indicators .active{ opacity:1; background: var(--rw-gold); }

.rw-hero .carousel-item img{
  width:100%; height:100%; object-fit: cover;
  filter: saturate(1.02);
  transform: scale(1);
  transform-origin: center center;
}
.rw-hero .carousel-item.active img{
  animation: rwKenBurns 6s ease-out forwards;
}
@keyframes rwKenBurns{
  from{ transform: scale(1); }
  to{ transform: scale(1.08); }
}

/* =========================================================
   SECTION RHYTHM
   ========================================================= */
.rw-section{ padding: 6.5rem 0; }
.rw-section-sm{ padding: 4rem 0; }
.rw-section-navy{ background: var(--rw-navy); color: var(--rw-cream); }
.rw-section-navy h2 { 
  color: var(--rw-cream); 
}
.rw-section-navy h3 {
    color: #1e2440;
}


.rw-section-parchment{ background: var(--rw-parchment); }

.rw-divider{
  width: 64px; height: 1px; background: var(--rw-gold);
  margin: 1.25rem auto;
}
.rw-divider.left{ margin-left:0; }

.rw-lede {
    max-width: 680px;
    font-size: 1rem;
    color: var(--rw-ink-soft);
    font-weight: 300;
}

.rw-section-navy .rw-lede{ color: rgba(244,239,228,.82); }

@media (max-width: 768px) {
.rw-section-navy {
    background: var(--rw-navy);
    color: var(--rw-cream);
    max-width: 100vw;
    overflow: hidden;
    padding: 15px;
}
  
.rw-section-sm {
    padding: 4rem 0;
    max-width: 100vw;
    overflow: hidden;
}
  
.rw-section {
    padding: 6.5rem 0;
    max-width: 100vw;
    overflow: hidden;
}
}

/* =========================================================
   THREE PILLARS (venue / wines / about)
   ========================================================= */
.rw-pillar{
  text-align:center; padding: 2.5rem 1.5rem;
  border: 1px solid var(--rw-line);
  background: #fff;
  transition: transform .45s var(--ease-silk), box-shadow .45s var(--ease-silk), border-color .45s var(--ease-silk);
  height: 100%;
}
.rw-pillar:hover{
  transform: translateY(-8px);
  box-shadow: 0 22px 40px rgba(20,23,43,.14);
  border-color: var(--rw-gold);
}
.rw-pillar img{
  width: 56px; height:56px; margin-bottom:1.25rem;
  transition: transform .5s var(--ease-silk);
}
.rw-pillar:hover img{ transform: rotate(-8deg) scale(1.08); }
.rw-pillar h3 {
    font-size: 1.35rem;
    margin-bottom: .6rem;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.rw-pillar p{ color: var(--rw-ink-soft); font-size:.95rem; margin-bottom:1.25rem; }

/* =========================================================
   WINE BOTTLE SHOWCASE — signature interaction
   Straight by default. On hover: zoom + twist.
   ========================================================= */
.rw-wine-grid{ --gap: 2.5rem; }

.rw-bottle-card{
  position: relative;
  perspective: 1200px;
  padding: 2.5rem 1.25rem 2rem;
  text-align:center;
  isolation: isolate;
}
.rw-bottle-card::before {
    content: "";
    position: absolute;
    inset: 6% 12% 4%;
    background: radial-gradient(ellipse at 50% 50%, rgba(198,161,91,.16), transparent 70%);
    z-index: -1;
    opacity: 0;
    transition: opacity .5s var(--ease-silk);
}
.rw-bottle-card:hover::before{ opacity:1; }

.rw-bottle-stage{
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 4;
  display:flex; align-items:flex-end; justify-content:center;
  margin-bottom: 1.5rem;
}
.rw-bottle-stage img{
  max-height: 100%;
  width: auto;
  object-fit: contain;
  transform-origin: 50% 90%;
  transform: rotate(0deg) scale(1);
  transition: transform .65s var(--ease-silk), filter .65s var(--ease-silk);
  filter: drop-shadow(0 18px 26px rgba(20,23,43,.28));
  will-change: transform;
}
.rw-bottle-card:hover .rw-bottle-stage img {
    transform: rotate(-10deg) scale(1.35) translateY(-2%);
    filter: drop-shadow(0 30px 34px rgba(20,23,43,.34));
}
.rw-bottle-stage::after{
  content:"";
  position:absolute; left:50%; bottom:2%; width:58%; height:14px;
  background: radial-gradient(ellipse, rgba(20,23,43,.28), transparent 72%);
  transform: translateX(-50%) scaleX(1);
  transition: transform .65s var(--ease-silk), opacity .65s var(--ease-silk);
}

.rw-bottle-card:hover .rw-bottle-stage::after {
    transform: translateX(-50%) scaleX(0.75);
    opacity: .4;
}

.rw-bottle-card .rw-eyebrow{ display:block; margin-bottom:.35rem; }

.rw-bottle-card h3 {
    font-size: 1.75rem;
    margin-bottom: 30px;
    font-family: 'Lansdowne', serif;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-weight: 200;
}

.rw-bottle-card h3::after {
    width: 50px;
    height: 1px;
    background-color: #1e2440;
    position: absolute;
    content: '';
    left: calc(50% - 25px);
    margin-top: 45px;
}

.rw-bottle-card .rw-vintage {
    color: var(--rw-ink-soft);
    font-size: 1rem;
    letter-spacing: 3px;
    margin-bottom: .75rem;
    font-family: 'Playfair', serif;
    text-transform: uppercase;
}

.rw-bottle-card p {
    color: var(--rw-ink-soft);
    font-size: 1.15rem;
    margin-bottom: 0;
}

/* Revolving bottle — hero of the wines page */
/* Revolving bottle showcase */
.rw-revolve-stage{
  position:relative;
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
  aspect-ratio: 1/1;
  display:flex; align-items:center; justify-content:center;
}
.rw-revolve-ring{
  position:absolute; inset:0;
  border-radius:50%;
  border: 1px dashed rgba(198,161,91,.4);
  animation: rwSpin 22s linear infinite;
}
.rw-revolve-ring::before, .rw-revolve-ring::after{
  content:""; position:absolute; width:6px; height:6px; border-radius:50%; background:var(--rw-gold);
}
.rw-revolve-ring::before{ top:-3px; left:50%; margin-left:-3px; }
.rw-revolve-ring::after{ bottom:-3px; left:50%; margin-left:-3px; }
@keyframes rwSpin{ to{ transform: rotate(360deg); } }

.rw-revolve-bottle {
    position: relative;
    z-index: 2;
    width: 150%;
    animation: rwFloat 6s ease-in-out infinite;
    filter: drop-shadow(0 24px 30px rgba(20,23,43,.35));
    transform-origin: 50% 85%;
}
@keyframes rwFloat{
  0%, 100% { transform: perspective(800px) rotateY(-9deg) rotate(-1.4deg) translateY(0); }
  50%      { transform: perspective(800px) rotateY(9deg) rotate(1.4deg) translateY(-16px); }
}


@media (max-width: 768px) {
.rw-bottle-card {
    padding-top: 0px;
    padding-bottom: 0px;
}
  
.rw-reveal {
    margin: 0px;
}
}

/* =========================================================
   HOURS / INFO BLOCK
   ========================================================= */
.rw-hours-card {
    background: var(--rw-navy);
    color: var(--rw-cream);
    padding: 50px;
}
.rw-hours-row {
    display: flex;
    justify-content: space-between;
    font-family: var(--font-label);
    letter-spacing: .08em;
    font-size: 1rem;
    padding: .65rem 0;
    border-bottom: 1px solid rgba(244,239,228,.14);
}
.rw-hours-row:last-child{ border-bottom:none; }
.rw-hours-row span:last-child{ color: var(--rw-gold-light); }
input.form-control {
    background-color: transparent;
    color: white;
}
.form-control:focus {
    color: white;
    background-color: transparent;
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(13,110,253,.25);
}
input.form-control.fc-dark {
    border: 1px solid #96a0d2;
}

input::placeholder,
textarea::placeholder {
  color: #f7f7f7!important; /* Replace with your desired color */
  opacity: 1;    /* Required for Firefox */
}

select.form-select {
    border: 1px solid #96a0d2;
    background-color: transparent;
}

textarea.form-control.fc-dark {
    border: 1px solid #96a0d2;
    background-color: transparent;
}


/* =========================================================
   EVENT TEASER
   ========================================================= */
.rw-event-card{
  display:flex; gap: 1.5rem; align-items:flex-start;
  background: #fff; border:1px solid var(--rw-line);
  padding: 1.75rem;
}
.rw-event-date{
  flex: 0 0 auto; text-align:center;
  font-family: var(--font-label);
  color: var(--rw-navy);
  border-right: 1px solid var(--rw-line);
  padding-right: 1.25rem; min-width: 78px;
}
.rw-event-date .day{ font-size:2rem; line-height:1; display:block; color: var(--rw-gold); font-family: var(--font-display); }
.rw-event-date .month{ font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; }

/* =========================================================
   LOGO / PRESS STRIP
   ========================================================= */
.rw-press-strip{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap: 3.5rem;
}
.rw-press-strip img {
    height: 100px;
    width: auto;
    filter: grayscale(1) opacity(.75);
    transition: filter .35s ease;
    mix-blend-mode: multiply;
}
.rw-press-strip img:hover{ filter:none; }

/* =========================================================
   FOOTER
   ========================================================= */
.rw-footer {
    background: var(--rw-navy-deep);
    color: rgba(244,239,228,.78);
    padding: 5rem 1rem 2rem;
    font-size: 0.9rem;
    max-width: 100vw;
    overflow: hidden;
}
.rw-footer h4 {
    color: var(--rw-cream);
    font-family: 'Lansdowne';
    font-size: 1.35rem;
    letter-spacing: 6px;
    text-transform: uppercase;
    margin-bottom: 1.25rem;
    font-weight: 200;
    opacity: 0.75;
}
.rw-footer a {
    color: rgba(244,239,228,.78);
    text-decoration: none;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 3px;
}
.rw-footer a:hover{ color: var(--rw-gold); }
.rw-footer ul{ list-style:none; padding:0; margin:0; }
.rw-footer li{ margin-bottom:.6rem; font-size:.92rem; }
.rw-footer .rw-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(244,239,228,.3);
    border-radius: 50%;
    margin-right: .6rem;
    transition: border-color .3s ease, transform .3s ease;
    font-size: 1rem;
}

.rw-footer .rw-social a i.bi {
    width: 36px;
    height: 36px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-left: 3px;
    font-size: 20px;
}

.rw-footer .rw-social a:hover{ border-color: var(--rw-gold); transform: translateY(-3px); }
.rw-footer-bottom{
  border-top: 1px solid rgba(244,239,228,.12);
  margin-top: 3rem; padding-top: 1.5rem;
  font-size: .8rem; color: rgba(244,239,228,.5);
}

/* =========================================================
   GALLERY (venue page)
   ========================================================= */
.rw-gallery-item{ overflow:hidden; position:relative; margin-bottom: 1.5rem; }
.rw-gallery-item img{ width:100%; height:100%; object-fit:cover; transition: transform .7s var(--ease-silk); display:block; }
.rw-gallery-item:hover img{ transform: scale(1.07); }

/* =========================================================
   REVEAL ON SCROLL
   ========================================================= */
.rw-reveal{ opacity:0; transform: translateY(28px); transition: opacity .8s var(--ease-silk), transform .8s var(--ease-silk); }
.rw-reveal.is-visible{ opacity:1; transform:none; }

/* Page header (interior pages) */
.rw-page-header{
  position:relative;
  height: 52vh; min-height: 380px;
  display:flex; align-items:center; justify-content:center;
  text-align:center; color: var(--rw-cream);
  background-size: cover; background-position:center;
}
.rw-page-header::before{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(20,23,43,.62), rgba(20,23,43,.5));
}
.rw-page-header-content{ position:relative; z-index:2; padding-top: 3rem; }

.rw-page-header h1 {
    color: var(--rw-cream);
    font-size: clamp(2.2rem,5vw,2.8rem);
    font-family: 'Lansdowne';
    font-weight: 200;
    letter-spacing: 15px;
    text-transform: uppercase;
    margin-left: 20px;
}


@media (max-width: 991.98px){
  .rw-navbar .navbar-collapse{
    background: var(--rw-navy-deep);
    margin-top: 1rem; padding: 1.25rem; border-radius: 4px;
  }
.rw-hours-card {
    padding: 2rem 1.5rem;
    margin-top: 20px;
}
  .rw-hero-cta{ gap: 1.1rem; }
}


/* =========================================================
   GALLERY (venue page)
   ========================================================= */
section.rw-venue-switcher {
    max-width: 100vw;
    overflow: hidden;
}

.rw-venue-tabs{
  display:flex; gap:1rem; justify-content:center; flex-wrap:wrap;
  margin-bottom: 2.5rem;
}
.rw-venue-tab {
    font-family: var(--font-label);
    font-size: .9rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    padding: .85rem 1.8rem;
    border: 1px solid var(--rw-navy);
    background: transparent;
    color: var(--rw-navy);
    cursor: pointer;
    transition: background .35s var(--ease-silk), color .35s var(--ease-silk), border-color .35s var(--ease-silk);
}
.rw-venue-tab:hover{ border-color: var(--rw-gold); color: var(--rw-gold); }
.rw-venue-tab.is-active{ background: var(--rw-navy); color: var(--rw-cream); border-color: var(--rw-navy); }

.rw-venue-panel{ display:none; }
.rw-venue-panel.is-active{ display:block; animation: rwVenueFadeIn .5s var(--ease-silk); }
@keyframes rwVenueFadeIn{
  from{ opacity:0; transform: translateY(10px); }
  to{ opacity:1; transform:none; }
}


/* =========================================================
   REVIEWS
   ========================================================= */
.rw-reviews{ padding: 6rem 0; background: var(--rw-parchment); }
.rw-reviews-carousel{ max-width: 720px; margin: 0 auto; }
.rw-review{ padding: 0 2rem 3rem; }
.rw-review-mark{
  display:block;
  font-family: var(--font-display);
  font-size: 4rem;
  line-height:1;
  color: var(--rw-gold);
  margin-bottom: .5rem;
}
.rw-review-text{
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-style: italic;
  color: var(--rw-navy);
  line-height: 1.5;
  margin-bottom: 1.5rem;
}
.rw-review-name{
  font-family: var(--font-label);
  font-size:.75rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color: var(--rw-ink-soft);
}
.rw-review-name::before{ content:"— "; }

.rw-reviews-carousel .carousel-control-prev,
.rw-reviews-carousel .carousel-control-next{
  position:absolute; top:38%; width:auto; opacity:1;
}
.rw-review-arrow{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:50%;
  border:1px solid var(--rw-navy);
  color:var(--rw-navy);
  font-size:1.1rem;
  transition: background .3s ease, color .3s ease;
}
.rw-review-arrow:hover{ background:var(--rw-navy); color:var(--rw-cream); }

.rw-review-dots{ position:relative; margin-top:0; }
.rw-review-dots [data-bs-target]{
  width:8px; height:8px; border-radius:50%;
  background: var(--rw-navy); opacity:.3; border:none; margin:0 5px;
}
.rw-review-dots .active{ opacity:1; background: var(--rw-gold); }




/* =========================================================
   COMMERCE 7
   ========================================================= */
.c7-user-nav__cart__title svg {
    stroke: #ffffff!important;
}

.c7-user-nav__account > a, .c7-user-nav__cart > button {
    color: #ffffff!important;
    padding: 0px 10px!important;
    text-transform: uppercase!important;
    letter-spacing: 4px!important;
    font-size: 0.75rem!important;
}

.c7-side-cart {
    min-height: 100vh!important
}

.c7-btn {
    font-size: var(--c7-font-size);
    font-family: var(--font-label);
    text-transform: uppercase;
    border-radius: 0.2rem;
}

.c7-btn--primary, .c7-btn--primary--small {
    background: var(--rw-gold);
    color: var(--c7-primary-button-text-color);
}

h1.c7-h1, h2.c7-h2, h3.c7-h3, h4.c7-h4, h5.c7-h5, h6.c7-h6 {
    color: #1e2440;
    font-family: var(--font-display);
    font-weight: var(--c7-heading-font-weight);
    text-transform: uppercase;
}

.c7-user-nav__cart__count {
    background: #4f58ac;
    padding: 0px 1px 0px 0px;
    letter-spacing: -1px;
}

.rw-login-modal .modal-content{
  background: var(--rw-cream);
  border: none;
  border-radius: 0;
  padding: 2.5rem 2rem;
}
.rw-login-modal .btn-close{
  position: absolute; top: 1.25rem; right: 1.25rem;
}

