/* GFWC Oklahoma Kadence Homepage
   Paste into Appearance > Customize > Additional CSS
*/

:root {
  --gfwc-navy: #06376f;
  --gfwc-deep-navy: #022b58;
  --gfwc-gold: #d9a321;
  --gfwc-cream: #f7f2e8;
  --gfwc-purple: #6f2c91;
  --gfwc-white: #ffffff;
  --gfwc-text: #172033;
}

.gfwc-homepage { margin-top: 0 !important; color: var(--gfwc-text); }
.gfwc-homepage h1,
.gfwc-homepage h2,
.gfwc-homepage h3 { color: var(--gfwc-navy); }
.gfwc-homepage a { text-underline-offset: 3px; }

.gfwc-section {
  padding: clamp(3rem, 7vw, 6rem) max(24px, calc((100vw - 1180px)/2));
}

.gfwc-script {
  font-family: "Brush Script MT", "Segoe Script", cursive;
  color: var(--gfwc-gold) !important;
  font-weight: 400;
  line-height: 1.1;
}

.gfwc-hero {
  background:
    linear-gradient(90deg, rgba(2,43,88,.92) 0%, rgba(2,43,88,.72) 45%, rgba(2,43,88,.18) 100%),
    url("https://gfwc-ok.org/wp-content/uploads/2026/07/ChatGPT-Image-Jul-20-2026-01_00_24-AM.png");
  background-size: cover;
  background-position: center;
}
.gfwc-hero .wp-block-cover__inner-container { width: 100%; }
.gfwc-hero-title {
  color: #fff !important;
  font-size: clamp(3rem, 6.5vw, 6.2rem);
  line-height: .95;
  letter-spacing: .015em;
  max-width: 760px;
  margin-bottom: 1rem;
}
.gfwc-hero .gfwc-script { font-size: clamp(2.1rem, 4vw, 4rem); }
.gfwc-hero-copy {
  color: #fff;
  font-size: clamp(1.05rem, 1.6vw, 1.3rem);
  max-width: 640px;
  line-height: 1.6;
}
.gfwc-hero-buttons { margin-top: 2rem; gap: 12px; }

