*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
--primary:#00B87A;--primary-dark:#009963;--primary-light:#E8F8F0;
--navy:#0C2340;--dark:#081a30;
--gold:#D4A853;--gold-light:#FBF5E8;
--white:#FFFFFF;--sky:#EDF4FA;--sky-light:#F4F8FC;--bg:#FAFBFC;
--gray-50:#F8F9FA;--gray-100:#F1F3F5;--gray-200:#E9ECEF;--gray-300:#DEE2E6;
--gray-400:#CED4DA;--gray-500:#ADB5BD;--gray-600:#868E96;--gray-700:#495057;--gray-800:#343A40;--gray-900:#212529;
--text-primary:#231F20;--text-secondary:#414143;--text-muted:#6B6B6C;--text-dark:#121214;
--shadow-sm:0 1px 3px rgba(0,0,0,0.06);--shadow:0 2px 8px rgba(0,0,0,0.06);--shadow-lg:0 8px 24px rgba(0,0,0,0.08);
--radius:12px;--radius-lg:12px;--radius-xl:16px
}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--text-primary);line-height:1.5;font-size:16px;background:#FFF;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.container{max-width:1440px;margin:0 auto;padding:0 24px}

/* HERO */
.hero{position:relative;display:flex;align-items:center;justify-content:center;background:url('/public/rv-photos/exterior-side.jpg') center 30%/cover no-repeat;padding:140px 24px 32px}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.2) 0%,rgba(0,0,0,0.5) 100%)}
.hero-inner{position:relative;z-index:1;max-width:900px;width:100%;text-align:center}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.15);backdrop-filter:blur(10px);color:#fff;padding:8px 18px;border-radius:50px;font-size:13px;font-weight:700;margin-bottom:12px;border:1px solid rgba(255,255,255,0.3)}
.hero h1{font-size:38px;font-weight:900;color:#FFF;line-height:44px;margin-bottom:8px;letter-spacing:-1.2px;text-shadow:0 2px 16px rgba(0,0,0,0.5)}
.hero p{font-size:16px;color:rgba(255,255,255,0.92);max-width:480px;margin:0 auto 16px;line-height:1.5;text-shadow:0 1px 8px rgba(0,0,0,0.4)}
.hero-search-inline{display:flex;align-items:stretch;background:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,0.25);overflow:hidden;max-width:880px;margin:0 auto}
.hero-search-inline .sf{flex:1;padding:12px 16px;border-right:1px solid var(--gray-200);display:flex;flex-direction:column;justify-content:center;min-width:0}
.hero-search-inline .sf:last-of-type{border-right:none}
.hero-search-inline .sf-label{font-size:10px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:3px;white-space:nowrap}
.hero-search-inline .sf-value{font-size:14px;font-weight:700;color:var(--navy);border:none;padding:0;background:transparent;width:100%;cursor:pointer;font-family:inherit}
.hero-search-inline .sf-btn{background:var(--primary);color:#fff;border:none;padding:0;width:52px;min-width:52px;font-size:20px;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;transition:background .2s;border-radius:0 12px 12px 0}
.hero-search-inline .sf-btn:hover{background:var(--primary-dark)}

/* SEARCH BOX */
.search-box{background:#FFF;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--gray-200);padding:8px;display:flex;align-items:center;gap:4px;max-width:680px;margin:0 auto}
.search-field{flex:1;padding:14px 16px;border:none;font-size:15px;font-family:inherit;background:transparent;color:var(--text-dark);min-width:0}
.search-field:focus{outline:none}
.search-field::placeholder{color:var(--text-muted)}
.search-divider{width:1px;height:32px;background:var(--gray-200);flex-shrink:0}
.search-btn{background:var(--primary);color:#FFF;border:none;padding:14px 28px;border-radius:var(--radius);font-size:15px;font-weight:700;cursor:pointer;transition:all .15s;white-space:nowrap;font-family:inherit}
.search-btn:hover{background:var(--primary-dark)}

/* TRUST BAR */
.trust-bar{padding:32px 0;border-bottom:1px solid var(--gray-100)}
.trust-grid{display:flex;justify-content:center;gap:40px;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--text-secondary)}
.trust-icon{width:40px;height:40px;background:var(--primary-light);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.trust-main{display:flex;justify-content:center;gap:28px;font-size:14px;font-weight:600;color:var(--gray-700);align-items:center;flex-wrap:wrap}
.trust-main span{display:flex;align-items:center;gap:5px}
.trust-main span span{font-size:17px}
.trust-main strong{color:var(--navy)}
.trust-sub{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:var(--text-muted)}

/* FLEET */
.section{padding:48px 0}
.section-header{margin-bottom:10px}
.section-header h2{font-size:21px;font-weight:900;color:var(--text-dark);letter-spacing:-0.3px;line-height:28px;margin-bottom:4px}
.section-header p{font-size:15px;color:var(--text-secondary)}
.fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rv-card{background:#FFF;border-radius:var(--radius-lg);overflow:hidden;border:none;transition:all .2s;box-shadow:none}
.rv-card:hover{box-shadow:0 2px 12px rgba(0,0,0,0.08)}
.rv-photo{height:220px;background:linear-gradient(135deg,#E3EEF8,#C5DDEF);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg)}
.rv-photo img{width:100%;height:100%;object-fit:cover}
.rv-photo-text{font-size:48px;opacity:0.3}
.rv-badge{position:absolute;top:12px;left:12px;display:flex;gap:6px}
.rv-badge span{background:rgba(255,255,255,0.92);color:var(--text-dark);padding:4px 10px;border-radius:8px;font-size:12px;font-weight:600;box-shadow:var(--shadow-sm)}
.rv-badge .featured{background:var(--primary);color:#FFF}
.rv-fav{position:absolute;top:12px;right:12px;width:32px;height:32px;background:rgba(255,255,255,0.9);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:all .15s}
.rv-fav:hover{background:var(--white)}
.rv-body{padding:12px 4px 8px}
.rv-body h3{font-size:16px;font-weight:700;color:var(--text-dark);margin-bottom:2px;line-height:24px}
.rv-meta{font-size:13px;color:var(--text-muted);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.rv-meta .rating{color:var(--text-dark);font-weight:600}
.rv-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.rv-tag{font-size:12px;color:var(--text-secondary);background:var(--gray-50);padding:4px 10px;border-radius:20px;display:flex;align-items:center;gap:4px}
.rv-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--gray-100)}
.rv-price{font-size:20px;font-weight:700;color:var(--text-dark)}
.rv-price small{font-size:13px;font-weight:400;color:var(--text-muted)}
.rv-book{background:var(--primary);color:#FFF;padding:8px 18px;border-radius:var(--radius);font-size:13px;font-weight:600;transition:all .15s;display:inline-flex;align-items:center;gap:4px}
.rv-book:hover{background:var(--primary-dark)}
.wishlist-btn{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.92);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:transform .2s;z-index:5}
.wishlist-btn:hover{transform:scale(1.1)}
.wishlist-btn.active{color:#E03131}

/* HOW IT WORKS */
.how{background:var(--gray-50)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.step{text-align:center;padding:32px 20px}
.step-icon{width:64px;height:64px;background:var(--primary-light);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 16px}
.step h3{font-size:16px;font-weight:700;color:var(--text-dark);margin-bottom:6px;line-height:24px}
.step p{font-size:14px;color:var(--text-secondary);line-height:1.6}

/* PERKS */
.perks-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.perk{background:var(--gray-50);border-radius:var(--radius-lg);padding:24px 20px;text-align:center;transition:all .2s;border:1px solid transparent}
.perk:hover{background:var(--white);border-color:var(--gray-200);box-shadow:var(--shadow)}
.perk-emoji{font-size:32px;margin-bottom:12px}
.perk h3{font-size:14px;font-weight:700;color:var(--text-dark);margin-bottom:4px}
.perk p{font-size:13px;color:var(--text-secondary);line-height:1.5}

/* AMENITIES */
.amenities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:32px}
.amenity-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:28px;transition:all .2s}
.amenity-card:hover{box-shadow:var(--shadow);border-color:var(--primary)}
.amenity-icon{font-size:36px;margin-bottom:16px}
.amenity-card h3{font-size:18px;font-weight:700;color:var(--text-dark);margin-bottom:16px}
.amenity-card ul{list-style:none;margin:0;padding:0}
.amenity-card li{font-size:14px;color:var(--text-secondary);padding:4px 0;display:flex;align-items:center;gap:8px}
.amenity-card li::before{content:'✓';color:var(--primary);font-weight:bold}

/* DESTINATIONS */
.dest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.dest{background:var(--gray-50);border-radius:var(--radius);padding:20px;display:flex;align-items:center;gap:12px;transition:all .15s;border:1px solid transparent;cursor:pointer}
.dest:hover{background:var(--white);border-color:var(--gray-200);box-shadow:var(--shadow-sm)}
.dest-icon{font-size:24px}
.dest-info h4{font-size:14px;font-weight:700;color:var(--text-dark);margin-bottom:1px}
.dest-info p{font-size:12px;color:var(--text-muted)}

/* REVIEWS */
.reviews{background:var(--navy);color:#FFF}
.reviews .section-header h2{color:#FFF}
.reviews .section-header p{color:rgba(255,255,255,0.5)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);border-radius:var(--radius-lg);padding:28px}
.review-stars{color:var(--gold);font-size:16px;letter-spacing:2px;margin-bottom:14px}
.review p{font-size:14px;line-height:1.7;color:rgba(255,255,255,0.85);margin-bottom:14px}
.review-author{font-size:13px;color:rgba(255,255,255,0.4);font-weight:600}

/* FIRST TIME */
.first-time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ft-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:28px;transition:all .2s}
.ft-card:hover{box-shadow:var(--shadow);border-color:var(--primary)}
.ft-card h3{font-size:16px;font-weight:700;color:var(--text-dark);margin-bottom:6px;display:flex;align-items:center;gap:8px;line-height:24px}
.ft-card p{font-size:14px;color:var(--text-secondary);line-height:1.6}

/* INSTAGRAM */
.instagram-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.instagram-card{aspect-ratio:1;background:linear-gradient(45deg,#E1306C 0%,#FD5949 25%,#F77737 50%,#FCCC63 75%,#8A3AB9 100%);border-radius:var(--radius);position:relative;overflow:hidden;cursor:pointer;transition:all .3s ease}
.instagram-card:hover{transform:scale(1.03);box-shadow:0 8px 25px rgba(0,0,0,0.15)}
.instagram-overlay{position:absolute;inset:0;background:rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;font-size:32px;color:#FFF;transition:all .3s ease;backdrop-filter:blur(1px)}
.instagram-card:hover .instagram-overlay{background:rgba(255,255,255,0.2)}

/* CTA */
.cta{background:linear-gradient(135deg,var(--navy),#163a5f);text-align:center;padding:64px 24px;color:#FFF}
.cta h2{font-size:clamp(24px,4vw,36px);font-weight:900;margin-bottom:12px;letter-spacing:-0.5px}
.cta p{font-size:16px;opacity:0.85;max-width:420px;margin:0 auto 28px}
.cta-btn{display:inline-flex;align-items:center;gap:8px;background:var(--white);color:var(--primary-dark);padding:14px 32px;border-radius:var(--radius);font-size:16px;font-weight:700;transition:all .2s}
.cta-btn:hover{box-shadow:0 6px 20px rgba(0,0,0,0.15)}

/* SMS OPT-IN */
.sms-optin-bar{background:var(--primary);padding:16px 0;border-top:1px solid rgba(255,255,255,0.1)}
.sms-optin-content{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.sms-optin-text{display:flex;align-items:center;gap:12px;color:#FFF;font-size:15px;font-weight:500}
.sms-optin-text span:first-child{font-size:20px}
.sms-optin-form{display:flex;gap:8px;align-items:center}
.sms-optin-form input{padding:10px 14px;border:1px solid rgba(255,255,255,0.3);border-radius:var(--radius);background:rgba(255,255,255,0.95);color:var(--gray-900);font-size:14px;min-width:200px;outline:none}
.sms-optin-form input::placeholder{color:var(--gray-500)}
.sms-optin-form button{background:var(--white);color:var(--primary);border:none;padding:10px 16px;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s}
.sms-optin-form button:hover{background:var(--gray-50);transform:translateY(-1px)}

/* FOOTER */
footer{background:#0C2340;color:rgba(255,255,255,0.7);padding:56px 0 24px}
footer .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-brand{font-size:13px;line-height:1.7;color:rgba(255,255,255,0.7)}
.footer-brand .logo{margin-bottom:10px;display:block;font-size:22px}
footer .footer-col h4{font-size:12px;font-weight:700;color:#fff;margin-bottom:12px;text-transform:uppercase;letter-spacing:0.8px}
.footer-col a{display:block;font-size:12px;font-weight:500;color:rgba(255,255,255,0.7);padding:3px 0;transition:color .15s;text-decoration:none}
.footer-col a:hover{color:#D4A843}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:20px;display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,0.4)}
.footer-bottom a{color:rgba(255,255,255,0.4);text-decoration:none}
.footer-bottom a:hover{color:#D4A843}
.footer-social{display:flex;gap:12px;margin-top:12px}
.footer-social a{font-size:18px;opacity:0.7;transition:opacity .15s;text-decoration:none}
.footer-social a:hover{opacity:1}

/* FAQ */
.faq-container{display:flex;flex-direction:column;gap:8px}
.faq-item{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;transition:all .2s}
.faq-item.active{border-color:var(--text-dark);box-shadow:var(--shadow-sm)}
.faq-header{background:#FFF;color:var(--text-dark);padding:18px 24px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .2s;user-select:none}
.faq-header:hover{background:var(--gray-50)}
.faq-item.active .faq-header{background:#FFF}
.faq-header h3{font-size:16px;font-weight:600;margin:0;flex:1;color:var(--text-dark)}
.faq-icon{font-size:20px;font-weight:300;transition:transform .3s;color:var(--text-muted)}
.faq-item.active .faq-icon{transform:rotate(45deg);color:var(--text-dark)}
.faq-content{padding:0 24px;max-height:0;overflow:hidden;transition:all .3s ease-out;opacity:0}
.faq-item.active .faq-content{max-height:300px;padding:20px 24px;opacity:1}
.faq-content p{margin:0;font-size:15px;line-height:1.6;color:var(--text-secondary)}

/* NEWSLETTER POPUP */
.newsletter-popup{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:1000;justify-content:center;align-items:center}
.newsletter-card{background:white;padding:32px;border-radius:12px;max-width:400px;margin:24px;position:relative;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,0.15)}
.newsletter-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:24px;color:var(--gray-600);cursor:pointer}
.newsletter-card h3{font-size:20px;font-weight:700;color:var(--navy);margin-bottom:8px}
.newsletter-card p{font-size:14px;color:var(--gray-600);margin-bottom:24px}
.newsletter-card form{display:flex;gap:8px}
.newsletter-card input{flex:1;padding:12px 16px;border:1px solid var(--gray-200);border-radius:8px;font-size:14px}
.newsletter-card button[type="submit"]{background:var(--primary);color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}
.newsletter-card button[type="submit"]:hover{background:var(--primary-dark)}

/* ANIMATIONS */
@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideDown{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}

======================== END OF ORIGINAL CSS =====================

/* SITE LOGO IMAGE */
.site-logo{height:60px!important;width:auto!important;max-height:60px!important;display:block}
footer .site-logo{height:40px!important;max-height:40px!important}
.logo-box{background:#0C2340;color:#fff;padding:3px 10px;border-radius:7px;border:1.5px solid rgba(255,255,255,0.75);font-size:22px;font-weight:900;letter-spacing:0}
.logo-we{color:#00B87A;font-size:26px;font-weight:900}
.logo-go{color:#D4A843;font-size:26px;font-weight:900}