.gfwc-homepage .wp-block-button__link {
  border-radius: 4px;
  padding: .9rem 1.25rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.gfwc-btn-navy .wp-block-button__link { background: var(--gfwc-navy); color: white; }
.gfwc-btn-gold .wp-block-button__link { background: var(--gfwc-gold); color: #092d59; }
.gfwc-btn-light .wp-block-button__link { background: #fff; color: var(--gfwc-navy); border: 1px solid #d8dee8; }

.gfwc-impact {
  padding: 1.8rem max(24px, calc((100vw - 1180px)/2)) 2.6rem;
  background: linear-gradient(135deg, var(--gfwc-navy), var(--gfwc-deep-navy));
  color: #fff;
}
.gfwc-impact h2 { font-size: 2rem; margin-bottom: 1.5rem; }
.gfwc-impact-grid { text-align: center; margin-bottom: 0; }
.gfwc-impact-grid .wp-block-column { border-right: 1px solid rgba(255,255,255,.35); }
.gfwc-impact-grid .wp-block-column:last-child { border-right: 0; }
.gfwc-impact-grid h3, .gfwc-impact-grid p { color: #fff; margin: .25rem 0; }
.gfwc-stat { font-size: clamp(2.5rem, 4vw, 4rem); font-weight: 800; line-height: 1; }

.gfwc-intro { background: var(--gfwc-cream); }
.gfwc-intro h2 { font-size: clamp(2.2rem, 4vw, 4rem); }
.gfwc-intro h2 .gfwc-script { display: inline-block; margin-top: .4rem; }
.gfwc-card-grid { gap: 18px; }
.gfwc-card {
  background: linear-gradient(180deg, #0b4b8c, var(--gfwc-deep-navy));
  color: #fff;
  padding: 2.2rem 1.25rem;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(3,43,88,.16);
}
.gfwc-card h3, .gfwc-card p { color: #fff; }
.gfwc-card-icon { font-size: 2.2rem; color: var(--gfwc-gold); }

.gfwc-programs { background: #fff; }
.gfwc-programs > h2 { text-transform: uppercase; letter-spacing: .04em; }
.gfwc-program-grid { gap: 18px; align-items: stretch; }
.gfwc-program-card {
  background: var(--gfwc-cream);
  border-radius: 10px;
  overflow: hidden;
  text-align: center;
  box-shadow: 0 8px 25px rgba(10,32,60,.08);
}
.gfwc-program-card h3, .gfwc-program-card p { padding-left: 1rem; padding-right: 1rem; }
.gfwc-program-card h3 { font-size: 1.05rem; text-transform: uppercase; }
.gfwc-program-card p:last-child { padding-bottom: 1rem; }
.gfwc-image-placeholder {
  min-height: 170px;
  display: grid;
  place-items: center;
  padding: 1rem;
  color: rgba(255,255,255,.95);
  font-weight: 700;
}
.gfwc-image-placeholder.purple { background: linear-gradient(135deg,#4f176c,#a967c4); }
.gfwc-image-placeholder.wildflower { background: linear-gradient(135deg,#708d36,#d4a72c); }
.gfwc-image-placeholder.education { background: linear-gradient(135deg,#315f8a,#7ca9cf); }
.gfwc-image-placeholder.civic { background: linear-gradient(135deg,#665044,#c4a77d); }
.gfwc-image-placeholder.service { background: linear-gradient(135deg,#4b397b,#9e82ca); }

.gfwc-events-map { background: var(--gfwc-cream); }
.gfwc-event {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 16px;
  align-items: center;
  padding: 1rem;
  margin-bottom: 10px;
  background: white;
  border: 1px solid #ddd7cc;
  border-radius: 8px;
}
.gfwc-date {
  text-align: center;
  border: 2px solid var(--gfwc-gold);
  border-radius: 6px;
  overflow: hidden;
}
.gfwc-date strong { display: block; background: var(--gfwc-gold); color: var(--gfwc-deep-navy); }
.gfwc-date span { display: block; color: var(--gfwc-navy); font-size: 1.7rem; font-weight: 800; }
.gfwc-map-card {
  background: #fff;
  padding: 1.5rem;
  border-radius: 12px;
}
.gfwc-map-placeholder {
  min-height: 260px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg,#0a3e77,#0e5a9f);
  color: white;
  font-weight: 800;
  letter-spacing: .06em;
  text-align: center;
  padding: 2rem;
  border-radius: 8px;
}

.gfwc-cta {
  background:
    linear-gradient(90deg, rgba(2,43,88,.97), rgba(2,43,88,.75)),
    url("REPLACE-WITH-YOUR-CTA-IMAGE-URL");
  background-size: cover;
  background-position: center;
}
.gfwc-cta h2 { font-size: clamp(2.6rem, 5vw, 4.6rem); margin-bottom: .5rem; }
.gfwc-cta p { color: white; font-size: 1.15rem; }

@media (max-width: 1024px) {
  .gfwc-program-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gfwc-impact-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gfwc-impact-grid .wp-block-column { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.25); padding-bottom: 1.2rem; }
}

@media (max-width: 781px) {
  .gfwc-hero { min-height: 620px !important; background-position: 65% center; }
  .gfwc-hero-title { font-size: 3.15rem; }
  .gfwc-hero-buttons .wp-block-button { width: 100%; }
  .gfwc-hero-buttons .wp-block-button__link { width: 100%; }
  .gfwc-program-grid, .gfwc-impact-grid { grid-template-columns: 1fr; }
  .gfwc-card-grid { display: grid; grid-template-columns: 1fr; }
  .gfwc-section { padding-top: 3.5rem; padding-bottom: 3.5rem; }
  .gfwc-impact-grid .wp-block-column { padding: 1rem 0; }
}
/* Force GFWC homepage sections to full browser width */
.page-id-3284 .content-area,
.page-id-3284 .site-main,
.page-id-3284 .entry-content-wrap,
.page-id-3284 .entry-content 

.page-id-3284 .gfwc-homepage 

.page-id-3284 .gfwc-homepage > .alignfull,
.page-id-3284 .gfwc-hero.alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
/* GFWC Home 2026 — safe full-width layout */
.page-id-3284 .content-area,
.page-id-3284 .site-main,
.page-id-3284 .content-container,
.page-id-3284 .entry-content-wrap,
.page-id-3284 .entry-content 

/* Do not use 100vw or negative margins */
.page-id-3284 .gfwc-homepage,
.page-id-3284 .gfwc-homepage > .alignfull,
.page-id-3284 .gfwc-hero {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

/* Keep hero text safely inside the screen */
.page-id-3284 .gfwc-hero .wp-block-cover__inner-container {
    width: 100%;
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    padding-right: 40px;
    box-sizing: border-box;
}

/* Keep the headline from becoming too wide */
.page-id-3284 .gfwc-hero-title {
    max-width: 720px;
    margin-left: 0;
}

/* Tablet */
@media (max-width: 1024px) {
    .page-id-3284 .gfwc-hero .wp-block-cover__inner-container {
        padding-left: 32px;
        padding-right: 32px;
    }
}

/* Mobile */
@media (max-width: 781px) {
    .page-id-3284 .gfwc-hero .wp-block-cover__inner-container {
        padding-left: 22px;
        padding-right: 22px;
    }

    .page-id-3284 .gfwc-hero-title {
        font-size: clamp(2.4rem, 11vw, 3.4rem);
        line-height: 1;
    }
}
/* GFWC Oklahoma Domestic Violence Resource Page */

.dv-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.55;
    color: #222;
}

/* PURPLE TOP BOX */
.dv-hero {
    background-color: #542066 !important;
    color: #ffffff !important;
    padding: 35px 28px;
    border-radius: 16px;
    text-align: center;
    margin-bottom: 25px;
}

.dv-hero h1,
.dv-hero h2,
.dv-hero p {
    color: #ffffff !important;
}

/* BLACK CAMPAIGN ART BOX */
.dv-campaign {
    background-color: #080808 !important;
    color: #ffffff !important;
    padding: 30px;
    border-radius: 18px;
    text-align: center;
    margin: 25px 0;
}

.dv-campaign h2,
.dv-campaign p {
    color: #ffffff !important;
}

.dv-campaign img {
    max-width: 300px;
    width: 90%;
    height: auto;
    display: block;
    margin: 0 auto 20px;
}

/* BUTTONS */
.dv-button {
    display: inline-block;
    background-color: #783b92 !important;
    color: #ffffff !important;
    padding: 13px 23px;
    border-radius: 30px;
    margin: 6px;
    text-decoration: none !important;
    font-weight: bold;
}

.dv-button-light {
    display: inline-block;
    background-color: #ffffff !important;
    color: #542066 !important;
    padding: 13px 23px;
    border-radius: 30px;
    margin: 6px;
    text-decoration: none !important;
    font-weight: bold;
}

/* LAVENDER SAFELINE BOX */
.dv-safe {
    background-color: #f1e4f5 !important;
    border-left: 8px solid #783b92 !important;
    padding: 25px;
    border-radius: 12px;
    margin: 25px 0;
}

.dv-safe h2 {
    color: #542066 !important;
}

/* TWO-COLUMN RESOURCE DIRECTORY */
.dv-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px;
    margin-top: 20px;
}

/* WHITE RESOURCE CARDS */
.dv-card {
    background-color: #ffffff !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 12px;
    padding: 18px;
    box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

.dv-card h3 {
    color: #542066 !important;
    margin-top: 0;
    margin-bottom: 5px;
}

.dv-org {
    font-weight: bold;
    font-size: 17px;
}

.dv-county {
    color: #666666;
    margin: 4px 0 10px;
}

.dv-phone {
    font-weight: bold;
    color: #542066 !important;
    text-decoration: none;
}

/* SIGN THE PLEDGE BOX */
.dv-pledge {
    background-color: #f4e9f7 !important;
    border: 2px solid #cba8d7 !important;
    padding: 30px;
    border-radius: 18px;
    margin: 35px 0;
    text-align: center;
}

.dv-pledge h2 {
    color: #542066 !important;
}

.dv-pledge img {
    max-width: 380px;
    width: 90%;
    height: auto;
    margin: 20px auto;
    display: block;
    background-color: #ffffff;
    border: 1px solid #ddd;
}

/* BOTTOM GRAY BOX */
.dv-footer {
    background-color: #eeeeee !important;
    padding: 28px;
    border-radius: 14px;
    text-align: center;
    margin-top: 30px;
}

.dv-footer h2 {
    color: #542066 !important;
}

/* MOBILE */
@media only screen and (max-width: 700px) {

    .dv-grid {
        grid-template-columns: 1fr !important;
    }

    .dv-wrap {
        padding: 8px;
    }

    .dv-hero {
        padding: 25px 15px;
    }

    .dv-campaign {
        padding: 22px 15px;
    }
}
/* =========================================================
   FIRST LADIES' ROSE GARDEN
   GFWC OKLAHOMA
   ========================================================= */

.rose-tour{
  --burg:#6b263b;
  --burg-dark:#4d1829;
  --sage:#526c50;
  --sage-light:#e8eee5;
  --gold:#b28a3e;
  --gold-light:#f1e3bb;
  --cream:#faf7ef;
  --paper:#ffffff;
  --ink:#302f2b;
  --muted:#6b685f;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
}

.rose-tour *{
  box-sizing:border-box;
}

.rose-tour img{
  max-width:100%;
  height:auto;
}

.rose-tour .wrap{
  max-width:1200px;
  margin:auto;
  padding:70px 5%;
}

.rose-tour .eyebrow{
  margin:0 0 8px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--sage);
}

.rose-tour .section-title{
  margin:0 0 18px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(32px,4vw,50px);
  line-height:1.05;
  color:var(--burg);
}

.rose-tour .section-intro{
  max-width:800px;
  font-size:18px;
}


/* HERO */

.rose-tour .hero{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  min-height:650px;
  background:#6b263b !important;
}

.rose-tour .hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:70px 7%;
  color:#fff !important;
}

.rose-tour .hero-kicker{
  margin:0 0 12px;
  color:#f1e3bb !important;
  font-size:13px;
  font-weight:800;
  letter-spacing:.18em;
}

.rose-tour .hero h1{
  margin:0;
  color:#fff !important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(50px,7vw,86px);
  line-height:.92;
}

.rose-tour .hero-tagline{
  margin:24px 0 14px;
  color:#f1e3bb !important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(20px,2.5vw,30px);
}

.rose-tour .hero-copy p{
  max-width:650px;
  font-size:18px;
}

.rose-tour .hero-map{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:35px;
  background:#eee7d9;
}

.rose-tour .hero-map img{
  width:100%;
  box-shadow:0 15px 40px rgba(0,0,0,.22);
}

.rose-tour .button{
  display:inline-block;
  align-self:flex-start;
  margin-top:15px;
  padding:13px 22px;
  border-radius:999px;
  background:#b28a3e !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:800;
}


/* NAVIGATION */

.rose-tour .tour-nav{
  position:sticky;
  top:0;
  z-index:100;
  padding:13px 4%;
  overflow-x:auto;
  white-space:nowrap;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid #ddd5c6;
  box-shadow:0 2px 8px rgba(0,0,0,.05);
}

.rose-tour .tour-nav a{
  display:inline-block;
  margin-right:22px;
  color:#6b263b !important;
  font-size:14px;
  font-weight:800;
  text-decoration:none !important;
}


/* WELCOME */

.rose-tour .welcome{
  background:#fff;
}

.rose-tour .welcome-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:35px;
}

.rose-tour .info-card{
  padding:28px;
  border:1px solid #e6dfd1;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 25px rgba(0,0,0,.04);
}

.rose-tour .info-card h3{
  margin-top:0;
  color:#6b263b !important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:25px;
}


/* GARDEN MAP */

.rose-tour .map-section{
  background:#f1eadc;
}

.rose-tour .garden-plan-display{
  max-width:950px;
  margin:35px auto 25px;
  padding:15px;
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 35px rgba(0,0,0,.08);
}

.rose-tour .garden-plan-display img{
  display:block;
  width:100%;
  height:auto;
}

.rose-tour .tour-instruction{
  max-width:700px;
  margin:35px auto 25px;
  text-align:center;
  font-size:18px;
}

.rose-tour .tour-instruction strong{
  color:#6b263b !important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:28px;
}


/* SIX TOUR CARDS */

.rose-tour .visual-tour-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:30px;
}

.rose-tour .visual-tour-card{
  display:block;
  overflow:hidden;
  border:1px solid #ded5c5;
  border-radius:18px;
  background:#fff;
  color:#302f2b !important;
  text-decoration:none !important;
  box-shadow:0 8px 25px rgba(0,0,0,.07);
  transition:transform .2s ease,box-shadow .2s ease;
}

.rose-tour .visual-tour-card:hover{
  transform:translateY(-5px);
  box-shadow:0 14px 35px rgba(0,0,0,.12);
}

.rose-tour .visual-tour-image{
  position:relative !important;
  overflow:hidden;
}

.rose-tour .visual-tour-image img{
  display:block;
  width:100%;
  height:235px;
  object-fit:cover;
}

.rose-tour .visual-stop-number{
  position:absolute !important;
  left:18px;
  bottom:18px;
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border:3px solid #fff;
  border-radius:50%;
  background:#6b263b !important;
  color:#fff !important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:25px;
  font-weight:bold;
  box-shadow:0 4px 12px rgba(0,0,0,.25);
}

.rose-tour .visual-tour-copy{
  padding:22px;
}

.rose-tour .visual-tour-copy h3{
  margin:0 0 10px;
  color:#6b263b !important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:25px;
  line-height:1.15;
}

.rose-tour .visual-tour-copy p{
  margin:0 0 15px;
  color:#302f2b;
}

.rose-tour .explore-stop{
  color:#526c50 !important;
  font-size:13px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}


/* INDIVIDUAL TOUR STOPS */

.rose-tour .tour-stop{
  scroll-margin-top:80px;
}

.rose-tour .stop-header{
  display:flex;
  align-items:center;
  gap:18px;
  padding-bottom:18px;
  border-bottom:1px solid #ded6c7;
}

.rose-tour .stop-number{
  flex:0 0 68px;
  width:68px;
  height:68px;
  display:flex !important;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#6b263b !important;
  color:#fff !important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:31px;
  font-weight:bold;
}

.rose-tour .stop-header h2{
  margin:0;
  color:#6b263b !important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(31px,4vw,46px);
}

.rose-tour .stop-subtitle{
  margin:2px 0 0;
  color:#526c50 !important;
  font-weight:700;
}

.rose-tour .you-are-here{
  margin:0 0 22px;
  color:#6b263b !important;
  font-size:13px;
  font-weight:800;
}

.rose-tour .you-are-here a{
  margin-left:12px;
  color:#6b263b !important;
}

.rose-tour .stop-description{
  max-width:850px;
  margin:25px 0 30px;
  font-size:18px;
}


/* PLANT CARDS */

.rose-tour .plant-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.rose-tour .plant-card{
  overflow:hidden;
  border:1px solid #e2dacb;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.05);
}

.rose-tour .plant-card img{
  display:block;
  width:100%;
  height:260px;
  object-fit:cover;
}

.rose-tour .plant-copy{
  padding:20px;
}

.rose-tour .plant-copy h3{
  margin:0;
  color:#6b263b !important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:24px;
}

.rose-tour .latin{
  margin:3px 0 12px;
  color:#526c50 !important;
}

.rose-tour .quantity{
  display:inline-block;
  margin-top:8px;
  padding:4px 9px;
  border-radius:999px;
  background:#efe7d5;
  color:#6b263b !important;
  font-size:12px;
  font-weight:800;
}

.rose-tour .next-stop{
  display:inline-block;
  margin-top:30px;
  padding:11px 18px;
  border-radius:999px;
  background:#b28a3e !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:800;
}


/* DIRECTORY */

.rose-tour .directory{
  background:#ece4d5;
}

.rose-tour .directory-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:35px;
}

.rose-tour .directory-card{
  overflow:hidden;
  border-radius:15px;
  background:#fff;
  border:1px solid #ddd3c2;
}

.rose-tour .directory-card img{
  display:block;
  width:100%;
  height:190px;
  object-fit:cover;
}

.rose-tour .directory-copy{
  padding:15px;
}

.rose-tour .directory-copy h3{
  margin:0;
  color:#6b263b !important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
}


/* MESSAGES */

.rose-tour .messages{
  background:#fff;
}

.rose-tour .message-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:30px;
}

.rose-tour .message-card{
  padding:30px;
  border:2px dashed #b28a3e;
  border-radius:18px;
  background:#fffaf0;
}

.rose-tour .message-card h3{
  margin-top:0;
  color:#6b263b !important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;
}


/* PARTNERS */

.rose-tour .partners{
  background:#f7f3e9;
}

.rose-tour .partner-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:22px;
  margin-top:30px;
}

.rose-tour .partner-card{
  padding:28px;
  border-radius:18px;
  background:#fff;
  border:1px solid #e1d9ca;
}

.rose-tour .partner-card.farm{
  border-top:7px solid #b28a3e;
}

.rose-tour .partner-card.native{
  border-top:7px solid #526c50;
}

.rose-tour .partner-card h3{
  margin-top:0;
  color:#6b263b !important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:25px;
}


/* FOOTER */

.rose-tour .tour-footer{
  padding:50px 5%;
  text-align:center;
  background:#6b263b !important;
  color:#fff !important;
}

.rose-tour .tour-footer h2{
  margin:0;
  color:#fff !important;
  font-family:Georgia,"Times New Roman",serif;
}

.rose-tour .tour-footer .footer-tag{
  color:#f1e3bb !important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
}

.rose-tour .tour-footer a{
  color:#f1e3bb !important;
  font-weight:bold;
}


/* TABLET */

@media(max-width:900px){

  .rose-tour .hero{
    grid-template-columns:1fr;
  }

  .rose-tour .welcome-grid,
  .rose-tour .message-grid,
  .rose-tour .partner-grid{
    grid-template-columns:1fr;
  }

  .rose-tour .plant-grid,
  .rose-tour .directory-grid,
  .rose-tour .visual-tour-grid{
    grid-template-columns:repeat(2,1fr);
  }

}


/* MOBILE */

@media(max-width:600px){

  .rose-tour .wrap{
    padding:50px 18px;
  }

  .rose-tour .hero{
    min-height:auto;
  }

  .rose-tour .hero-copy{
    padding:55px 22px;
  }

  .rose-tour .hero-map{
    padding:15px;
  }

  .rose-tour .plant-grid,
  .rose-tour .directory-grid,
  .rose-tour .visual-tour-grid{
    grid-template-columns:1fr;
  }

  .rose-tour .plant-card img,
  .rose-tour .visual-tour-image img{
    height:250px;
  }

  .rose-tour .visual-tour-copy h3{
    font-size:27px;
  }

  .rose-tour .stop-number{
    flex-basis:55px;
    width:55px;
    height:55px;
    font-size:25px;
  }

  .rose-tour .tour-nav{
    padding-left:18px;
  }

}
/* FIX ROSE GARDEN MAP NUMBER CENTERING */

.rose-tour .garden-plan-display a[href^="#stop-"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

.rose-tour .garden-plan-display a[href^="#stop-"]::before,
.rose-tour .garden-plan-display a[href^="#stop-"]::after {
    display: none !important;
}
/* FINAL MAP NUMBER CENTERING */

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    line-height: 46px !important;

    display: block !important;
    text-align: center !important;

    padding: 0 !important;
    width: 46px !important;
    height: 46px !important;

    box-sizing: border-box !important;
	color: #ffffff !important;
}
/* =====================================================
   FINAL ROSE GARDEN MAP MARKER OVERRIDE
   DO NOT EDIT HTML
===================================================== */

.rose-tour .interactive-garden-map {
    position: relative !important;
}

/* ALL SIX MAP MARKERS */
.rose-tour .interactive-garden-map .map-stop {
    position: absolute !important;
    z-index: 9999 !important;

    display: grid !important;
    place-items: center !important;

    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;

    padding: 0 !important;
    margin: 0 !important;

    background-color: #6b263b !important;
    background-image: none !important;

    border: 4px solid #d4ad5b !important;
    border-radius: 50% !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 22px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: 1 !important;

    text-align: center !important;
    text-decoration: none !important;
    text-indent: 0 !important;

    opacity: 1 !important;
    visibility: visible !important;

    overflow: visible !important;

    transform: translate(-50%, -50%) !important;

    box-sizing: border-box !important;

    box-shadow:
        0 0 0 2px #ffffff,
        0 4px 10px rgba(0,0,0,.35) !important;
}


/* REMOVE ANY KADENCE LINK DECORATIONS */

/* ==========================================================
   FIRST LADIES' ROSE GARDEN
   COMPLETE FINAL DESIGN CSS
   ========================================================== */


/* ----------------------------------------------------------
   COLOR PALETTE + GLOBAL SETTINGS
---------------------------------------------------------- */

.rose-tour {
    --burgundy: #6b263b;
    --sage: #526c50;
    --gold: #b28a3e;
    --light-gold: #e3ca8c;
    --cream: #faf6ed;
    --soft-cream: #fffaf2;
    --text: #332e2b;
    --muted: #706963;
    --white: #ffffff;

    color: var(--text);
    background: var(--cream);

    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.6;

    width: 100%;
}

.rose-tour * {
    box-sizing: border-box;
}

.rose-tour img {
    max-width: 100%;
}

.rose-tour .wrap {
    width: min(1120px, 92%);
    margin: 0 auto;
}

.rose-tour section {
    scroll-margin-top: 85px;
}

.rose-tour a {
    transition: all .2s ease;
}


/* ==========================================================
   HERO
========================================================== */

.rose-tour .hero {
    display: grid;
    grid-template-columns: 1fr 1fr;

    background: var(--burgundy);
    color: var(--white);

    min-height: 520px;
}

.rose-tour .hero-copy {
    padding: 70px max(7vw, 40px);

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rose-tour .hero-kicker {
    color: var(--light-gold);

    font-size: 13px;
    font-weight: 800;
    letter-spacing: .15em;

    margin: 0 0 12px;
}

.rose-tour .hero h1 {
    color: #ffffff !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(44px, 6vw, 76px);
    font-weight: 700;
    line-height: .98;

    margin: 0 0 18px;
}

.rose-tour .hero-tagline {
    color: var(--light-gold);

    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    font-style: italic;

    margin: 0 0 22px;
}

.rose-tour .hero-copy > p:not(.hero-kicker):not(.hero-tagline) {
    max-width: 570px;
    font-size: 17px;
}

.rose-tour .button {
    align-self: flex-start;

    display: inline-block;

    margin-top: 14px;
    padding: 13px 22px;

    border-radius: 999px;

    background: var(--gold);

    color: #ffffff !important;
    text-decoration: none !important;

    font-weight: 800;
}

.rose-tour .button:hover {
    background: var(--sage);
    transform: translateY(-2px);
}


/* HERO MAP */

.rose-tour .hero-map {
    background: #eee8dd;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 28px;
}

.rose-tour .hero-map img {
    display: block;

    width: 100%;
    height: auto;

    background: #ffffff;

    box-shadow: 0 8px 24px rgba(0,0,0,.12);
}


/* ==========================================================
   STICKY TOUR NAVIGATION
========================================================== */

.rose-tour .tour-nav {
    position: sticky;
    top: 0;
    z-index: 100;

    display: flex;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;

    padding: 10px 12px;

    background: rgba(255,255,255,.97);

    border-bottom: 1px solid #e5ded2;

    box-shadow: 0 3px 12px rgba(0,0,0,.06);
}

.rose-tour .tour-nav a {
    color: var(--burgundy) !important;

    text-decoration: none !important;

    font-weight: 800;
    font-size: 14px;

    padding: 7px 10px;

    border-radius: 999px;
}

.rose-tour .tour-nav a:hover {
    background: var(--cream);
    color: var(--sage) !important;
}


/* ==========================================================
   COMMON SECTION STYLING
========================================================== */

.rose-tour .welcome,
.rose-tour .map-section,
.rose-tour .directory,
.rose-tour .messages,
.rose-tour .partners {
    padding: 70px 0;
}

.rose-tour .eyebrow {
    margin: 0 0 7px;

    color: var(--gold);

    font-size: 13px;
    font-weight: 900;
    letter-spacing: .13em;
}

.rose-tour .section-title {
    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 4.5vw, 54px);
    line-height: 1.08;

    margin: 0 0 20px;
}

.rose-tour .section-intro {
    max-width: 800px;

    font-size: 18px;
    color: var(--muted);

    margin-bottom: 36px;
}


/* ==========================================================
   WELCOME
========================================================== */

.rose-tour .welcome {
    background: #ffffff;
}

.rose-tour .welcome-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}

.rose-tour .info-card {
    padding: 28px;

    border-radius: 16px;

    background: var(--soft-cream);

    border-top: 5px solid var(--gold);

    box-shadow: 0 5px 18px rgba(0,0,0,.04);
}

.rose-tour .info-card h3 {
    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;

    margin-top: 0;
}


/* ==========================================================
   GARDEN MAP SECTION
========================================================== */

.rose-tour .map-section {
    background: #f3eee5;
}


/* START INSTRUCTION */

.rose-tour .start-instruction {
    max-width: 850px;

    margin: 30px auto 22px;
    padding: 20px 24px;

    background: var(--burgundy);
    color: #ffffff;

    border-radius: 16px;

    text-align: center;

    box-shadow: 0 8px 24px rgba(0,0,0,.12);
}

.rose-tour .start-small {
    color: #f1e3bb;

    font-weight: 900;
    letter-spacing: .12em;
    font-size: 13px;
}

.rose-tour .start-title {
    margin-top: 4px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(21px, 3vw, 27px);
    font-weight: 700;
    line-height: 1.25;
}

.rose-tour .start-copy {
    margin-top: 7px;
    font-size: 15px;
}


/* ==========================================================
   FINAL NUMBERED GARDEN MAP

   IMPORTANT:
   The numbers are physically part of the PNG.
   There are NO CSS marker overlays.
========================================================== */

.rose-tour .garden-plan-display {
    max-width: 1100px;

    margin: 0 auto;
    padding: 12px;

    background: #ffffff;

    border-radius: 16px;

    box-shadow: 0 10px 28px rgba(0,0,0,.10);

    overflow: hidden;
}

.rose-tour .numbered-garden-map {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ==========================================================
   MAP KEY
========================================================== */

.rose-tour .map-key {
    max-width: 900px;

    margin: 20px auto 38px;
    padding: 18px 22px;

    background: #fffaf0;

    border-left: 5px solid var(--gold);
    border-radius: 10px;

    font-size: 14px;
    line-height: 1.9;
}

.rose-tour .map-key strong {
    color: var(--burgundy);
}

.rose-tour .map-key span {
    display: inline-flex;

    width: 26px;
    height: 26px;

    align-items: center;
    justify-content: center;

    margin-right: 3px;

    background: var(--burgundy);

    color: #ffffff;

    border: 2px solid var(--gold);
    border-radius: 50%;

    font-weight: 900;
    line-height: 1;
}

.rose-tour .tour-instruction {
    text-align: center;

    font-size: 17px;

    margin: 35px auto 22px;
}

.rose-tour .tour-instruction strong {
    color: var(--burgundy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
}


/* ==========================================================
   SIX PHOTOGRAPHIC TOUR CARDS
========================================================== */

.rose-tour .visual-tour-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}

.rose-tour .visual-tour-card {
    overflow: hidden;

    display: block;

    background: #ffffff;

    border-radius: 16px;

    text-decoration: none !important;
    color: var(--text) !important;

    box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

.rose-tour .visual-tour-card:hover {
    transform: translateY(-4px);

    box-shadow: 0 12px 30px rgba(0,0,0,.13);
}

.rose-tour .visual-tour-image {
    position: relative;
}

.rose-tour .visual-tour-image img {
    display: block;

    width: 100%;
    height: 225px;

    object-fit: cover;
}


/* NUMBER ON PHOTO CARD */

.rose-tour .visual-stop-number {
    position: absolute;

    top: 14px;
    left: 14px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    padding: 0;

    border: 3px solid var(--light-gold);
    border-radius: 50%;

    background: var(--burgundy);

    color: #ffffff;

    font-size: 20px;
    font-weight: 900;
    line-height: 1;

    box-shadow: 0 3px 10px rgba(0,0,0,.25);
}

.rose-tour .visual-tour-copy {
    padding: 21px;
}

.rose-tour .visual-tour-copy h3 {
    margin: 0 0 8px;

    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
}

.rose-tour .visual-tour-copy p {
    color: var(--text);
}

.rose-tour .explore-stop {
    color: var(--sage);

    font-weight: 900;
}


/* ==========================================================
   INDIVIDUAL TOUR STOPS
========================================================== */

.rose-tour .tour-stop {
    padding: 70px 0;

    background: #ffffff;

    border-top: 1px solid #e9e1d5;
}

.rose-tour .tour-stop:nth-of-type(even) {
    background: #fbf7ef;
}


/* YOU ARE HERE BAR */

.rose-tour .you-are-here {
    display: flex;
    justify-content: space-between;
    align-items: center;

    gap: 15px;
    flex-wrap: wrap;

    margin-bottom: 24px;
    padding: 11px 16px;

    background: #f4ead2;

    border-radius: 10px;

    color: var(--burgundy);

    font-size: 13px;
    font-weight: 900;
    letter-spacing: .05em;
}

.rose-tour .you-are-here a {
    color: var(--burgundy) !important;
    text-decoration: none !important;
}


/* STOP HEADING */

.rose-tour .stop-header {
    display: flex;
    align-items: center;

    gap: 18px;

    margin-bottom: 18px;
}

.rose-tour .stop-number {
    flex: 0 0 62px;

    width: 62px;
    height: 62px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 4px solid var(--gold);
    border-radius: 50%;

    background: var(--burgundy);

    color: #ffffff;

    font-size: 27px;
    font-weight: 900;
    line-height: 1;

    box-shadow: 0 4px 12px rgba(0,0,0,.12);
}

.rose-tour .stop-header h2 {
    margin: 0;

    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.05;
}

.rose-tour .stop-header .eyebrow {
    margin-bottom: 3px;
}

.rose-tour .stop-subtitle {
    margin: 5px 0 0;

    color: var(--sage);

    font-style: italic;
}

.rose-tour .stop-description {
    max-width: 850px;

    font-size: 18px;

    margin-bottom: 30px;
}


/* ==========================================================
   PLANT CARDS
========================================================== */

.rose-tour .plant-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}

.rose-tour .plant-card {
    overflow: hidden;

    background: #ffffff;

    border-radius: 15px;

    box-shadow: 0 8px 22px rgba(0,0,0,.08);

    border: 1px solid #eee6da;
}

.rose-tour .plant-card img {
    display: block;

    width: 100%;
    height: 230px;

    object-fit: cover;
}

.rose-tour .plant-copy {
    padding: 21px;
}

.rose-tour .plant-copy h3 {
    margin: 0 0 5px;

    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
}

.rose-tour .latin {
    color: var(--sage);

    margin-top: 0;

    font-style: italic;
}

.rose-tour .quantity {
    display: inline-block;

    margin-top: 7px;
    padding: 5px 10px;

    border-radius: 999px;

    background: #f3ead5;

    color: var(--burgundy);

    font-size: 12px;
    font-weight: 900;
}


/* NEXT STOP BUTTON */

.rose-tour .next-stop {
    display: inline-block;

    margin-top: 30px;
    padding: 12px 20px;

    border-radius: 999px;

    background: var(--burgundy);

    color: #ffffff !important;

    text-decoration: none !important;

    font-weight: 800;
}

.rose-tour .next-stop:hover {
    background: var(--sage);

    transform: translateY(-2px);
}


/* ==========================================================
   COMPLETE PLANT DIRECTORY
========================================================== */

.rose-tour .directory {
    background: var(--sage);

    color: #ffffff;
}

.rose-tour .directory .eyebrow {
    color: #f1d99b;
}

.rose-tour .directory .section-title {
    color: #ffffff !important;
}

.rose-tour .directory .section-intro {
    color: #f1eee9;
}

.rose-tour .directory-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 18px;
}

.rose-tour .directory-card {
    display: grid;

    grid-template-columns: 105px 1fr;

    overflow: hidden;

    background: #ffffff;

    color: var(--text);

    border-radius: 12px;

    box-shadow: 0 6px 18px rgba(0,0,0,.10);
}

.rose-tour .directory-card img {
    width: 105px;
    height: 100%;
    min-height: 120px;

    object-fit: cover;
}

.rose-tour .directory-copy {
    padding: 15px;
}

.rose-tour .directory-copy h3 {
    color: var(--burgundy) !important;

    margin: 0 0 3px;

    font-size: 17px;
}

.rose-tour .directory-copy p {
    margin: 0 0 7px;

    font-size: 13px;

    color: var(--sage);
}


/* ==========================================================
   MESSAGES
========================================================== */

.rose-tour .messages {
    background: #ffffff;
}

.rose-tour .message-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 22px;
}

.rose-tour .message-card {
    padding: 28px;

    background: var(--soft-cream);

    border-radius: 16px;

    border-top: 5px solid var(--burgundy);

    box-shadow: 0 6px 18px rgba(0,0,0,.05);
}

.rose-tour .message-card h3 {
    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;

    margin-top: 0;
}


/* ==========================================================
   CONSERVATION PARTNERS
========================================================== */

.rose-tour .partners {
    background: #f3eee5;
}

.rose-tour .partner-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}

.rose-tour .partner-card {
    padding: 27px;

    background: #ffffff;

    border-radius: 16px;

    border-top: 5px solid var(--sage);

    box-shadow: 0 7px 20px rgba(0,0,0,.06);
}

.rose-tour .partner-card.farm {
    border-top-color: var(--gold);
}

.rose-tour .partner-card h3 {
    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;

    margin-top: 0;
}


/* ==========================================================
   FOOTER
========================================================== */

.rose-tour .tour-footer {
    padding: 55px 25px;

    text-align: center;

    background: var(--burgundy);

    color: #ffffff;
}

.rose-tour .tour-footer h2 {
    margin: 0 0 7px;

    color: #ffffff !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
}

.rose-tour .footer-tag {
    color: var(--light-gold);

    font-family: Georgia, "Times New Roman", serif;
    font-style: italic;
    font-size: 18px;
}

.rose-tour .tour-footer a {
    color: #ffffff !important;

    font-weight: 800;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 900px) {

    .rose-tour .hero {
        grid-template-columns: 1fr;
    }

    .rose-tour .hero-map {
        padding: 20px;
    }

    .rose-tour .visual-tour-grid,
    .rose-tour .plant-grid,
    .rose-tour .directory-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rose-tour .partner-grid {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 650px) {

    .rose-tour .hero-copy {
        padding: 50px 25px;
    }

    .rose-tour .hero h1 {
        font-size: 46px;
    }

    .rose-tour .welcome,
    .rose-tour .map-section,
    .rose-tour .directory,
    .rose-tour .messages,
    .rose-tour .partners,
    .rose-tour .tour-stop {
        padding: 48px 0;
    }

    .rose-tour .welcome-grid,
    .rose-tour .message-grid,
    .rose-tour .visual-tour-grid,
    .rose-tour .plant-grid,
    .rose-tour .directory-grid {
        grid-template-columns: 1fr;
    }


    /* MOBILE NAV */

    .rose-tour .tour-nav {
        justify-content: flex-start;

        flex-wrap: nowrap;

        overflow-x: auto;

        -webkit-overflow-scrolling: touch;
    }

    .rose-tour .tour-nav a {
        flex: 0 0 auto;
    }


    /* MOBILE MAP */

    .rose-tour .garden-plan-display {
        padding: 5px;

        border-radius: 10px;
    }

    .rose-tour .numbered-garden-map {
        width: 100% !important;
        height: auto !important;
    }

    .rose-tour .map-key {
        font-size: 13px;
        line-height: 2.1;
    }


    /* TOUR CARDS */

    .rose-tour .visual-tour-image img {
        height: 240px;
    }


    /* TOUR STOP HEADER */

    .rose-tour .stop-number {
        flex: 0 0 52px;

        width: 52px;
        height: 52px;

        font-size: 23px;
    }

    .rose-tour .stop-header {
        align-items: flex-start;
    }


    /* PLANTS */

    .rose-tour .plant-card img {
        height: 245px;
    }


    /* DIRECTORY */

    .rose-tour .directory-card {
        grid-template-columns: 95px 1fr;
    }

    .rose-tour .directory-card img {
        width: 95px;
    }

}

/* ==========================================================
   FIRST LADIES' ROSE GARDEN
   COMPLETE FINAL DESIGN CSS
   ========================================================== */


/* ----------------------------------------------------------
   COLOR PALETTE + GLOBAL SETTINGS
---------------------------------------------------------- */

.rose-tour {
    --burgundy: #6b263b;
    --sage: #526c50;
    --gold: #b28a3e;
    --light-gold: #e3ca8c;
    --cream: #faf6ed;
    --soft-cream: #fffaf2;
    --text: #332e2b;
    --muted: #706963;
    --white: #ffffff;

    color: var(--text);
    background: var(--cream);

    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.6;

    width: 100%;
}

.rose-tour * {
    box-sizing: border-box;
}

.rose-tour img {
    max-width: 100%;
}

.rose-tour .wrap {
    width: min(1120px, 92%);
    margin: 0 auto;
}

.rose-tour section {
    scroll-margin-top: 85px;
}

.rose-tour a {
    transition: all .2s ease;
}


/* ==========================================================
   HERO
========================================================== */

.rose-tour .hero {
    display: grid;
    grid-template-columns: 1fr 1fr;

    background: var(--burgundy);
    color: var(--white);

    min-height: 520px;
}

.rose-tour .hero-copy {
    padding: 70px max(7vw, 40px);

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rose-tour .hero-kicker {
    color: var(--light-gold);

    font-size: 13px;
    font-weight: 800;
    letter-spacing: .15em;

    margin: 0 0 12px;
}

.rose-tour .hero h1 {
    color: #ffffff !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(44px, 6vw, 76px);
    font-weight: 700;
    line-height: .98;

    margin: 0 0 18px;
}

.rose-tour .hero-tagline {
    color: var(--light-gold);

    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    font-style: italic;

    margin: 0 0 22px;
}

.rose-tour .hero-copy > p:not(.hero-kicker):not(.hero-tagline) {
    max-width: 570px;
    font-size: 17px;
}

.rose-tour .button {
    align-self: flex-start;

    display: inline-block;

    margin-top: 14px;
    padding: 13px 22px;

    border-radius: 999px;

    background: var(--gold);

    color: #ffffff !important;
    text-decoration: none !important;

    font-weight: 800;
}

.rose-tour .button:hover {
    background: var(--sage);
    transform: translateY(-2px);
}


/* HERO MAP */

.rose-tour .hero-map {
    background: #eee8dd;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 28px;
}

.rose-tour .hero-map img {
    display: block;

    width: 100%;
    height: auto;

    background: #ffffff;

    box-shadow: 0 8px 24px rgba(0,0,0,.12);
}


/* ==========================================================
   STICKY TOUR NAVIGATION
========================================================== */

.rose-tour .tour-nav {
    position: sticky;
    top: 0;
    z-index: 100;

    display: flex;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;

    padding: 10px 12px;

    background: rgba(255,255,255,.97);

    border-bottom: 1px solid #e5ded2;

    box-shadow: 0 3px 12px rgba(0,0,0,.06);
}

.rose-tour .tour-nav a {
    color: var(--burgundy) !important;

    text-decoration: none !important;

    font-weight: 800;
    font-size: 14px;

    padding: 7px 10px;

    border-radius: 999px;
}

.rose-tour .tour-nav a:hover {
    background: var(--cream);
    color: var(--sage) !important;
}


/* ==========================================================
   COMMON SECTION STYLING
========================================================== */

.rose-tour .welcome,
.rose-tour .map-section,
.rose-tour .directory,
.rose-tour .messages,
.rose-tour .partners {
    padding: 70px 0;
}

.rose-tour .eyebrow {
    margin: 0 0 7px;

    color: var(--gold);

    font-size: 13px;
    font-weight: 900;
    letter-spacing: .13em;
}

.rose-tour .section-title {
    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 4.5vw, 54px);
    line-height: 1.08;

    margin: 0 0 20px;
}

.rose-tour .section-intro {
    max-width: 800px;

    font-size: 18px;
    color: var(--muted);

    margin-bottom: 36px;
}


/* ==========================================================
   WELCOME
========================================================== */

.rose-tour .welcome {
    background: #ffffff;
}

.rose-tour .welcome-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}

.rose-tour .info-card {
    padding: 28px;

    border-radius: 16px;

    background: var(--soft-cream);

    border-top: 5px solid var(--gold);

    box-shadow: 0 5px 18px rgba(0,0,0,.04);
}

.rose-tour .info-card h3 {
    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;

    margin-top: 0;
}


/* ==========================================================
   GARDEN MAP SECTION
========================================================== */

.rose-tour .map-section {
    background: #f3eee5;
}


/* START INSTRUCTION */

.rose-tour .start-instruction {
    max-width: 850px;

    margin: 30px auto 22px;
    padding: 20px 24px;

    background: var(--burgundy);
    color: #ffffff;

    border-radius: 16px;

    text-align: center;

    box-shadow: 0 8px 24px rgba(0,0,0,.12);
}

.rose-tour .start-small {
    color: #f1e3bb;

    font-weight: 900;
    letter-spacing: .12em;
    font-size: 13px;
}

.rose-tour .start-title {
    margin-top: 4px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(21px, 3vw, 27px);
    font-weight: 700;
    line-height: 1.25;
}

.rose-tour .start-copy {
    margin-top: 7px;
    font-size: 15px;
}


/* ==========================================================
   FINAL NUMBERED GARDEN MAP

   IMPORTANT:
   The numbers are physically part of the PNG.
   There are NO CSS marker overlays.
========================================================== */

.rose-tour .garden-plan-display {
    max-width: 1100px;

    margin: 0 auto;
    padding: 12px;

    background: #ffffff;

    border-radius: 16px;

    box-shadow: 0 10px 28px rgba(0,0,0,.10);

    overflow: hidden;
}

.rose-tour .numbered-garden-map {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ==========================================================
   MAP KEY
========================================================== */

.rose-tour .map-key {
    max-width: 900px;

    margin: 20px auto 38px;
    padding: 18px 22px;

    background: #fffaf0;

    border-left: 5px solid var(--gold);
    border-radius: 10px;

    font-size: 14px;
    line-height: 1.9;
}

.rose-tour .map-key strong {
    color: var(--burgundy);
}

.rose-tour .map-key span {
    display: inline-flex;

    width: 26px;
    height: 26px;

    align-items: center;
    justify-content: center;

    margin-right: 3px;

    background: var(--burgundy);

    color: #ffffff;

    border: 2px solid var(--gold);
    border-radius: 50%;

    font-weight: 900;
    line-height: 1;
}

.rose-tour .tour-instruction {
    text-align: center;

    font-size: 17px;

    margin: 35px auto 22px;
}

.rose-tour .tour-instruction strong {
    color: var(--burgundy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
}


/* ==========================================================
   SIX PHOTOGRAPHIC TOUR CARDS
========================================================== */

.rose-tour .visual-tour-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}

.rose-tour .visual-tour-card {
    overflow: hidden;

    display: block;

    background: #ffffff;

    border-radius: 16px;

    text-decoration: none !important;
    color: var(--text) !important;

    box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

.rose-tour .visual-tour-card:hover {
    transform: translateY(-4px);

    box-shadow: 0 12px 30px rgba(0,0,0,.13);
}

.rose-tour .visual-tour-image {
    position: relative;
}

.rose-tour .visual-tour-image img {
    display: block;

    width: 100%;
    height: 225px;

    object-fit: cover;
}


/* NUMBER ON PHOTO CARD */

.rose-tour .visual-stop-number {
    position: absolute;

    top: 14px;
    left: 14px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    padding: 0;

    border: 3px solid var(--light-gold);
    border-radius: 50%;

    background: var(--burgundy);

    color: #ffffff;

    font-size: 20px;
    font-weight: 900;
    line-height: 1;

    box-shadow: 0 3px 10px rgba(0,0,0,.25);
}

.rose-tour .visual-tour-copy {
    padding: 21px;
}

.rose-tour .visual-tour-copy h3 {
    margin: 0 0 8px;

    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
}

.rose-tour .visual-tour-copy p {
    color: var(--text);
}

.rose-tour .explore-stop {
    color: var(--sage);

    font-weight: 900;
}


/* ==========================================================
   INDIVIDUAL TOUR STOPS
========================================================== */

.rose-tour .tour-stop {
    padding: 70px 0;

    background: #ffffff;

    border-top: 1px solid #e9e1d5;
}

.rose-tour .tour-stop:nth-of-type(even) {
    background: #fbf7ef;
}


/* YOU ARE HERE BAR */

.rose-tour .you-are-here {
    display: flex;
    justify-content: space-between;
    align-items: center;

    gap: 15px;
    flex-wrap: wrap;

    margin-bottom: 24px;
    padding: 11px 16px;

    background: #f4ead2;

    border-radius: 10px;

    color: var(--burgundy);

    font-size: 13px;
    font-weight: 900;
    letter-spacing: .05em;
}

.rose-tour .you-are-here a {
    color: var(--burgundy) !important;
    text-decoration: none !important;
}


/* STOP HEADING */

.rose-tour .stop-header {
    display: flex;
    align-items: center;

    gap: 18px;

    margin-bottom: 18px;
}

.rose-tour .stop-number {
    flex: 0 0 62px;

    width: 62px;
    height: 62px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 4px solid var(--gold);
    border-radius: 50%;

    background: var(--burgundy);

    color: #ffffff;

    font-size: 27px;
    font-weight: 900;
    line-height: 1;

    box-shadow: 0 4px 12px rgba(0,0,0,.12);
}

.rose-tour .stop-header h2 {
    margin: 0;

    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.05;
}

.rose-tour .stop-header .eyebrow {
    margin-bottom: 3px;
}

.rose-tour .stop-subtitle {
    margin: 5px 0 0;

    color: var(--sage);

    font-style: italic;
}

.rose-tour .stop-description {
    max-width: 850px;

    font-size: 18px;

    margin-bottom: 30px;
}


/* ==========================================================
   PLANT CARDS
========================================================== */

.rose-tour .plant-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}

.rose-tour .plant-card {
    overflow: hidden;

    background: #ffffff;

    border-radius: 15px;

    box-shadow: 0 8px 22px rgba(0,0,0,.08);

    border: 1px solid #eee6da;
}

.rose-tour .plant-card img {
    display: block;

    width: 100%;
    height: 230px;

    object-fit: cover;
}

.rose-tour .plant-copy {
    padding: 21px;
}

.rose-tour .plant-copy h3 {
    margin: 0 0 5px;

    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
}

.rose-tour .latin {
    color: var(--sage);

    margin-top: 0;

    font-style: italic;
}

.rose-tour .quantity {
    display: inline-block;

    margin-top: 7px;
    padding: 5px 10px;

    border-radius: 999px;

    background: #f3ead5;

    color: var(--burgundy);

    font-size: 12px;
    font-weight: 900;
}


/* NEXT STOP BUTTON */

.rose-tour .next-stop {
    display: inline-block;

    margin-top: 30px;
    padding: 12px 20px;

    border-radius: 999px;

    background: var(--burgundy);

    color: #ffffff !important;

    text-decoration: none !important;

    font-weight: 800;
}

.rose-tour .next-stop:hover {
    background: var(--sage);

    transform: translateY(-2px);
}


/* ==========================================================
   COMPLETE PLANT DIRECTORY
========================================================== */

.rose-tour .directory {
    background: var(--sage);

    color: #ffffff;
}

.rose-tour .directory .eyebrow {
    color: #f1d99b;
}

.rose-tour .directory .section-title {
    color: #ffffff !important;
}

.rose-tour .directory .section-intro {
    color: #f1eee9;
}

.rose-tour .directory-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 18px;
}

.rose-tour .directory-card {
    display: grid;

    grid-template-columns: 105px 1fr;

    overflow: hidden;

    background: #ffffff;

    color: var(--text);

    border-radius: 12px;

    box-shadow: 0 6px 18px rgba(0,0,0,.10);
}

.rose-tour .directory-card img {
    width: 105px;
    height: 100%;
    min-height: 120px;

    object-fit: cover;
}

.rose-tour .directory-copy {
    padding: 15px;
}

.rose-tour .directory-copy h3 {
    color: var(--burgundy) !important;

    margin: 0 0 3px;

    font-size: 17px;
}

.rose-tour .directory-copy p {
    margin: 0 0 7px;

    font-size: 13px;

    color: var(--sage);
}


/* ==========================================================
   MESSAGES
========================================================== */

.rose-tour .messages {
    background: #ffffff;
}

.rose-tour .message-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 22px;
}

.rose-tour .message-card {
    padding: 28px;

    background: var(--soft-cream);

    border-radius: 16px;

    border-top: 5px solid var(--burgundy);

    box-shadow: 0 6px 18px rgba(0,0,0,.05);
}

.rose-tour .message-card h3 {
    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;

    margin-top: 0;
}


/* ==========================================================
   CONSERVATION PARTNERS
========================================================== */

.rose-tour .partners {
    background: #f3eee5;
}

.rose-tour .partner-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}

.rose-tour .partner-card {
    padding: 27px;

    background: #ffffff;

    border-radius: 16px;

    border-top: 5px solid var(--sage);

    box-shadow: 0 7px 20px rgba(0,0,0,.06);
}

.rose-tour .partner-card.farm {
    border-top-color: var(--gold);
}

.rose-tour .partner-card h3 {
    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;

    margin-top: 0;
}


/* ==========================================================
   FOOTER
========================================================== */

.rose-tour .tour-footer {
    padding: 55px 25px;

    text-align: center;

    background: var(--burgundy);

    color: #ffffff;
}

.rose-tour .tour-footer h2 {
    margin: 0 0 7px;

    color: #ffffff !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
}

.rose-tour .footer-tag {
    color: var(--light-gold);

    font-family: Georgia, "Times New Roman", serif;
    font-style: italic;
    font-size: 18px;
}

.rose-tour .tour-footer a {
    color: #ffffff !important;

    font-weight: 800;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 900px) {

    .rose-tour .hero {
        grid-template-columns: 1fr;
    }

    .rose-tour .hero-map {
        padding: 20px;
    }

    .rose-tour .visual-tour-grid,
    .rose-tour .plant-grid,
    .rose-tour .directory-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rose-tour .partner-grid {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 650px) {

    .rose-tour .hero-copy {
        padding: 50px 25px;
    }

    .rose-tour .hero h1 {
        font-size: 46px;
    }

    .rose-tour .welcome,
    .rose-tour .map-section,
    .rose-tour .directory,
    .rose-tour .messages,
    .rose-tour .partners,
    .rose-tour .tour-stop {
        padding: 48px 0;
    }

    .rose-tour .welcome-grid,
    .rose-tour .message-grid,
    .rose-tour .visual-tour-grid,
    .rose-tour .plant-grid,
    .rose-tour .directory-grid {
        grid-template-columns: 1fr;
    }


    /* MOBILE NAV */

    .rose-tour .tour-nav {
        justify-content: flex-start;

        flex-wrap: nowrap;

        overflow-x: auto;

        -webkit-overflow-scrolling: touch;
    }

    .rose-tour .tour-nav a {
        flex: 0 0 auto;
    }


    /* MOBILE MAP */

    .rose-tour .garden-plan-display {
        padding: 5px;

        border-radius: 10px;
    }

    .rose-tour .numbered-garden-map {
        width: 100% !important;
        height: auto !important;
    }

    .rose-tour .map-key {
        font-size: 13px;
        line-height: 2.1;
    }


    /* TOUR CARDS */

    .rose-tour .visual-tour-image img {
        height: 240px;
    }


    /* TOUR STOP HEADER */

    .rose-tour .stop-number {
        flex: 0 0 52px;

        width: 52px;
        height: 52px;

        font-size: 23px;
    }

    .rose-tour .stop-header {
        align-items: flex-start;
    }


    /* PLANTS */

    .rose-tour .plant-card img {
        height: 245px;
    }


    /* DIRECTORY */

    .rose-tour .directory-card {
        grid-template-columns: 95px 1fr;
    }

    .rose-tour .directory-card img {
        width: 95px;
    }

}


/* ==========================================================
   VERY SMALL PHONES
========================================================== */

@media (max-width: 420px) {

    .rose-tour .hero h1 {
        font-size: 40px;
    }

    .rose-tour .hero-tagline {
        font-size: 18px;
    }

    .rose-tour .section-title {
        font-size: 34px;
    }

    .rose-tour .stop-header h2 {
        font-size: 30px;
    }

    .rose-tour .visual-tour-image img {
        height: 215px;
    }

}/* ==========================================================
   FIRST LADIES' ROSE GARDEN
   COMPLETE FINAL DESIGN CSS
   ========================================================== */


/* ----------------------------------------------------------
   COLOR PALETTE + GLOBAL SETTINGS
---------------------------------------------------------- */

.rose-tour {
    --burgundy: #6b263b;
    --sage: #526c50;
    --gold: #b28a3e;
    --light-gold: #e3ca8c;
    --cream: #faf6ed;
    --soft-cream: #fffaf2;
    --text: #332e2b;
    --muted: #706963;
    --white: #ffffff;

    color: var(--text);
    background: var(--cream);

    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.6;

    width: 100%;
}

.rose-tour * {
    box-sizing: border-box;
}

.rose-tour img {
    max-width: 100%;
}

.rose-tour .wrap {
    width: min(1120px, 92%);
    margin: 0 auto;
}

.rose-tour section {
    scroll-margin-top: 85px;
}

.rose-tour a {
    transition: all .2s ease;
}


/* ==========================================================
   HERO
========================================================== */

.rose-tour .hero {
    display: grid;
    grid-template-columns: 1fr 1fr;

    background: var(--burgundy);
    color: var(--white);

    min-height: 520px;
}

.rose-tour .hero-copy {
    padding: 70px max(7vw, 40px);

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rose-tour .hero-kicker {
    color: var(--light-gold);

    font-size: 13px;
    font-weight: 800;
    letter-spacing: .15em;

    margin: 0 0 12px;
}

.rose-tour .hero h1 {
    color: #ffffff !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(44px, 6vw, 76px);
    font-weight: 700;
    line-height: .98;

    margin: 0 0 18px;
}

.rose-tour .hero-tagline {
    color: var(--light-gold);

    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    font-style: italic;

    margin: 0 0 22px;
}

.rose-tour .hero-copy > p:not(.hero-kicker):not(.hero-tagline) {
    max-width: 570px;
    font-size: 17px;
}

.rose-tour .button {
    align-self: flex-start;

    display: inline-block;

    margin-top: 14px;
    padding: 13px 22px;

    border-radius: 999px;

    background: var(--gold);

    color: #ffffff !important;
    text-decoration: none !important;

    font-weight: 800;
}

.rose-tour .button:hover {
    background: var(--sage);
    transform: translateY(-2px);
}


/* HERO MAP */

.rose-tour .hero-map {
    background: #eee8dd;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 28px;
}

.rose-tour .hero-map img {
    display: block;

    width: 100%;
    height: auto;

    background: #ffffff;

    box-shadow: 0 8px 24px rgba(0,0,0,.12);
}


/* ==========================================================
   STICKY TOUR NAVIGATION
========================================================== */

.rose-tour .tour-nav {
    position: sticky;
    top: 0;
    z-index: 100;

    display: flex;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;

    padding: 10px 12px;

    background: rgba(255,255,255,.97);

    border-bottom: 1px solid #e5ded2;

    box-shadow: 0 3px 12px rgba(0,0,0,.06);
}

.rose-tour .tour-nav a {
    color: var(--burgundy) !important;

    text-decoration: none !important;

    font-weight: 800;
    font-size: 14px;

    padding: 7px 10px;

    border-radius: 999px;
}

.rose-tour .tour-nav a:hover {
    background: var(--cream);
    color: var(--sage) !important;
}


/* ==========================================================
   COMMON SECTION STYLING
========================================================== */

.rose-tour .welcome,
.rose-tour .map-section,
.rose-tour .directory,
.rose-tour .messages,
.rose-tour .partners {
    padding: 70px 0;
}

.rose-tour .eyebrow {
    margin: 0 0 7px;

    color: var(--gold);

    font-size: 13px;
    font-weight: 900;
    letter-spacing: .13em;
}

.rose-tour .section-title {
    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 4.5vw, 54px);
    line-height: 1.08;

    margin: 0 0 20px;
}

.rose-tour .section-intro {
    max-width: 800px;

    font-size: 18px;
    color: var(--muted);

    margin-bottom: 36px;
}


/* ==========================================================
   WELCOME
========================================================== */

.rose-tour .welcome {
    background: #ffffff;
}

.rose-tour .welcome-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}

.rose-tour .info-card {
    padding: 28px;

    border-radius: 16px;

    background: var(--soft-cream);

    border-top: 5px solid var(--gold);

    box-shadow: 0 5px 18px rgba(0,0,0,.04);
}

.rose-tour .info-card h3 {
    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;

    margin-top: 0;
}


/* ==========================================================
   GARDEN MAP SECTION
========================================================== */

.rose-tour .map-section {
    background: #f3eee5;
}


/* START INSTRUCTION */

.rose-tour .start-instruction {
    max-width: 850px;

    margin: 30px auto 22px;
    padding: 20px 24px;

    background: var(--burgundy);
    color: #ffffff;

    border-radius: 16px;

    text-align: center;

    box-shadow: 0 8px 24px rgba(0,0,0,.12);
}

.rose-tour .start-small {
    color: #f1e3bb;

    font-weight: 900;
    letter-spacing: .12em;
    font-size: 13px;
}

.rose-tour .start-title {
    margin-top: 4px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(21px, 3vw, 27px);
    font-weight: 700;
    line-height: 1.25;
}

.rose-tour .start-copy {
    margin-top: 7px;
    font-size: 15px;
}


/* ==========================================================
   FINAL NUMBERED GARDEN MAP

   IMPORTANT:
   The numbers are physically part of the PNG.
   There are NO CSS marker overlays.
========================================================== */

.rose-tour .garden-plan-display {
    max-width: 1100px;

    margin: 0 auto;
    padding: 12px;

    background: #ffffff;

    border-radius: 16px;

    box-shadow: 0 10px 28px rgba(0,0,0,.10);

    overflow: hidden;
}

.rose-tour .numbered-garden-map {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ==========================================================
   MAP KEY
========================================================== */

.rose-tour .map-key {
    max-width: 900px;

    margin: 20px auto 38px;
    padding: 18px 22px;

    background: #fffaf0;

    border-left: 5px solid var(--gold);
    border-radius: 10px;

    font-size: 14px;
    line-height: 1.9;
}

.rose-tour .map-key strong {
    color: var(--burgundy);
}

.rose-tour .map-key span {
    display: inline-flex;

    width: 26px;
    height: 26px;

    align-items: center;
    justify-content: center;

    margin-right: 3px;

    background: var(--burgundy);

    color: #ffffff;

    border: 2px solid var(--gold);
    border-radius: 50%;

    font-weight: 900;
    line-height: 1;
}

.rose-tour .tour-instruction {
    text-align: center;

    font-size: 17px;

    margin: 35px auto 22px;
}

.rose-tour .tour-instruction strong {
    color: var(--burgundy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
}


/* ==========================================================
   SIX PHOTOGRAPHIC TOUR CARDS
========================================================== */

.rose-tour .visual-tour-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}

.rose-tour .visual-tour-card {
    overflow: hidden;

    display: block;

    background: #ffffff;

    border-radius: 16px;

    text-decoration: none !important;
    color: var(--text) !important;

    box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

.rose-tour .visual-tour-card:hover {
    transform: translateY(-4px);

    box-shadow: 0 12px 30px rgba(0,0,0,.13);
}

.rose-tour .visual-tour-image {
    position: relative;
}

.rose-tour .visual-tour-image img {
    display: block;

    width: 100%;
    height: 225px;

    object-fit: cover;
}


/* NUMBER ON PHOTO CARD */

.rose-tour .visual-stop-number {
    position: absolute;

    top: 14px;
    left: 14px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    padding: 0;

    border: 3px solid var(--light-gold);
    border-radius: 50%;

    background: var(--burgundy);

    color: #ffffff;

    font-size: 20px;
    font-weight: 900;
    line-height: 1;

    box-shadow: 0 3px 10px rgba(0,0,0,.25);
}

.rose-tour .visual-tour-copy {
    padding: 21px;
}

.rose-tour .visual-tour-copy h3 {
    margin: 0 0 8px;

    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
}

.rose-tour .visual-tour-copy p {
    color: var(--text);
}

.rose-tour .explore-stop {
    color: var(--sage);

    font-weight: 900;
}


/* ==========================================================
   INDIVIDUAL TOUR STOPS
========================================================== */

.rose-tour .tour-stop {
    padding: 70px 0;

    background: #ffffff;

    border-top: 1px solid #e9e1d5;
}

.rose-tour .tour-stop:nth-of-type(even) {
    background: #fbf7ef;
}


/* YOU ARE HERE BAR */

.rose-tour .you-are-here {
    display: flex;
    justify-content: space-between;
    align-items: center;

    gap: 15px;
    flex-wrap: wrap;

    margin-bottom: 24px;
    padding: 11px 16px;

    background: #f4ead2;

    border-radius: 10px;

    color: var(--burgundy);

    font-size: 13px;
    font-weight: 900;
    letter-spacing: .05em;
}

.rose-tour .you-are-here a {
    color: var(--burgundy) !important;
    text-decoration: none !important;
}


/* STOP HEADING */

.rose-tour .stop-header {
    display: flex;
    align-items: center;

    gap: 18px;

    margin-bottom: 18px;
}

.rose-tour .stop-number {
    flex: 0 0 62px;

    width: 62px;
    height: 62px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 4px solid var(--gold);
    border-radius: 50%;

    background: var(--burgundy);

    color: #ffffff;

    font-size: 27px;
    font-weight: 900;
    line-height: 1;

    box-shadow: 0 4px 12px rgba(0,0,0,.12);
}

.rose-tour .stop-header h2 {
    margin: 0;

    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.05;
}

.rose-tour .stop-header .eyebrow {
    margin-bottom: 3px;
}

.rose-tour .stop-subtitle {
    margin: 5px 0 0;

    color: var(--sage);

    font-style: italic;
}

.rose-tour .stop-description {
    max-width: 850px;

    font-size: 18px;

    margin-bottom: 30px;
}


/* ==========================================================
   PLANT CARDS
========================================================== */

.rose-tour .plant-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}

.rose-tour .plant-card {
    overflow: hidden;

    background: #ffffff;

    border-radius: 15px;

    box-shadow: 0 8px 22px rgba(0,0,0,.08);

    border: 1px solid #eee6da;
}

.rose-tour .plant-card img {
    display: block;

    width: 100%;
    height: 230px;

    object-fit: cover;
}

.rose-tour .plant-copy {
    padding: 21px;
}

.rose-tour .plant-copy h3 {
    margin: 0 0 5px;

    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
}

.rose-tour .latin {
    color: var(--sage);

    margin-top: 0;

    font-style: italic;
}

.rose-tour .quantity {
    display: inline-block;

    margin-top: 7px;
    padding: 5px 10px;

    border-radius: 999px;

    background: #f3ead5;

    color: var(--burgundy);

    font-size: 12px;
    font-weight: 900;
}


/* NEXT STOP BUTTON */

.rose-tour .next-stop {
    display: inline-block;

    margin-top: 30px;
    padding: 12px 20px;

    border-radius: 999px;

    background: var(--burgundy);

    color: #ffffff !important;

    text-decoration: none !important;

    font-weight: 800;
}

.rose-tour .next-stop:hover {
    background: var(--sage);

    transform: translateY(-2px);
}


/* ==========================================================
   COMPLETE PLANT DIRECTORY
========================================================== */

.rose-tour .directory {
    background: var(--sage);

    color: #ffffff;
}

.rose-tour .directory .eyebrow {
    color: #f1d99b;
}

.rose-tour .directory .section-title {
    color: #ffffff !important;
}

.rose-tour .directory .section-intro {
    color: #f1eee9;
}

.rose-tour .directory-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 18px;
}

.rose-tour .directory-card {
    display: grid;

    grid-template-columns: 105px 1fr;

    overflow: hidden;

    background: #ffffff;

    color: var(--text);

    border-radius: 12px;

    box-shadow: 0 6px 18px rgba(0,0,0,.10);
}

.rose-tour .directory-card img {
    width: 105px;
    height: 100%;
    min-height: 120px;

    object-fit: cover;
}

.rose-tour .directory-copy {
    padding: 15px;
}

.rose-tour .directory-copy h3 {
    color: var(--burgundy) !important;

    margin: 0 0 3px;

    font-size: 17px;
}

.rose-tour .directory-copy p {
    margin: 0 0 7px;

    font-size: 13px;

    color: var(--sage);
}


/* ==========================================================
   MESSAGES
========================================================== */

.rose-tour .messages {
    background: #ffffff;
}

.rose-tour .message-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 22px;
}

.rose-tour .message-card {
    padding: 28px;

    background: var(--soft-cream);

    border-radius: 16px;

    border-top: 5px solid var(--burgundy);

    box-shadow: 0 6px 18px rgba(0,0,0,.05);
}

.rose-tour .message-card h3 {
    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;

    margin-top: 0;
}


/* ==========================================================
   CONSERVATION PARTNERS
========================================================== */

.rose-tour .partners {
    background: #f3eee5;
}

.rose-tour .partner-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}

.rose-tour .partner-card {
    padding: 27px;

    background: #ffffff;

    border-radius: 16px;

    border-top: 5px solid var(--sage);

    box-shadow: 0 7px 20px rgba(0,0,0,.06);
}

.rose-tour .partner-card.farm {
    border-top-color: var(--gold);
}

.rose-tour .partner-card h3 {
    color: var(--burgundy) !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;

    margin-top: 0;
}


/* ==========================================================
   FOOTER
========================================================== */

.rose-tour .tour-footer {
    padding: 55px 25px;

    text-align: center;

    background: var(--burgundy);

    color: #ffffff;
}

.rose-tour .tour-footer h2 {
    margin: 0 0 7px;

    color: #ffffff !important;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
}

.rose-tour .footer-tag {
    color: var(--light-gold);

    font-family: Georgia, "Times New Roman", serif;
    font-style: italic;
    font-size: 18px;
}

.rose-tour .tour-footer a {
    color: #ffffff !important;

    font-weight: 800;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 900px) {

    .rose-tour .hero {
        grid-template-columns: 1fr;
    }

    .rose-tour .hero-map {
        padding: 20px;
    }

    .rose-tour .visual-tour-grid,
    .rose-tour .plant-grid,
    .rose-tour .directory-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rose-tour .partner-grid {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 650px) {

    .rose-tour .hero-copy {
        padding: 50px 25px;
    }

    .rose-tour .hero h1 {
        font-size: 46px;
    }

    .rose-tour .welcome,
    .rose-tour .map-section,
    .rose-tour .directory,
    .rose-tour .messages,
    .rose-tour .partners,
    .rose-tour .tour-stop {
        padding: 48px 0;
    }

    .rose-tour .welcome-grid,
    .rose-tour .message-grid,
    .rose-tour .visual-tour-grid,
    .rose-tour .plant-grid,
    .rose-tour .directory-grid {
        grid-template-columns: 1fr;
    }


    /* MOBILE NAV */

    .rose-tour .tour-nav {
        justify-content: flex-start;

        flex-wrap: nowrap;

        overflow-x: auto;

        -webkit-overflow-scrolling: touch;
    }

    .rose-tour .tour-nav a {
        flex: 0 0 auto;
    }


    /* MOBILE MAP */

    .rose-tour .garden-plan-display {
        padding: 5px;

        border-radius: 10px;
    }

    .rose-tour .numbered-garden-map {
        width: 100% !important;
        height: auto !important;
    }

    .rose-tour .map-key {
        font-size: 13px;
        line-height: 2.1;
    }


    /* TOUR CARDS */

    .rose-tour .visual-tour-image img {
        height: 240px;
    }


    /* TOUR STOP HEADER */

    .rose-tour .stop-number {
        flex: 0 0 52px;

        width: 52px;
        height: 52px;

        font-size: 23px;
    }

    .rose-tour .stop-header {
        align-items: flex-start;
    }


    /* PLANTS */

    .rose-tour .plant-card img {
        height: 245px;
    }


    /* DIRECTORY */

    .rose-tour .directory-card {
        grid-template-columns: 95px 1fr;
    }

    .rose-tour .directory-card img {
        width: 95px;
    }

}


/* ==========================================================
   VERY SMALL PHONES
========================================================== */

@media (max-width: 420px) {

    .rose-tour .hero h1 {
        font-size: 40px;
    }

    .rose-tour .hero-tagline {
        font-size: 18px;
    }

    .rose-tour .section-title {
        font-size: 34px;
    }

    .rose-tour .stop-header h2 {
        font-size: 30px;
    }

    .rose-tour .visual-tour-image img {
        height: 215px;
    }

}



