/* ============================================================
   ATTWOOD BRAND THEME  –  css/attwood-brand.css
   Extracted from oldattwood and applied to the modern (Attwood)
   CSS architecture.
   
   CONSTRAINT: Only cosmetic properties are modified here.
   Layout (Flexbox, Grid, Bootstrap structure, margins,
   widths, positioning) is left untouched.
   ============================================================ */

/* ============================================================
   1. GOOGLE FONTS – playful Attwood typography
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Pacifico&family=Raleway:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Arizonia&family=Caveat:wght@500;600;700&family=Quicksand:wght@400;500;600;700&family=Nunito:wght@400;500;600;700;800&display=swap');

/* ============================================================
   2. ATTWOOD BRAND TOKENS  (CSS Custom Properties)
   ============================================================ */
:root {
  /* ── Core palette ── */
  --aw-primary:          #ff0000;   /* vivid red – primary CTA */
  --aw-primary-dark:     #e33a1b;   /* brick red – hover / darken */
  --aw-primary-darker:   #b64132;   /* deep terracotta */
  --aw-accent-sky:       #02adfa;   /* bright sky blue */
  --aw-accent-forest:    #769242;   /* safari green */
  --aw-accent-dark-forest: #485635; /* deep forest */
  --aw-accent-olive:     #232a20;   /* near-black olive – primary dark bg */
  --aw-accent-sage:      #96a19e;   /* muted sage grey */
  --aw-accent-gold:      #e9d020;   /* warm sunburst yellow */

  /* ── Derived / semantic ── */
  --aw-bg-base:          #ffffff;
  --aw-bg-light:         #faf8f4;
  --aw-bg-subtle:        #f5f1eb;
  --aw-text-body:        #444444;
  --aw-text-dark:        #232a20;
  --aw-text-muted:       #6b6358;
  --aw-border:           #e5ddd0;
  --aw-white:            #ffffff;
  --aw-black:            #000000;

  /* ── Typography ── */
  --aw-font-display:     'Pacifico', cursive;          /* headings / display */
  --aw-font-body:        'Raleway', 'Nunito', sans-serif; /* body / UI */
  --aw-font-accent:      'Arizonia', cursive;          /* subheadings / cursive */
  --aw-font-playful:     'Caveat', cursive;            /* labels / badges */
  --aw-font-ui:          'Quicksand', sans-serif;      /* form elements */

  /* ── Shadows (scaled for playful feel) ── */
  --aw-shadow-sm:        2px 4px 12px rgba(227,58,27,0.10);
  --aw-shadow-md:        4px 8px 24px rgba(227,58,27,0.14);
  --aw-shadow-lg:        6px 16px 40px rgba(35,42,32,0.18);
  --aw-shadow-xl:        0 20px 60px rgba(35,42,32,0.22);
  --aw-shadow-card:      2px 2px 10px rgba(0,0,0,0.10);
  --aw-shadow-btn:       0 6px 20px rgba(227,58,27,0.30);
  --aw-shadow-btn-sky:   0 6px 20px rgba(2,173,250,0.30);
  --aw-shadow-hover:     0 10px 30px rgba(227,58,27,0.25);
  --aw-shadow-inset:     inset 0 0 30px rgba(0,0,0,0.08);

  /* ── Border radii ── */
  --aw-radius-sm:   6px;
  --aw-radius-md:   10px;
  --aw-radius-lg:   16px;
  --aw-radius-xl:   24px;
  --aw-radius-pill: 999px;

  /* ── Transitions ── */
  --aw-transition:  all 0.35s cubic-bezier(0.4,0,0.2,1);
  --aw-transition-fast: all 0.18s ease;
  --aw-transition-bounce: all 0.45s cubic-bezier(0.34,1.56,0.64,1);
}

/* ============================================================
   3. BASE / RESET OVERRIDES
   ============================================================ */
body {
  font-family: var(--aw-font-body) !important;
  color: var(--aw-text-body) !important;
  background-color: var(--aw-bg-base) !important;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--aw-font-body);
  color: var(--aw-text-dark);
}

a {
  color: var(--aw-text-dark); /* removed red */
  transition: var(--aw-transition-fast);
}
a:hover, a:focus {
  color: var(--aw-primary-dark) !important;
  text-decoration: none;
}

/* ============================================================
   4. BOOTSTRAP VARIABLE OVERRIDES
   (maps Bootstrap's --primary / --secondary etc.)
   ============================================================ */
:root {
  --primary:   #ff0000;
  --secondary: #232a20;
  --info:      #02adfa;
  --success:   #769242;
  --warning:   #e9d020;
  --danger:    #e33a1b;
}

/* ============================================================
   5. TYPOGRAPHY – Display / Section headings
   ============================================================ */
/* Use Pacifico for hero / section display headings */
.slider-text h1,
.hero-wrap h1,
.ftco-section h2.heading-section,
.ftco-section .heading-section h2,
.section-title h2,
.display-heading,
.site-heading h2 {
  font-family: var(--aw-font-display) !important;
  color: var(--aw-text-dark) !important;
  letter-spacing: 0.01em;
}

/* Slider subheading keeps Arizonia (already set via $font-secondary) */
.slider-text .subheading {
  font-family: var(--aw-font-accent) !important;
  color: var(--aw-text-dark); /* removed red */
  font-size: 30px;
}

/* Navbar brand */
.navbar-brand {
  font-family: var(--aw-font-display) !important;
  font-weight: 400 !important;
  color: var(--aw-white) !important;
}
.navbar-brand span {
  font-family: var(--aw-font-body) !important;
  color: var(--aw-text-dark); /* removed red */
}

/* Section sub-labels using Caveat */
.subheading,
.ftco-section .subheading {
  font-family: var(--aw-font-accent) !important;
  color: var(--aw-text-dark); /* removed red */
}

/* ============================================================
   6. NAVIGATION (navbar) COLORS
   ============================================================ */

/* Scrolled navbar – white bg, dark text */
.ftco-navbar-light.scrolled {
  background: var(--aw-white) !important;
  box-shadow: var(--aw-shadow-md) !important;
}
.ftco-navbar-light.scrolled .nav-link {
  color: var(--aw-text-dark) !important;
}
.ftco-navbar-light.scrolled .nav-link.active,
.ftco-navbar-light.scrolled .nav-item.active > a {
  color: var(--aw-text-dark); /* removed red */
}
.ftco-navbar-light.scrolled .navbar-brand {
  color: var(--aw-text-dark) !important;
}

/* CTA nav item */
.ftco-navbar-light .nav-item.cta > a,
.ftco-navbar-light.scrolled .nav-item.cta > a {
  background: var(--aw-primary) !important;
  border-color: var(--aw-text-dark); /* removed red */
  color: var(--aw-white) !important;
  border-radius: var(--aw-radius-sm) !important;
  box-shadow: var(--aw-shadow-btn) !important;
}
.ftco-navbar-light .nav-item.cta > a:hover,
.ftco-navbar-light.scrolled .nav-item.cta > a:hover {
  background: var(--aw-primary-dark) !important;
  border-color: var(--aw-primary-dark) !important;
  box-shadow: var(--aw-shadow-hover) !important;
}

/* Active nav-link underline accent */
.ftco-navbar-light .nav-item > .nav-link:hover,
.ftco-navbar-light .nav-item > .nav-link:focus {
  color: var(--aw-accent-gold) !important;
}

/* ============================================================
   7. BUTTONS
   ============================================================ */
.btn {
  font-family: var(--aw-font-body) !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  border-radius: var(--aw-radius-sm) !important;
  transition: var(--aw-transition-bounce) !important;
  box-shadow: var(--aw-shadow-btn) !important;
}
.btn:hover, .btn:focus {
  transform: translateY(-2px);
  box-shadow: var(--aw-shadow-hover) !important;
}
.btn:active {
  transform: translateY(0);
  box-shadow: var(--aw-shadow-sm) !important;
}

/* Primary button */
.btn-primary {
  background-color: var(--aw-text-dark); /* removed red */
  border-color: var(--aw-text-dark); /* removed red */
  color: var(--aw-white) !important;
}
.btn-primary:hover {
  background-color: var(--aw-primary-dark) !important;
  border-color: var(--aw-primary-dark) !important;
  color: var(--aw-white) !important;
}
.btn-primary.btn-outline-primary {
  background: transparent !important;
  border-color: var(--aw-text-dark); /* removed red */
  color: var(--aw-text-dark); /* removed red */
}
.btn-primary.btn-outline-primary:hover {
  background: var(--aw-primary) !important;
  color: var(--aw-white) !important;
}

/* Secondary button */
.btn-secondary {
  background-color: var(--aw-accent-olive) !important;
  border-color: var(--aw-accent-olive) !important;
  color: var(--aw-white) !important;
}
.btn-secondary:hover {
  background-color: var(--aw-accent-dark-forest) !important;
  border-color: var(--aw-accent-dark-forest) !important;
  box-shadow: 0 6px 20px rgba(35,42,32,0.30) !important;
}

/* Outline-white (hero buttons) */
.btn-outline-white {
  border-color: rgba(255,255,255,0.85) !important;
  color: var(--aw-white) !important;
}
.btn-outline-white:hover {
  background: var(--aw-white) !important;
  border-color: var(--aw-white) !important;
  color: var(--aw-text-dark); /* removed red */
}

/* Sky-blue accent button */
.btn-info,
.btn-accent-sky {
  background-color: var(--aw-accent-sky) !important;
  border-color: var(--aw-accent-sky) !important;
  color: var(--aw-white) !important;
  box-shadow: var(--aw-shadow-btn-sky) !important;
}
.btn-info:hover,
.btn-accent-sky:hover {
  background-color: #0090d5 !important;
  border-color: #0090d5 !important;
}

/* ============================================================
   8. CARDS  (project-wrap / project-destination)
   ============================================================ */
.project-wrap,
.project-destination,
.ftco-card,
.blog-entry {
  border-radius: var(--aw-radius-md) !important;
  box-shadow: var(--aw-shadow-card) !important;
  transition: var(--aw-transition) !important;
  overflow: hidden;
}
.project-wrap:hover,
.project-destination:hover,
.ftco-card:hover,
.blog-entry:hover {
  box-shadow: var(--aw-shadow-lg) !important;
  transform: translateY(-4px);
}

/* Card text panel */
.project-wrap .text,
.project-destination .text {
  background: var(--aw-white) !important;
  box-shadow: var(--aw-shadow-md) !important;
}

/* Card price badge */
.project-wrap .img .price,
.project-destination .img .price {
  background: var(--aw-primary) !important;
  color: var(--aw-white) !important;
  box-shadow: var(--aw-shadow-sm) !important;
}
.project-wrap:hover .img .price {
  background: var(--aw-accent-olive) !important;
}

/* Card days label */
.project-wrap .text .days,
.project-destination .text .days {
  color: var(--aw-text-dark); /* removed red */
}

/* Card icon spans */
.project-wrap .text ul li span,
.project-destination .text ul li span {
  color: var(--aw-text-dark); /* removed red */
}

/* Link hover on card title */
.project-wrap .text h3 a:hover,
.project-destination .text h3 a:hover {
  color: var(--aw-text-dark); /* removed red */
}

/* ============================================================
   9. SERVICES ICON COLORS
   ============================================================ */
.services .icon span {
  color: var(--aw-text-dark); /* removed red */
}
.services.services-1 {
  background: var(--aw-primary) !important;
}
.services.services-1 .icon {
  background: var(--aw-primary-dark) !important;
}
/* Maintain the color-1/2/3/4 accent variants */
.services.color-1:after { background: var(--aw-accent-sky) !important; }
.services.color-2:after { background: var(--aw-accent-forest) !important; }
.services.color-3:after { background: var(--aw-accent-dark-forest) !important; }
.services.color-4:after { background: var(--aw-primary-dark) !important; }

/* ============================================================
   10. HERO / SLIDER
   ============================================================ */
.slider-text h1 {
  font-family: var(--aw-font-display) !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.25);
}
.slider-text .subheading {
  font-family: var(--aw-font-accent) !important;
  color: var(--aw-accent-gold) !important;
}
.slider-text .breadcrumbs span a:hover,
.slider-text .breadcrumbs span a:focus {
  color: var(--aw-accent-gold) !important;
}
.slider-text .bread { font-family: var(--aw-font-body) !important; }

/* Pulsing video icon */
.icon-video {
  background: var(--aw-white) !important;
  box-shadow: 0 0 0 8px rgba(255,0,0,0.15), var(--aw-shadow-btn) !important;
}
.icon-video span { color: var(--aw-text-dark); /* removed red */ }

/* Hero overlay tinted deeper for vibrancy */
.hero-wrap .overlay {
  background: var(--aw-accent-olive) !important;
  opacity: 0.32 !important;
}

/* ============================================================
   11. SEARCH WIDGET
   ============================================================ */
.ftco-search .nav-pills .nav-link {
  background: var(--aw-primary) !important;
  color: var(--aw-white) !important;
  border-radius: var(--aw-radius-sm) !important;
  box-shadow: var(--aw-shadow-btn) !important;
  font-family: var(--aw-font-body) !important;
  font-weight: 700 !important;
}
.ftco-search .nav-pills .nav-link:hover,
.ftco-search .nav-pills .nav-link.active {
  background: var(--aw-accent-olive) !important;
  box-shadow: var(--aw-shadow-lg) !important;
}
.search-property-1 .form-group label {
  color: var(--aw-text-dark); /* removed red */
  font-family: var(--aw-font-body) !important;
  font-weight: 700 !important;
}
.search-property-1 .form-group .form-control.btn {
  background: var(--aw-primary) !important;
  font-family: var(--aw-font-body) !important;
}
.ftco-search .tab-content {
  box-shadow: var(--aw-shadow-lg) !important;
  border-radius: 0 var(--aw-radius-md) var(--aw-radius-md) var(--aw-radius-md) !important;
}

/* ============================================================
   12. FORM CONTROLS
   ============================================================ */
.form-control {
  border-color: var(--aw-border) !important;
  color: var(--aw-text-dark) !important;
  font-family: var(--aw-font-ui) !important;
  border-radius: var(--aw-radius-sm) !important;
  transition: var(--aw-transition-fast) !important;
}
.form-control:focus, .form-control:active {
  border-color: var(--aw-text-dark); /* removed red */
  box-shadow: 0 0 0 3px rgba(255,0,0,0.12) !important;
}
.form-control::placeholder {
  color: var(--aw-text-muted) !important;
}
select.form-control {
  cursor: pointer;
}

/* ============================================================
   13. BG UTILITIES
   ============================================================ */
.bg-primary { background-color: var(--aw-text-dark); /* removed red */ }
.bg-secondary { background-color: var(--aw-accent-olive) !important; }
.bg-light { background-color: var(--aw-bg-light) !important; }

.text-primary { color: var(--aw-text-dark); /* removed red */ }
.text-secondary { color: var(--aw-accent-olive) !important; }

/* Aside stretch accent */
.aside-stretch {
  background: var(--aw-accent-forest) !important;
}
.aside-stretch:after {
  background: var(--aw-accent-forest) !important;
}

/* ============================================================
   14. SECTION DECORATORS
   ============================================================ */
/* Heading section underline accent line */
.heading-section::after,
.ftco-section .heading-section::after {
  background: var(--aw-primary) !important;
}

/* ============================================================
   15. BLOG / ARTICLES
   ============================================================ */
/* Date badge on articles */
.article-read,
.date {
  background: var(--aw-primary) !important;
  color: var(--aw-white) !important;
  border-radius: var(--aw-radius-pill) !important;
  box-shadow: var(--aw-shadow-btn) !important;
}
.article-read:hover {
  background: var(--aw-primary-dark) !important;
  box-shadow: var(--aw-shadow-hover) !important;
}

/* Blog list category hover */
.categories ul li a:hover { color: var(--aw-text-dark); /* removed red */ }
.recent-post a:hover h3 { color: var(--aw-text-dark); /* removed red */ }
.comment-1 a:hover, .comment-2 a:hover { color: var(--aw-text-dark); /* removed red */ }
.page-1:hover {
  background: var(--aw-primary) !important;
  border-color: var(--aw-text-dark); /* removed red */
}

/* ============================================================
   16. FOOTER COLORS
   ============================================================ */
footer {
  background: var(--aw-accent-olive) !important;
  color: var(--aw-accent-sage) !important;
}
footer a { color: var(--aw-accent-sage) !important; }
footer a:hover { color: var(--aw-accent-gold) !important; }
footer .footer-h2, footer h2 {
  font-family: var(--aw-font-display) !important;
  color: var(--aw-white) !important;
}

/* ============================================================
   17. BACK-TO-TOP BUTTON
   ============================================================ */
#back-to-top .top {
  background: var(--aw-primary) !important;
  box-shadow: var(--aw-shadow-btn) !important;
  border-radius: 50% !important;
  color: var(--aw-white) !important;
  transition: var(--aw-transition) !important;
}
#back-to-top .top:hover {
  background: var(--aw-primary-dark) !important;
  box-shadow: var(--aw-shadow-hover) !important;
  transform: translateY(-3px);
}

/* ============================================================
   18. TESTIMONIALS
   ============================================================ */
.testimonial .testimonial-title { color: var(--aw-white) !important; }
.testimonial .description { color: var(--aw-white) !important; }
.testimonial .pic img {
  border-color: var(--aw-white) !important;
  box-shadow: 0 4px 16px rgba(255,0,0,0.20) !important;
}

/* ============================================================
   19. COUNTER SECTION
   ============================================================ */
.counter-underline {
  background-color: var(--aw-accent-gold) !important;
}

/* ============================================================
   20. PAGINATION
   ============================================================ */
.page-item.active .page-link {
  background-color: var(--aw-text-dark); /* removed red */
  border-color: var(--aw-text-dark); /* removed red */
}
.page-link { color: var(--aw-text-dark); /* removed red */ }
.page-link:hover {
  background-color: var(--aw-text-dark); /* removed red */
  border-color: var(--aw-text-dark); /* removed red */
  color: var(--aw-white) !important;
}

/* ============================================================
   21. TABLE STYLES
   ============================================================ */
.table thead th {
  background: var(--aw-accent-olive) !important;
  color: var(--aw-white) !important;
  border-color: var(--aw-accent-dark-forest) !important;
}
.table-striped tbody tr:nth-of-type(odd) {
  background-color: var(--aw-bg-subtle) !important;
}

/* ============================================================
   22.  MEGA-MENU OVERRIDES  (inherits Attwood palette)
   ============================================================ */
/* Keep structural layout untouched; only color / shadow */
.mega-menu,
.dropdown-mega {
  border-top: 3px solid var(--aw-primary) !important;
  box-shadow: var(--aw-shadow-xl) !important;
}
.mega-menu .nav-link:hover,
.dropdown-mega .dropdown-item:hover {
  color: var(--aw-text-dark); /* removed red */
  background-color: var(--aw-bg-subtle) !important;
}
.mega-menu .mega-menu-col-title,
.dropdown-mega .mega-col-title {
  color: var(--aw-text-dark); /* removed red */
  font-family: var(--aw-font-body) !important;
  font-weight: 700 !important;
  border-bottom: 2px solid var(--aw-accent-gold) !important;
}

/* ============================================================
   23.  START-PLANNING MULTI-STEP FORM  OVERRIDES
   ============================================================ */

/* Modal progress bar → Attwood red */
.sp-progress-bar {
  background: linear-gradient(90deg, var(--aw-primary), var(--aw-primary-dark)) !important;
}
.sp-progress-wrap { background: var(--aw-bg-subtle) !important; }

/* Context banner */
.sp-context-banner {
  background: linear-gradient(135deg, #fff6f4 0%, #fff0ee 100%) !important;
  border-color: var(--aw-primary-darker) !important;
  color: var(--aw-text-dark) !important;
}

/* Step icon circle */
.sp-step-icon {
  background: linear-gradient(135deg, #fff6f4, #fff0ee) !important;
  border-color: var(--aw-text-dark); /* removed red */
}
.sp-step-icon i { color: var(--aw-text-dark); /* removed red */ }

/* Step title uses display font */
.sp-step-title {
  font-family: var(--aw-font-display) !important;
  color: var(--aw-text-dark) !important;
}
.sp-step-sub,
.sp-step-question,
.sp-label {
  font-family: var(--aw-font-ui) !important;
  color: var(--aw-text-muted) !important;
}

/* Choice buttons */
.sp-choice-btn {
  background: var(--aw-bg-subtle) !important;
  border-color: var(--aw-border) !important;
  font-family: var(--aw-font-ui) !important;
  color: var(--aw-text-dark) !important;
  border-radius: var(--aw-radius-md) !important;
  transition: var(--aw-transition-bounce) !important;
}
.sp-choice-btn:hover,
.sp-choice-btn.sp-selected {
  background: var(--aw-accent-olive) !important;
  border-color: var(--aw-accent-olive) !important;
  color: var(--aw-white) !important;
  box-shadow: var(--aw-shadow-md) !important;
  transform: translateY(-2px);
}
.sp-choice-btn.sp-selected.sp-multi {
  background: var(--aw-primary) !important;
  border-color: var(--aw-text-dark); /* removed red */
}
.sp-choice-secondary:hover {
  background: var(--aw-bg-subtle) !important;
  border-color: var(--aw-text-dark); /* removed red */
  color: var(--aw-text-dark); /* removed red */
}

/* Year / month buttons */
.sp-year-btn.sp-year-active {
  background: var(--aw-accent-olive) !important;
  border-color: var(--aw-accent-olive) !important;
  color: var(--aw-white) !important;
}
.sp-month-btn:hover,
.sp-month-btn.sp-selected {
  background: var(--aw-primary) !important;
  border-color: var(--aw-text-dark); /* removed red */
  color: var(--aw-white) !important;
}

/* Counter buttons */
.sp-counter-btn:hover {
  background: var(--aw-primary) !important;
  border-color: var(--aw-text-dark); /* removed red */
  color: var(--aw-white) !important;
}

/* Budget slider & amount display */
.sp-budget-amount { color: var(--aw-text-dark); /* removed red */ }
.sp-slider {
  background: linear-gradient(
    90deg,
    var(--aw-primary) 0%,
    var(--aw-primary) 16%,
    var(--aw-border) 16%
  ) !important;
}
.sp-slider::-webkit-slider-thumb {
  background: var(--aw-primary) !important;
  box-shadow: 0 2px 8px rgba(255,0,0,0.30) !important;
}
.sp-slider::-moz-range-thumb {
  background: var(--aw-primary) !important;
}

/* Text inputs focus */
.sp-text-input:focus {
  border-color: var(--aw-text-dark); /* removed red */
  box-shadow: 0 0 0 3px rgba(255,0,0,0.12) !important;
}
.sp-select:focus { border-color: var(--aw-text-dark); /* removed red */ }

/* Nav buttons */
.sp-next-btn,
.sp-submit-btn {
  background: var(--aw-accent-olive) !important;
  font-family: var(--aw-font-body) !important;
  font-weight: 700 !important;
  border-radius: var(--aw-radius-pill) !important;
  box-shadow: var(--aw-shadow-md) !important;
  transition: var(--aw-transition-bounce) !important;
}
.sp-next-btn:hover,
.sp-submit-btn:hover {
  background: var(--aw-primary) !important;
  box-shadow: var(--aw-shadow-btn) !important;
  transform: translateY(-2px);
}
.sp-submit-btn { background: var(--aw-primary) !important; }
.sp-submit-btn:hover { background: var(--aw-primary-dark) !important; }

.sp-back-btn:hover { color: var(--aw-text-dark) !important; }

/* Thank you icon */
.sp-thankyou-icon { color: var(--aw-text-dark); /* removed red */ }
.sp-link-plain {
  color: var(--aw-text-dark); /* removed red */
  border-bottom-color: var(--aw-text-dark); /* removed red */
}

/* Modal close hover */
.sp-modal-close:hover { color: var(--aw-text-dark); /* removed red */ }

/* Scrollbar in modal */
.sp-modal-box {
  scrollbar-color: var(--aw-primary) var(--aw-bg-subtle) !important;
  border-radius: var(--aw-radius-lg) !important;
  box-shadow: var(--aw-shadow-xl) !important;
}

/* ============================================================
   24. PLAYFUL MICRO-ANIMATIONS  (extracted from oldattwood)
   ============================================================ */

/* Wiggle – applied to primary CTA icons */
@keyframes aw-wiggle {
  0%   { transform: rotate(0deg); }
  15%  { transform: rotate(-6deg); }
  30%  { transform: rotate(6deg); }
  45%  { transform: rotate(-4deg); }
  60%  { transform: rotate(4deg); }
  75%  { transform: rotate(-2deg); }
  100% { transform: rotate(0deg); }
}

/* Bounce-in – used for alerts / badges */
@keyframes aw-bounce-in {
  0%   { transform: scale(0.5); opacity: 0; }
  70%  { transform: scale(1.08); opacity: 1; }
  100% { transform: scale(1); }
}

/* Float – subtle hover levitation */
@keyframes aw-float {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(-6px); }
  100% { transform: translateY(0); }
}

/* Pulse ring (existing – enhanced colour) */
@keyframes pulse {
  0%   { box-shadow: 0 0 0 0 rgba(255,0,0,0.40); }
  70%  { box-shadow: 0 0 0 18px rgba(255,0,0,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,0,0,0); }
}

/* Shimmer – price tag / badge highlight */
@keyframes aw-shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* Apply float to feature icon blocks */
.services .icon:hover span,
.icon-bor:hover {
  animation: aw-float 1.8s ease-in-out infinite;
}

/* Apply wiggle to CTA icon on hover */
.btn-primary:hover i,
.btn-primary:hover .fa,
.btn-primary:hover .ion {
  display: inline-block;
  animation: aw-wiggle 0.5s ease-in-out;
}

/* Apply bounce-in to new badges / labels */
.new-label,
.badge-aw {
  animation: aw-bounce-in 0.5s ease both;
}

/* Image cards: scale-up on hover (kept from oldattwood) */
.project-wrap .img,
.project-destination .img,
.blog-entry .img,
.article-img img {
  overflow: hidden;
  transition: transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94) !important;
}
.project-wrap:hover .img > a,
.project-destination:hover .img > a,
.blog-entry:hover .img > a {
  transform: scale(1.05);
}

/* Figcaption fade-overlay (from oldattwood gallery) */
figcaption {
  background: rgba(35,42,32,0.72) !important;
  transition: opacity 0.4s ease, top 0.4s ease !important;
}

/* ============================================================
   25. ICON CIRCLES  (oldattwood .icon-bor style)
   ============================================================ */
.icon-bor {
  border-color: var(--aw-text-dark); /* removed red */
  transition: var(--aw-transition) !important;
}
.icon-bor i { color: var(--aw-text-dark); /* removed red */ }
.icon-bor:hover {
  background-color: var(--aw-text-dark); /* removed red */
  box-shadow: var(--aw-shadow-btn) !important;
}
.icon-bor:hover > i { color: var(--aw-white) !important; }

/* ============================================================
   26. PORTFOLIO / PROJECT FILTER ACTIVE
   ============================================================ */
#projects-filter a:hover { color: var(--aw-primary-dark) !important; }
#projects-filter a.active {
  background: var(--aw-primary) !important;
  color: var(--aw-white) !important;
  box-shadow: var(--aw-shadow-btn) !important;
}

/* ============================================================
   27. ALERT / NOTICE BANNERS
   ============================================================ */
.alert-primary {
  background-color: rgba(255,0,0,0.08) !important;
  border-color: var(--aw-text-dark); /* removed red */
  color: var(--aw-primary-darker) !important;
}
.alert-success {
  background-color: rgba(118,146,66,0.08) !important;
  border-color: var(--aw-accent-forest) !important;
  color: var(--aw-accent-dark-forest) !important;
}
.alert-info {
  background-color: rgba(2,173,250,0.08) !important;
  border-color: var(--aw-accent-sky) !important;
  color: #0070a0 !important;
}
.alert-warning {
  background-color: rgba(233,208,32,0.12) !important;
  border-color: var(--aw-accent-gold) !important;
  color: #7a6900 !important;
}

/* ============================================================
   28. HOT-DEALS / BADGE TAGS
   ============================================================ */
.new-label,
.badge-hot {
  background: var(--aw-primary) !important;
  color: var(--aw-white) !important;
  border-radius: var(--aw-radius-sm) !important;
  font-family: var(--aw-font-playful) !important;
  font-weight: 700 !important;
  box-shadow: var(--aw-shadow-sm) !important;
}

/* ============================================================
   29. BREADCRUMB
   ============================================================ */
.breadcrumb-item.active { color: var(--aw-accent-sage) !important; }
.breadcrumb-item + .breadcrumb-item::before { color: var(--aw-accent-sage) !important; }
.breadcrumb-item a { color: var(--aw-accent-gold) !important; }
.breadcrumb-item a:hover { color: var(--aw-white) !important; }

/* ============================================================
   30. OWL CAROUSEL DOTS  (colorise to brand)
   ============================================================ */
.owl-theme .owl-dots .owl-dot span {
  background: var(--aw-accent-sage) !important;
  transition: var(--aw-transition-fast) !important;
}
.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  background: var(--aw-primary) !important;
  box-shadow: 0 0 0 4px rgba(255,0,0,0.20) !important;
}

/* ============================================================
   31. SCROLLBAR (WebKit) – subtle brand colour
   ============================================================ */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--aw-bg-subtle); }
::-webkit-scrollbar-thumb {
  background: var(--aw-primary);
  border-radius: var(--aw-radius-pill);
}
::-webkit-scrollbar-thumb:hover { background: var(--aw-primary-dark); }

/* ============================================================
   32. SELECTION HIGHLIGHT
   ============================================================ */
::selection {
  background: rgba(255,0,0,0.18);
  color: var(--aw-text-dark);
}

/* ============================================================
   33. UTILITY HELPERS
   ============================================================ */
.text-aw-primary   { color: var(--aw-text-dark); /* removed red */ }
.text-aw-gold      { color: var(--aw-accent-gold) !important; }
.text-aw-sky       { color: var(--aw-accent-sky) !important; }
.text-aw-forest    { color: var(--aw-accent-forest) !important; }
.text-aw-olive     { color: var(--aw-accent-olive) !important; }
.bg-aw-primary     { background: var(--aw-primary) !important; }
.bg-aw-olive       { background: var(--aw-accent-olive) !important; }
.bg-aw-forest      { background: var(--aw-accent-forest) !important; }
.bg-aw-subtle      { background: var(--aw-bg-subtle) !important; }
.font-display      { font-family: var(--aw-font-display) !important; }
.font-accent       { font-family: var(--aw-font-accent) !important; }
.font-playful      { font-family: var(--aw-font-playful) !important; }
.shadow-aw         { box-shadow: var(--aw-shadow-md) !important; }
.shadow-aw-lg      { box-shadow: var(--aw-shadow-lg) !important; }
.radius-aw         { border-radius: var(--aw-radius-md) !important; }

/* ============================================================
   34. INTERNAL PAGE HERO
   ============================================================ */
.aw-page-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  padding: 100px 0 80px;
}
.aw-page-hero .overlay {
  position: absolute; inset: 0; background: rgba(35,42,32,0.65);
}
.aw-page-hero-content {
  position: relative; z-index: 2;
}
.aw-page-hero h1 {
  font-family: var(--aw-font-display) !important;
  font-size: 56px; color: var(--aw-white) !important;
  margin-bottom: 20px;
  text-shadow: 0 4px 15px rgba(0,0,0,0.3);
}
.breadcrumb-aw {
  display: flex; justify-content: center; gap: 10px; font-family: var(--aw-font-body);
}
.breadcrumb-aw a { color: var(--aw-accent-gold) !important; font-weight: 700; }
.breadcrumb-aw .bc-current { color: var(--aw-white); }
.breadcrumb-aw .bc-sep { color: rgba(255,255,255,0.5); }

/* Extracted from index.php */

    /* ============================================================
       ATTWOOD INDEX PAGE   PLAYFUL OVERHAUL STYLES
       ============================================================ */

    /* ── Global resets for this page ── */
    body { background: #fff !important; }

    /* ── Section padding helpers ── */
    .aw-padd-70 { padding: 70px 0; }
    .aw-padd-50 { padding: 50px 0; }
    .aw-padd-90 { padding: 90px 0; }

    /* ── Section headings ── */
    .aw-section-title {
      font-family: 'Pacifico', cursive !important;
      font-size: 42px;
      font-weight: 400;
      color: #ff0000;
      line-height: 1.2;
      margin-bottom: 10px;
    }
    .aw-section-title.dark { color: #232a20 !important; }
    .aw-section-title.white { color: #fff !important; }
    .aw-section-sub {
      font-family: 'Raleway', sans-serif;
      font-size: 17px;
      font-weight: 500;
      color: #666;
      line-height: 1.7;
    }
    .aw-section-sub.white { color: rgba(255,255,255,0.85) !important; }
    .aw-section-line {
      width: 60px; height: 4px;
      background: #ff0000;
      display: inline-block;
      margin: 12px 0 20px;
      border-radius: 2px;
    }
    .aw-section-line.blue { background: #02adfa !important; }
    .aw-section-line.white { background: rgba(255,255,255,0.7) !important; }

    /* ── Buttons ── */
    .aw-btn-red {
      display: inline-block;
      padding: 12px 30px;
      background: #ff0000;
      color: #fff !important;
      font-family: 'Raleway', sans-serif;
      font-weight: 700;
      border-radius: 6px;
      text-decoration: none !important;
      transition: all 0.35s ease;
      letter-spacing: 0.05em;
      border: 2px solid #ff0000;
    }
    .aw-btn-red:hover { background: #cc0000; border-color: #cc0000; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255,0,0,0.3); color: #fff !important; }

    .aw-btn-sky {
      display: inline-block;
      padding: 12px 30px;
      background: #02adfa;
      color: #fff !important;
      font-family: 'Raleway', sans-serif;
      font-weight: 700;
      border-radius: 6px;
      text-decoration: none !important;
      transition: all 0.35s ease;
      letter-spacing: 0.05em;
      border: 2px solid #02adfa;
    }
    .aw-btn-sky:hover { background: #0090d0; border-color: #0090d0; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(2,173,250,0.35); color: #fff !important; }

    .aw-btn-bor {
      display: inline-block;
      padding: 11px 30px;
      background: transparent;
      color: #ff0000 !important;
      font-family: 'Raleway', sans-serif;
      font-weight: 700;
      border-radius: 6px;
      border: 2px solid #ff0000;
      text-decoration: none !important;
      transition: all 0.35s ease;
      letter-spacing: 0.04em;
    }
    .aw-btn-bor:hover { background: #ff0000; color: #fff !important; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255,0,0,0.25); }

    .aw-btn-olive {
      display: inline-block;
      padding: 12px 32px;
      background: #232a20;
      color: #fff !important;
      font-family: 'Raleway', sans-serif;
      font-weight: 700;
      border-radius: 6px;
      text-decoration: none !important;
      transition: all 0.35s ease;
      letter-spacing: 0.05em;
      border: 2px solid #232a20;
    }
    .aw-btn-olive:hover { background: #485635; border-color: #485635; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(35,42,32,0.3); color: #fff !important; }

    /* ── Back to top ── */
    #back-to-top { position: fixed; bottom: 30px; right: 30px; z-index: 999; }
    #back-to-top .top {
      display: flex; align-items: center; justify-content: center;
      width: 46px; height: 46px; border-radius: 50%;
      background: #ff0000; color: #fff;
      font-size: 20px; text-decoration: none;
      transition: all 0.4s; box-shadow: 0 4px 14px rgba(255,0,0,0.35);
    }
    #back-to-top .top:hover { background: #cc0000; transform: translateY(-3px); }

    /* Social sidebar */
    .social-sidebar {
      position: fixed; top: 50%; right: 0;
      transform: translateY(-50%);
      display: flex; flex-direction: column; gap: 10px;
      padding: 10px; z-index: 1000;
    }
    .social-sidebar a {
      background: #fff; color: #ff0000;
      padding: 10px; border-radius: 50%;
      font-size: 18px; width: 40px; height: 40px;
      display: flex; align-items: center; justify-content: center;
      text-decoration: none;
      box-shadow: 0 0 8px rgba(0,0,0,0.12);
      transition: all 0.3s ease;
    }
    .social-sidebar a:hover { background: #ff0000; color: #fff !important; transform: translateX(-3px); }

    /* ============================================================
       1. HERO SLIDER
       ============================================================ */
    .aw-hero {
      position: relative; width: 100%; height: 100vh;
      min-height: 600px; overflow: visible;
    }
    .aw-hero-slide {
      position: absolute; inset: 0;
      background-size: cover; background-position: center;
      opacity: 0; transition: opacity 0.8s ease;
    }
    .aw-hero-slide.active { opacity: 1; }
    .aw-hero-overlay {
      position: absolute; inset: 0;
      background: rgba(0,0,0,0.42);
    }
    .aw-hero-content {
      position: absolute; bottom: 0; left: 0; right: 0;
      display: flex; flex-direction: column; align-items: center;
      justify-content: center; text-align: center;
      top: 0; padding: 0 20px;
      z-index: 2;
    }
    .aw-hero-title {
      font-family: 'Pacifico', cursive !important;
      font-size: clamp(38px, 6vw, 68px);
      font-weight: 400;
      color: #fff !important;
      line-height: 1.2;
      text-shadow: 0 3px 12px rgba(0,0,0,0.4);
      margin-bottom: 14px;
      opacity: 0; transform: translateY(40px);
      transition: opacity 0.7s ease 0.3s, transform 0.7s ease 0.3s;
    }
    .aw-hero-subtitle {
      font-family: 'Raleway', sans-serif;
      font-size: clamp(14px, 2vw, 20px);
      font-weight: 700;
      color: rgba(255,255,255,0.95);
      letter-spacing: 2px;
      text-transform: uppercase;
      text-shadow: 0 2px 6px rgba(0,0,0,0.4);
      margin-bottom: 30px;
      opacity: 0; transform: translateY(30px);
      transition: opacity 0.7s ease 0.55s, transform 0.7s ease 0.55s;
    }
    .aw-hero-btns {
      display: flex; gap: 16px; flex-wrap: wrap; justify-content: center;
      opacity: 0; transform: translateY(20px);
      transition: opacity 0.7s ease 0.75s, transform 0.7s ease 0.75s;
    }
    .aw-hero-slide.active .aw-hero-title,
    .aw-hero-slide.active .aw-hero-subtitle,
    .aw-hero-slide.active .aw-hero-btns {
      opacity: 1; transform: translateY(0);
    }
    /* Slider nav dots */
    .aw-hero-dots {
      position: absolute; bottom: 28px; left: 50%; transform: translateX(-50%);
      display: flex; gap: 10px; z-index: 3;
    }
    .aw-hero-dot {
      width: 12px; height: 12px; border-radius: 50%;
      background: rgba(255,255,255,0.4); border: 2px solid rgba(255,255,255,0.7);
      cursor: pointer; transition: all 0.3s;
    }
    .aw-hero-dot.active { background: #ff0000; border-color: #ff0000; transform: scale(1.3); }
    /* Slider arrows */
    .aw-hero-arrow {
      position: absolute; top: 50%; transform: translateY(-50%);
      z-index: 3; background: rgba(255,255,255,0.15);
      border: 2px solid rgba(255,255,255,0.5);
      color: #fff; width: 50px; height: 50px; border-radius: 50%;
      font-size: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center;
      transition: all 0.3s; backdrop-filter: blur(4px);
    }
    .aw-hero-arrow:hover { background: #ff0000; border-color: #ff0000; }
    .aw-hero-arrow.prev { left: 24px; }
    .aw-hero-arrow.next { right: 24px; }

    /* ── Hero search bar ── */
    .aw-hero-search-wrap {
      position: absolute; bottom: -45px; left: 50%; transform: translateX(-50%);
      width: 95%; max-width: 1300px; padding: 0; z-index: 99;
    }
    .aw-hero-search-form {
      background: #fff; border-radius: 50px;
      padding: 10px 20px; box-shadow: 0 25px 60px rgba(0,0,0,0.3);
      display: flex; flex-wrap: nowrap; align-items: center;
      border: 4px solid #ff0000;
    }
    .aw-search-field {
      flex: 1; padding: 10px 24px;
      border-right: 2px dashed #02adfa;
    }
    .aw-search-field:last-of-type { border-right: none; }
    .aw-search-field label {
      display: block; color: #ff0000; font-family: 'Pacifico', cursive;
      font-size: 18px; font-weight: 400; letter-spacing: 1px;
      text-transform: capitalize; margin-bottom: 2px;
    }
    .aw-search-field input, .aw-search-field select {
      width: 100%; border: none; outline: none; background: transparent;
      font-family: 'Raleway', sans-serif; font-size: 16px; font-weight: 700; color: #232a20;
      cursor: pointer;
    }
    .aw-search-btn-col { flex: 0 0 auto; padding: 0 10px; }
    .aw-search-btn {
      background: #02adfa; color: #fff;
      padding: 16px 36px; border: none; border-radius: 40px;
      font-family: 'Raleway', sans-serif; font-size: 16px; font-weight: 800;
      letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer;
      display: flex; align-items: center; gap: 8px;
      transition: all 0.3s;
      box-shadow: 0 4px 15px rgba(2, 173, 250, 0.4);
    }
    .aw-search-btn:hover { background: #ff0000; box-shadow: 0 6px 20px rgba(255, 0, 0, 0.5); transform: translateY(-3px); }
    @media(max-width:768px) {
      .aw-hero-search-form { flex-wrap: wrap; border-radius: 20px; padding: 15px; border-width: 3px; }
      .aw-search-field { flex: 0 0 100%; border-right: none; border-bottom: 2px dashed #02adfa; }
      .aw-search-btn-col { flex: 0 0 100%; padding: 15px 0 0; }
      .aw-search-btn { width: 100%; justify-content: center; border-radius: 10px; }
      .aw-hero-search-wrap { bottom: -120px; width: 90%; }
    }

    /* ============================================================
       2. ABOUT SECTION
       ============================================================ */
    .aw-about-section { padding: 90px 0 70px; background: #fff; }
    .aw-about-img-wrap {
      overflow: hidden; border-radius: 4px;
      box-shadow: 4px 6px 24px rgba(0,0,0,0.14);
      height: 420px;
    }
    .aw-about-img-wrap img {
      width: 100%; height: 100%; object-fit: cover;
      transition: transform 8s ease;
    }
    .aw-about-img-wrap:hover img { transform: scale(1.06); }
    .aw-about-text { padding: 20px 0 0 30px; }
    @media(max-width:767px) { .aw-about-text { padding: 30px 0 0; } }
    .aw-about-text h3 {
      font-family: 'Raleway', sans-serif; font-weight: 700;
      font-size: 19px; color: #232a20; margin-bottom: 16px;
    }
    .aw-about-text p {
      font-family: 'Raleway', sans-serif; font-size: 16px;
      color: #666; line-height: 1.75; font-weight: 500;
    }

    /* ============================================================
       3. PACKAGES SECTION
       ============================================================ */
    .aw-packages-section { padding: 70px 0; background: #faf8f4; }
    .aw-pkg-card {
      background: #fff; border-radius: 10px; padding: 36px 28px 28px;
      box-shadow: 2px 4px 16px rgba(0,0,0,0.08);
      transition: all 0.35s cubic-bezier(0.34,1.56,0.64,1);
      height: 100%; display: flex; flex-direction: column;
      text-align: center;
    }
    .aw-pkg-card:hover { box-shadow: 4px 12px 36px rgba(255,0,0,0.15); transform: translateY(-6px); }
    .aw-pkg-card-icon {
      width: 80px; height: 80px; border-radius: 50%;
      border: 2px solid #ff0000; display: inline-flex;
      align-items: center; justify-content: center;
      margin: 0 auto 20px; font-size: 34px; color: #ff0000;
      transition: all 0.35s ease;
    }
    .aw-pkg-card:hover .aw-pkg-card-icon { background: #ff0000; color: #fff; }
    .aw-pkg-card h3 {
      font-family: 'Pacifico', cursive !important; font-size: 24px; font-weight: 400;
      color: #232a20; margin-bottom: 10px;
    }
    .aw-pkg-card-line { width: 50px; height: 3px; background: #ff0000; display: inline-block; margin-bottom: 16px; border-radius: 2px; }
    .aw-pkg-card p {
      font-family: 'Raleway', sans-serif; font-size: 15px;
      color: #666; line-height: 1.7; flex: 1;
    }
    .aw-pkg-card .aw-btn-bor { margin-top: 20px; }

    /* ============================================================
       4. TOURS SECTION
       ============================================================ */
    .aw-tours-section { padding: 70px 0; background: #fff; }
    .aw-tour-card {
      background: #fff; border-radius: 8px;
      overflow: hidden; height: 100%;
      display: flex; flex-direction: column;
      box-shadow: 0 4px 15px rgba(0,0,0,0.08);
      transition: all 0.3s ease;
      border: 1px solid #f0ebe3;
    }
    .aw-tour-card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0,0,0,0.15); }
    .aw-tour-img-wrap { position: relative; height: 200px; overflow: hidden; }
    .aw-tour-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
    .aw-tour-card:hover .aw-tour-img-wrap img { transform: scale(1.05); }
    .aw-tour-featured {
      position: absolute; top: 0; left: 50%; transform: translateX(-50%);
      background: #02adfa; color: #fff; font-family: 'Raleway', sans-serif;
      font-size: 11px; font-weight: 700; padding: 4px 16px;
      border-radius: 0 0 6px 6px; letter-spacing: 0.05em; text-transform: uppercase; z-index: 2;
    }
    .aw-tour-body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
    .aw-tour-title {
      font-family: 'Raleway', sans-serif; font-size: 16px; font-weight: 800;
      color: #232a20; margin-bottom: 15px; line-height: 1.4;
    }
    .aw-tour-title a { color: #232a20 !important; text-decoration: none !important; transition: color 0.2s; }
    .aw-tour-title a:hover { color: #ff0000 !important; }
    
    .aw-tour-details-row { display: flex; justify-content: space-between; align-items: stretch; margin-bottom: 15px; }
    .aw-tour-meta { flex: 1; padding-right: 15px; border-right: 1px solid #e0e0e0; }
    .aw-tour-meta-item {
      font-family: 'Raleway', sans-serif; font-size: 12px; color: #666;
      display: flex; align-items: flex-start; gap: 6px; margin-bottom: 8px; line-height: 1.4;
    }
    .aw-tour-meta-item i { color: #888; margin-top: 3px; }
    
    .aw-tour-price-box { width: 90px; text-align: right; display: flex; flex-direction: column; justify-content: center; }
    .aw-tour-discount {
      display: inline-block; background: #ff6a1a; color: #fff;
      font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 12px; margin-bottom: 4px; align-self: flex-end;
    }
    .aw-tour-old-price { font-size: 12px; color: #999; text-decoration: line-through; margin-bottom: 2px; }
    .aw-tour-new-price { font-size: 18px; font-weight: 800; color: #232a20; }
    
    .aw-tour-cta-btn {
      display: block; width: 100%; text-align: center;
      background: #ff6a1a; color: #fff !important;
      font-family: 'Raleway', sans-serif; font-size: 14px; font-weight: 700;
      padding: 12px; border-radius: 6px; text-decoration: none !important;
      transition: background 0.3s; margin-top: auto;
    }
    .aw-tour-cta-btn:hover { background: #e55a0b; }

    /* ============================================================
       5. TESTIMONIALS SECTION
       ============================================================ */
    .aw-testi-section {
      background-image: url('../oldattwood/img/testimonial-bg.jpg');
      background-size: cover; background-position: center;
      background-attachment: fixed;
      position: relative; padding: 80px 0;
    }
    .aw-testi-overlay {
      position: absolute; inset: 0;
      background: rgba(35,42,32,0.72);
    }
    .aw-testi-inner { position: relative; z-index: 2; }
    .aw-testi-card { text-align: center; padding: 0 24px; }
    .aw-testi-card .aw-testi-desc {
      font-family: 'Raleway', sans-serif; font-size: 17px; font-style: italic;
      color: rgba(255,255,255,0.92); line-height: 1.75;
      position: relative; margin-bottom: 24px;
    }
    .aw-testi-card .aw-testi-desc::before { content: '\201C'; font-size: 60px; color: #ff0000; line-height: 0; vertical-align: -28px; margin-right: 4px; font-family: Georgia, serif; }
    .aw-testi-line { width: 2px; height: 30px; background: rgba(255,255,255,0.3); display: inline-block; margin: 0 auto 16px; }
    .aw-testi-name {
      font-family: 'Raleway', sans-serif; font-size: 16px; font-weight: 700;
      color: #fff; text-transform: uppercase; letter-spacing: 1px;
    }
    .aw-testi-role { font-family: 'Raleway', sans-serif; font-size: 13px; color: rgba(255,255,255,0.65); }

    /* ============================================================
       6. DESTINATIONS
       ============================================================ */
    .aw-dest-section { padding: 70px 0; background: #232a20; }
    .aw-dest-card {
      display: block; position: relative; border-radius: 8px; overflow: hidden; height: 320px;
      text-decoration: none !important; transition: all 0.3s ease;
      box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    }
    .aw-dest-card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0,0,0,0.2); }
    .aw-dest-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; display: block; }
    .aw-dest-card:hover img { transform: scale(1.05); }
    .aw-dest-card::after {
      content: ''; position: absolute; inset: 0;
      background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0) 100%);
    }
    .aw-dest-info {
      position: absolute; bottom: 30px; left: 0; right: 0;
      text-align: center; z-index: 2; transition: all 0.3s ease;
    }
    .aw-dest-country {
      font-family: 'Raleway', sans-serif; font-size: 22px; font-weight: 800; color: #fff;
      text-shadow: 0 2px 4px rgba(0,0,0,0.5); margin-bottom: 0; transition: transform 0.3s ease;
    }
    .aw-dest-card:hover .aw-dest-country { transform: translateY(-10px); }
    .aw-dest-badge-hover {
      opacity: 0; transform: translateX(-50%) translateY(10px); transition: all 0.3s ease;
      position: absolute; left: 50%; bottom: -20px;
      background: #02adfa; color: #fff; font-family: 'Pacifico', cursive; font-size: 14px;
      padding: 4px 20px; border-radius: 20px; white-space: nowrap; box-shadow: 0 4px 10px rgba(2,173,250,0.4);
    }
    .aw-dest-card:hover .aw-dest-badge-hover { opacity: 1; transform: translateX(-50%) translateY(0); }
    
    .aw-dest-card-viewall {
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      background: linear-gradient(135deg, #fdfbfb 0%, #ffeec2 100%);
      text-align: center; padding: 20px;
    }
    .aw-dest-card-viewall::after { display: none; }
    .aw-dest-card-viewall h3 { font-family: 'Raleway', sans-serif; font-size: 26px; font-weight: 800; color: #232a20; margin: 15px 0 25px; line-height: 1.3; }
    .aw-dest-card-viewall .aw-btn-sky { font-size: 14px; padding: 10px 20px; border-radius: 4px; border-radius: 20px; }
    .aw-dest-card-viewall .aw-tour-discount { position:relative; top:0; background:#ff6a1a; padding:4px 12px; font-size:12px; transform:rotate(-5deg); margin-bottom:10px; border-radius:20px; color:#fff; font-weight:bold; }
    
    /* Hot Deals CSS */
    .aw-hot-section { padding: 80px 0; background: #faf8f4; }
    .aw-hot-card {
      background: #fff; border-radius: 8px; overflow: hidden;
      box-shadow: 0 4px 20px rgba(0,0,0,0.06); transition: transform 0.3s ease;
      display: flex; flex-direction: column; height: 100%; border: 1px solid #eee;
    }
    .aw-hot-card:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0,0,0,0.12); }
    .aw-hot-img-wrap { position: relative; height: 220px; }
    .aw-hot-img-wrap img { width: 100%; height: 100%; object-fit: cover; }
    .aw-hot-tag-black {
      position: absolute; top: 0; left: 0; background: #000; color: #fff;
      font-family: 'Raleway', sans-serif; font-size: 10px; font-weight: 800;
      padding: 6px 12px; letter-spacing: 0.1em; text-transform: uppercase; border-radius: 0 0 8px 0;
    }
    .aw-hot-tag-white {
      position: absolute; top: 35px; left: 0; background: #fff; color: #232a20;
      font-family: 'Raleway', sans-serif; font-size: 10px; font-weight: 800;
      padding: 4px 12px; letter-spacing: 0.05em; text-transform: uppercase; border-radius: 0 8px 8px 0;
      box-shadow: 0 2px 6px rgba(0,0,0,0.1); display: flex; align-items: center; gap: 4px;
    }
    .aw-hot-tag-white i { color: #ff0000; }
    .aw-hot-body { padding: 20px; display: flex; flex-direction: column; flex: 1; }
    .aw-hot-title {
      font-family: 'Raleway', sans-serif; font-size: 16px; font-weight: 800;
      color: #232a20; line-height: 1.4; margin-bottom: 12px;
    }
    .aw-hot-route {
      font-family: 'Raleway', sans-serif; font-size: 10px; font-weight: 700;
      color: #999; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 15px;
    }
    .aw-hot-divider { height: 1px; background: #eee; margin-bottom: 15px; }
    .aw-hot-footer { display: flex; justify-content: space-between; align-items: flex-end; margin-top: auto; }
    .aw-hot-price-lbl { font-family: 'Raleway', sans-serif; font-size: 10px; color: #888; font-weight: 600; }
    .aw-hot-price-val { font-family: 'Raleway', sans-serif; font-size: 22px; font-weight: 800; color: #ff0000; line-height: 1.1; margin: 2px 0; }
    .aw-hot-price-tax { font-family: 'Raleway', sans-serif; font-size: 9px; color: #aaa; text-transform: uppercase; }
    .aw-hot-btn {
      background: #02adfa; color: #fff; font-family: 'Raleway', sans-serif; font-size: 12px; font-weight: 700;
      padding: 8px 16px; border-radius: 4px; text-decoration: none !important; display: flex; align-items: center; gap: 6px;
      transition: background 0.3s;
    }
    .aw-hot-btn:hover { background: #0090d0; color: #fff; }

    /* ============================================================
       7. COUNTER SECTION
       ============================================================ */
    .aw-counter-section {
      background-image: url('../oldattwood/img/story-bg.jpg');
      background-size: cover; background-position: center;
      background-attachment: fixed;
      position: relative; padding: 80px 0;
      box-shadow: 0 -16px 30px rgba(0,0,0,0.4);
    }
    .aw-counter-overlay { position: absolute; inset: 0; background: rgba(35,42,32,0.72); }
    .aw-counter-inner { position: relative; z-index: 2; text-align: center; }
    .aw-counter-num {
      font-family: 'Pacifico', cursive !important; font-size: 72px; font-weight: 400;
      color: #fff; line-height: 1; margin-bottom: 8px;
    }
    .aw-counter-label {
      font-family: 'Raleway', sans-serif; font-size: 16px; font-weight: 700;
      color: rgba(255,255,255,0.85); text-transform: uppercase; letter-spacing: 1px;
    }
    .aw-counter-divider { width: 40px; height: 3px; background: #ff0000; margin: 12px auto; border-radius: 2px; }
    @media(max-width:575px) { .aw-counter-num { font-size: 52px; } }
    
    @media(max-width:767px) { 
      .aw-dest-slide { flex: 0 0 100% !important; min-width: 100% !important; } 
    }

    /* ============================================================
       8. WHY CHOOSE SECTION
       ============================================================ */
    .aw-why-section { 
      padding: 70px 0; 
      background: #faf8f4 url('../oldattwood/img/slider/slide1.jpg') no-repeat center center;
      background-size: cover;
      position: relative;
    }
    .aw-why-section::before {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(250, 248, 244, 0.9); /* Whitewash overlay so text remains readable */
    }
    .aw-why-section > .container {
      position: relative;
      z-index: 2;
    }
    .aw-why-img-wrap {
      overflow: hidden; border-radius: 6px; height: 480px;
      box-shadow: 4px 8px 28px rgba(0,0,0,0.14);
    }
    .aw-why-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 8s ease; }
    .aw-why-img-wrap:hover img { transform: scale(1.05); }
    .aw-icon-bor {
      width: 80px; height: 80px; border-radius: 50%;
      border: 2px solid #ff0000; display: inline-flex;
      align-items: center; justify-content: center;
      font-size: 32px; color: #ff0000;
      transition: all 0.35s ease; flex-shrink: 0;
    }
    .aw-icon-bor:hover, .aw-why-feature:hover .aw-icon-bor { background: #ff0000; color: #fff; }
    .aw-why-feature { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 28px; }
    .aw-why-feature-text h4 {
      font-family: 'Raleway', sans-serif; font-weight: 700;
      font-size: 17px; color: #232a20; margin-bottom: 6px;
    }
    .aw-why-feature-text p {
      font-family: 'Raleway', sans-serif; font-size: 14px;
      color: #666; line-height: 1.65; margin: 0;
    }

    /* ============================================================
       9. BLOG SECTION
       ============================================================ */
    .aw-blog-section { padding: 70px 0; background: #fff; }
    .aw-blog-card {
      background: #fff; border-radius: 15px;
      box-shadow: 6px 6px 0px #02adfa;
      border: 2px solid #232a20;
      overflow: visible; transition: all 0.3s ease; height: 100%; display: flex; flex-direction: column;
    }
    .aw-blog-card:hover { box-shadow: 10px 10px 0px #ff0000; transform: translate(-4px, -4px); }
    .aw-blog-img-wrap { position: relative; height: 230px; overflow: hidden; border-radius: 13px 13px 0 0; border-bottom: 2px solid #232a20; }
    .aw-blog-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
    .aw-blog-card:hover .aw-blog-img-wrap img { transform: scale(1.07); }
    .aw-blog-date {
      position: absolute; top: 14px; left: 14px;
      width: 54px; height: 54px; border-radius: 50%;
      background: #ff0000; color: #fff;
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      font-family: 'Pacifico', cursive !important;
      box-shadow: 0 3px 10px rgba(255,0,0,0.35);
    }
    .aw-blog-date .day { font-size: 18px; font-weight: 400; line-height: 1; }
    .aw-blog-date .mon { font-family: 'Raleway', sans-serif; font-size: 11px; font-weight: 700; text-transform: uppercase; }
    .aw-blog-body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
    .aw-blog-cat {
      font-family: 'Raleway', sans-serif; font-size: 11px; font-weight: 700;
      color: #02adfa; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 8px;
    }
    .aw-blog-title {
      font-family: 'Pacifico', cursive !important; font-size: 20px; font-weight: 400;
      color: #232a20; margin-bottom: 10px; line-height: 1.4;
    }
    .aw-blog-title a { color: #232a20 !important; text-decoration: none !important; transition: color 0.2s; }
    .aw-blog-title a:hover { color: #ff0000 !important; }
    .aw-blog-excerpt {
      font-family: 'Raleway', sans-serif; font-size: 14px;
      color: #666; line-height: 1.65; flex: 1; margin-bottom: 16px;
    }
    .aw-blog-read {
      display: inline-block; padding: 10px 24px;
      background: #ff0000; color: #fff !important;
      font-family: 'Raleway', sans-serif; font-size: 13px; font-weight: 700;
      border-radius: 6px; text-decoration: none !important;
      transition: all 0.3s; margin-top: auto; align-self: flex-start;
    }
    .aw-blog-read:hover { background: #cc0000; transform: translateY(-2px); box-shadow: 0 4px 14px rgba(255,0,0,0.3); color: #fff !important; }

    /* ============================================================
       10. CTA / NEWSLETTER BAND
       ============================================================ */
    .aw-cta-band { 
      background-image: url('oldattwood/img/group.jpg');
      background-size: cover;
      background-position: center;
      background-attachment: fixed;
      position: relative;
      padding: 80px 0; 
    }
    .aw-cta-band::before {
      content: '';
      position: absolute;
      inset: 0;
      background: rgba(2, 173, 250, 0.85); /* sky blue overlay */
    }
    .aw-cta-band > .container { position: relative; z-index: 2; }
    .aw-cta-band h2 {
      font-family: 'Pacifico', cursive !important; font-size: 42px; font-weight: 400;
      color: #fff; margin-bottom: 16px;
    }
    .aw-cta-band p {
      font-family: 'Raleway', sans-serif; font-size: 18px;
      color: rgba(255,255,255,0.95); font-weight: 600; margin-bottom: 28px;
    }

    /* ── Owl carousel brand dots ── */
    .aw-owl-testi .owl-dots { text-align: center; margin-top: 35px; }
    .aw-owl-testi .owl-dots .owl-dot { outline: none; margin: 0 6px; }
    .aw-owl-testi .owl-dots .owl-dot span { 
      width: 16px !important; height: 16px !important; margin: 0 !important;
      border: 3px solid rgba(255,255,255,0.6) !important; background: transparent !important; 
      border-radius: 50% !important; display: inline-block !important; transition: all 0.3s !important;
    }
    .aw-owl-testi .owl-dots .owl-dot.active span,
    .aw-owl-testi .owl-dots .owl-dot:hover span { 
      background: #ff0000 !important; border-color: #ff0000 !important; transform: scale(1.4) !important; 
    }

    /* Destination carousel brand dots */
    .aw-dest-dots-wrap { text-align: center; margin-top: 28px; }
    .aw-dest-dot {
      width: 10px; height: 10px; border-radius: 50%;
      background: rgba(255,255,255,0.3); border: none; cursor: pointer; padding: 0;
      display: inline-block; margin: 0 5px;
      transition: all 0.25s;
    }
    .aw-dest-dot.active { background: #ff0000; transform: scale(1.35); }

    /* View-all link */
    .aw-view-all {
      font-family: 'Raleway', sans-serif; font-weight: 700;
      color: #ff0000 !important; text-decoration: none !important;
      font-size: 14px; letter-spacing: 0.05em; border-bottom: 2px solid #ff0000;
      padding-bottom: 2px; transition: all 0.2s;
    }
    .aw-view-all:hover { color: #cc0000 !important; border-color: #cc0000; }
    .aw-view-all.white { color: rgba(255,255,255,0.85) !important; border-color: rgba(255,255,255,0.5); }
    .aw-view-all.white:hover { color: #fff !important; border-color: #fff; }

    /* Responsive padding fixes */
    @media(max-width:767px) {
      .aw-section-title { font-size: 32px; }
      .aw-counter-section { background-attachment: scroll; }
      .aw-testi-section { background-attachment: scroll; }
    }
  
/* ============================================================
   35. BLOG CARDS
   ============================================================ */
.aw-blog-card {
  display: flex; flex-direction: column; background: var(--aw-white);
  border-radius: var(--aw-radius-md); overflow: hidden;
  box-shadow: var(--aw-shadow-card); border: 1px solid var(--aw-border);
  transition: var(--aw-transition); height: 100%;
}
.aw-blog-card:hover {
  transform: translateY(-5px); box-shadow: var(--aw-shadow-hover);
}
.aw-blog-img-wrap {
  position: relative; height: 240px; overflow: hidden;
}
.aw-blog-img-wrap img {
  width: 100%; height: 100%; object-fit: cover; transition: var(--aw-transition);
}
.aw-blog-card:hover .aw-blog-img-wrap img { transform: scale(1.05); }
.aw-blog-body { padding: 25px; display: flex; flex-direction: column; flex: 1; }
.aw-blog-meta {
  font-family: var(--aw-font-ui); font-size: 13px; font-weight: 600;
  color: var(--aw-accent-sky); margin-bottom: 10px; display: flex; gap: 15px;
}
.aw-blog-meta i { color: var(--aw-primary); }
.aw-blog-title a {
  font-family: var(--aw-font-body); font-size: 22px; font-weight: 800;
  color: var(--aw-text-dark) !important; line-height: 1.3;
}
.aw-blog-title a:hover { color: var(--aw-text-dark); /* removed red */ }
.aw-blog-excerpt {
  font-size: 15px; color: var(--aw-text-muted); margin-top: 15px; margin-bottom: 20px;
}
.aw-blog-footer {
  margin-top: auto; border-top: 1px dashed var(--aw-border); padding-top: 15px;
}
.aw-blog-footer a {
  font-family: var(--aw-font-playful); font-size: 18px; color: var(--aw-text-dark); /* removed red */
  font-weight: 700;
}

/* ============================================================
   36. NAVBAR PLAYFUL OVERRIDES (RESTORED MEGA MENU)
   ============================================================ */
.fa-nav-row {
  border-top: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
.fa-nav-row-inner {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: none !important;
  margin: 0 auto !important; /* reset from pill */
  padding: 0 !important;     /* reset from pill */
  max-width: 1280px !important;
}
.fa-site-header.scrolled .fa-nav-row, .fa-site-header.scrolled .fa-nav-row-inner {
  background: #ffffff !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
}
.nav-top-link {
  color: #ffffff !important;
  font-weight: 700 !important;
  font-family: 'Inter', sans-serif !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 20px 15px !important;
}
.fa-site-header.scrolled .nav-top-link {
  color: #333333 !important;
}
.nav-top-link:hover, .fa-mainnav > ul > li:hover > .nav-top-link {
  color: var(--aw-accent-sky) !important;
}
.fa-logo-img-large {
  max-height: 55px !important;
  object-fit: contain;
}
.fa-sticky-logo img {
  max-height: 40px !important;
}

/* Fix Hero Typography Contrast */
.aw-hero-title-sleek {
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.6) !important;
}
.aw-hero-subtitle-sleek {
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.6) !important;
}


/* ============================================================
   37. SLEEK HERO SECTION (RESTORED)
   ============================================================ */
/* Hero Section */
.aw-hero-sleek {
  position: relative;
  height: 100vh;
  min-height: 700px;
  width: 100%;
  overflow: visible;
}


.aw-hero-bg-container {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 1;
}

.aw-hero-bg, .aw-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: heroZoom 30s ease-in-out infinite alternate;
}

.aw-hero-bg {
  background-size: cover;
  background-position: center;
  z-index: 1;
}

.aw-hero-video {
  z-index: 2;
}

@keyframes heroZoom {
  0% { transform: scale(1); }
  100% { transform: scale(1.15); }
}

.aw-hero-overlay-sleek {
  z-index: 2 !important;
}

.aw-hero-overlay-sleek {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.1) 50%, rgba(0,0,0,0.6) 100%);
}
.aw-hero-title-sleek {
  font-size: clamp(40px, 5vw, 65px);
  color: #fff !important;
  line-height: 1.1;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 10px rgba(0,0,0,0.6) !important;
 font-weight: 700; }
.aw-hero-subtitle-sleek {
  font-family: 'Inter', sans-serif;
  font-size: clamp(14px, 1.5vw, 16px);
  color: rgba(255,255,255,0.95) !important;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.6;
  text-shadow: 0 2px 10px rgba(0,0,0,0.6) !important;
}

/* Glassmorphic Search Bar */
.aw-hero-search-glass {
  background: rgba(25, 25, 25, 0.35);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 50px;
  padding: 8px 15px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.2);
}
.aw-hero-search-glass form {
  margin: 0;
}
.aw-hero-search-glass .search-field {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  border-right: 1px solid rgba(255,255,255,0.15);
}
.aw-hero-search-glass .search-field.border-0 {
  border-right: none;
}
.aw-hero-search-glass .search-field input {
  background: transparent;
  border: none;
  outline: none;
  color: #fff !important;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 500;
  width: 100%;
}
.aw-hero-search-glass .search-field input::placeholder {
  color: #fff;
  opacity: 1;
}
.aw-hero-search-glass .search-field i {
  color: #fff;
  font-size: 14px;
}
.aw-btn-explore {
  background: #fff;
  color: #000;
  border: none;
  padding: 12px 30px;
  border-radius: 30px;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 14px;
  transition: all 0.3s;
}
.aw-btn-explore:hover {
  background: var(--aw-accent-sky);
  color: #fff;
}

/* Socials & Scroll */
.aw-hero-socials a {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  backdrop-filter: blur(5px);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.2);
  transition: all 0.3s;
  text-decoration: none;
}
.aw-hero-socials a:hover {
  background: #fff;
  color: #000;
  transform: translateY(-3px);
}

/* ============================================================
   38. FLOATING PILL NAVBAR (SCROLLBACK STICKY)
   ============================================================ */
/* Hide the top row (contacts) so we only deal with the nav row */
.fa-logo-row {
  display: none !important;
}

/* Wrapper */
.fa-site-header {
  position: absolute;
  top: 25px;
  left: 0;
  width: 100%;
  z-index: 1050;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), top 0.4s ease;
}

/* Scrollback Sticky Classes */
/* 'nav-hidden' when scrolling down */
.fa-site-header.nav-hidden {
  transform: translateY(-150%);
}
/* 'nav-sticky' when scrolling up */
.fa-site-header.nav-sticky {
  position: fixed;
  top: 15px;
  transform: translateY(0);
}

/* The actual pill */
.fa-nav-row {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.fa-nav-row-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto !important;
  max-width: 90% !important;
  background: rgba(255, 255, 255, 0.2) !important;
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border-radius: 50px !important;
  padding: 5px 30px !important;
  box-shadow: 0 10px 40px rgba(0,0,0,0.1) !important;
  border: 1px solid rgba(0,0,0,0.05) !important;
}

/* When sticky, maybe slightly smaller padding */
.fa-site-header.nav-sticky .fa-nav-row-inner {
  box-shadow: 0 15px 50px rgba(0,0,0,0.15) !important;
}

/* Force the logo to always be visible inside the pill */
.fa-sticky-logo {
  display: flex !important;
  align-items: center;
}
.fa-sticky-logo img {
  max-height: 55px !important;
  transition: max-height 0.3s ease;
}

/* Main Navigation Items */
.fa-mainnav {
  display: flex;
  align-items: center;
}
.fa-subnav-inner {
  display: flex;
  gap: 15px;
  margin: 0;
  padding: 0;
}
.nav-top-link {
  color: #333333 !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
  padding: 15px 12px !important;
  text-transform: uppercase !important;
  border-radius: 30px;
  transition: all 0.3s ease;
}
.nav-top-link:hover, .fa-mainnav > ul > li:hover > .nav-top-link {
  color: var(--aw-accent-sky) !important;
  background: rgba(0,0,0,0.03);
}

/* Actions inside the nav (Search, Menu) */
.fa-nav-actions {
  display: flex !important;
  align-items: center;
  gap: 15px;
}
.fa-search-btn, .fa-menu-open {
  color: #333 !important;
}
.aw-btn-start {
  background: var(--aw-accent-sky) !important;
  color: #fff !important;
  border-radius: 30px !important;
  padding: 10px 24px !important;
  font-weight: 700 !important;
}
.aw-btn-start:hover {
  background: #333 !important;
}

/* Mega Menu Adjustments */
.fa-megamenu {
  border-radius: 20px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.15) !important;
  top: 100% !important;
  margin-top: 15px !important;
}

/* White background when sticky */
.fa-site-header.nav-sticky .fa-nav-row-inner {
  background: rgba(255, 255, 255, 0.95) !important;
  box-shadow: 0 15px 50px rgba(0,0,0,0.15) !important;
  border: 1px solid rgba(255,255,255,0.4) !important;
}

/* Ensure links are white when transparent, dark when sticky */
.fa-nav-row-inner .nav-top-link, 
.fa-nav-row-inner .fa-search-btn, 
.fa-nav-row-inner .fa-menu-open {
  color: #ffffff !important;
}
.fa-site-header.nav-sticky .fa-nav-row-inner .nav-top-link,
.fa-site-header.nav-sticky .fa-nav-row-inner .fa-search-btn,
.fa-site-header.nav-sticky .fa-nav-row-inner .fa-menu-open {
  color: #333333 !important;
}

/* Hover effects */
.fa-nav-row-inner .nav-top-link:hover {
  background: rgba(255,255,255,0.15);
}
.fa-site-header.nav-sticky .fa-nav-row-inner .nav-top-link:hover {
  background: rgba(0,0,0,0.04);
}






/* ==========================================================================
   MODERN PLAYFUL FOOTER (3-LAYER OVERLAP)
   ========================================================================== */
.aw-footer-modern {
  font-family: 'Inter', sans-serif;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 100;
  margin-top: -20px;
}

/* Layer 1: Newsletter Top */
.aw-footer-newsletter-layer {
  /* Background image set inline in HTML */
  padding: 80px 20px 200px 20px;
  position: relative;
  border-radius: 20px 20px 0 0;
}

.aw-footer-newsletter-layer .aw-footer-newsletter-overlay { 
  border-radius: 20px 20px 0 0;
}

.aw-footer-title {
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 700;
  letter-spacing: -0.03em;
  margin-bottom: 10px;
}

.aw-footer-subtitle {
  font-size: 16px;
  margin-bottom: 30px;
}

.aw-newsletter-form-inline {
  display: flex;
  max-width: 500px;
  margin: 0 auto;
  gap: 15px;
}

.aw-input-wrapper {
  flex: 1;
  position: relative;
  display: flex;
  align-items: center;
}

.aw-input-wrapper i {
  position: absolute;
  left: 20px;
  font-size: 16px;
}

.aw-input-wrapper input {
  width: 100%;
  padding: 15px 20px 15px 45px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 15px;
  outline: none;
  transition: border-color 0.2s;
}

.aw-input-wrapper input:focus {
  border-color: var(--aw-accent-gold);
}

.aw-btn-dark {
  background: var(--aw-accent-gold);
  color: #000;
  border: none;
  padding: 15px 30px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s;
}

.aw-btn-dark:hover {
  opacity: 0.9;
}

/* Layer 2: Floating Banner */
.aw-banner-wrapper {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  transform: translateY(50%); /* EXACTLY straddles the boundary */
  z-index: 9999;
}

.aw-footer-floating-banner {
  background: var(--aw-accent-gold); /* Yellow middle layer */
  border-radius: 24px;
  padding: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 30px 60px rgba(0,0,0,0.3);
  position: relative;
  overflow: hidden;
}

.aw-banner-content {
  position: relative;
  z-index: 2;
  max-width: 50%;
}

.aw-banner-title {
  color: #000;
  font-size: clamp(32px, 4vw, 42px);
  font-family: 'Inter', sans-serif !important;
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 15px;
  letter-spacing: -0.02em;
}

.aw-banner-subtitle {
  color: rgba(0,0,0,0.7);
  font-size: 16px;
  margin-bottom: 30px;
  font-weight: 500;
}

.aw-btn-white {
  background: #000;
  color: #fff;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}

.aw-btn-white:hover {
  background: #222;
}

.aw-banner-image {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.aw-banner-image img {
  height: 120%;
  width: auto;
  object-fit: cover;
  transform: translateX(-30px); /* pull away from right border */
}

/* Layer 3: Black Base Layer */
.aw-footer-base-layer {
  background: #000000; /* Black bottom layer */
  color: #fff;
  padding: 200px 20px 40px 20px; /* Space for the bottom half of the straddling banner */
  position: relative;
  z-index: 1;
  border-top: 5px solid var(--aw-accent-gold);
}

.aw-footer-address p {
  color: rgba(255,255,255,0.5);
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 0;
}

.aw-contact-label {
  color: rgba(255,255,255,0.4);
  font-size: 11px;
  margin-bottom: 4px;
}

.aw-contact-val {
  color: rgba(255,255,255,0.8);
  font-size: 13px;
  text-decoration: none;
  font-weight: 500;
}
.aw-contact-val:hover {
  color: #fff;
}

.aw-footer-col-title {
  color: var(--aw-accent-gold) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  margin-bottom: 25px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}

.aw-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.aw-footer-links li {
  margin-bottom: 15px;
}

.aw-footer-links a {
  color: rgba(255,255,255,0.8);
  text-decoration: none;
  font-size: 13px;
  transition: color 0.2s;
}

.aw-footer-links a:hover {
  color: var(--aw-accent-gold);
}

.aw-footer-copyright {
  border-top: 1px solid rgba(255,255,255,0.1);
  margin-top: 60px;
  padding-top: 30px;
  color: rgba(255,255,255,0.4);
  font-size: 12px;
}

/* Footer link column dividers */
@media (min-width: 768px) {
  .aw-footer-links-col {
    border-right: 1px solid rgba(255,255,255,0.15);
    padding-left: 15px;
  }
  .aw-footer-links-col:last-child {
    border-right: none;
  }
}
@media (max-width: 767px) {
  .aw-footer-links-col {
    border-bottom: 1px solid rgba(255,255,255,0.15);
    padding-bottom: 15px;
    margin-bottom: 15px;
  }
  .aw-footer-links-col:last-child {
    border-bottom: none;
  }
}

/* Responsive */
@media (max-width: 768px) {
  .aw-footer-floating-banner {
    flex-direction: column;
    padding: 40px 30px;
    text-align: center;
  }
  .aw-banner-content {
    max-width: 100%;
    margin-bottom: 30px;
  }
  .aw-banner-image {
    position: relative;
    width: 100%;
    height: 200px;
    justify-content: center;
  }
  .aw-banner-image img {
    height: 100%;
    transform: none;
  }
  .aw-newsletter-form-inline {
    flex-direction: column;
  }
}

/* =========================================================
   TOUR DETAIL v2 & NEW DESTINATIONS HERO   Attwood Brand Theme
   ========================================================= */
@keyframes slideInRight { from { transform:translateX(100%); opacity:0; } to { transform:translateX(0); opacity:1; } }
@keyframes fadeUp { from { transform:translateY(30px); opacity:0; } to { transform:translateY(0); opacity:1; } }
@keyframes pulse { 0%,100%{transform:scale(1);} 50%{transform:scale(1.05);} }

/* ---- HERO ---- */
.tdv2-hero {
  position: relative;
  min-height: 100vh;
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  overflow: hidden;
}
.tdv2-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.5) 60%, rgba(0,0,0,0.3) 100%);
}
.tdv2-hero-content {
  position: relative; z-index: 2;
  padding: 0 24px;
  max-width: 860px;
  width: 100%;
  text-align: center;
  animation: fadeUp 0.8s ease both;
}
.tdv2-hero-eyebrow {
  font-family: 'Caveat', cursive;
  font-size: 22px;
  color: var(--aw-accent-gold);
  letter-spacing: 1px;
  margin-bottom: 8px;
}
.tdv2-hero h1 {
  font-family: 'Raleway', sans-serif;
  font-size: clamp(32px, 5vw, 58px);
  font-weight: 900;
  color: #ffffff !important;
  line-height: 1.15;
  margin-bottom: 16px;
  text-shadow: 0 3px 18px rgba(0,0,0,0.7);
}
.tdv2-hero-route {
  font-family: 'Quicksand', sans-serif;
  font-size: 14px;
  color: rgba(255,255,255,0.75);
  margin-bottom: 22px;
  display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap;
}
.tdv2-hero-route i { color: var(--aw-accent-gold); }
.tdv2-stat-chips {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin-bottom: 28px;
  justify-content: center;
}
.tdv2-chip {
  background: rgba(255,255,255,0.15);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 999px;
  padding: 8px 18px;
  font-family: 'Quicksand', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  display: flex; align-items: center; gap: 8px;
}
.tdv2-chip i { color: var(--aw-accent-gold); font-size: 14px; }
.tdv2-chip.chip-price {
  background: var(--aw-primary);
  border-color: var(--aw-primary);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
.tdv2-hero-actions {
  display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap;
}
.tdv2-btn-cta {
  background: var(--aw-primary);
  color: #fff !important;
  padding: 14px 32px;
  border-radius: 999px;
  font-family: 'Raleway', sans-serif;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  box-shadow: 0 8px 30px rgba(255,0,0,0.4);
  transition: all 0.3s ease;
  display: inline-block;
}
.tdv2-btn-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 40px rgba(255,0,0,0.5); background: var(--aw-primary-dark); }
.tdv2-btn-outline {
  background: transparent;
  color: #fff !important;
  padding: 13px 28px;
  border-radius: 999px;
  font-family: 'Raleway', sans-serif;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  border: 2px solid rgba(255,255,255,0.5);
  transition: all 0.3s ease;
  display: inline-block;
}
.tdv2-btn-outline:hover { border-color: var(--aw-accent-gold); color: var(--aw-accent-gold) !important; }
.tdv2-hero-breadcrumb {
  position: absolute; bottom: 20px; z-index: 3;
  left: 50%; transform: translateX(-50%);
  font-family: 'Quicksand', sans-serif; font-size: 12px; color: rgba(255,255,255,0.7);
  display: flex; gap: 8px; align-items: center;
  background: rgba(0,0,0,0.35);
  backdrop-filter: blur(8px);
padding: 0;
  margin: 0;
}

.aw-footer-links li {
  margin-bottom: 15px;
}

.aw-footer-links a {
  color: rgba(255,255,255,0.8);
  text-decoration: none;
  font-size: 13px;
  transition: color 0.2s;
}

.aw-footer-links a:hover {
  color: var(--aw-accent-gold);
}

.aw-footer-copyright {
  border-top: 1px solid rgba(255,255,255,0.1);
  margin-top: 60px;
  padding-top: 30px;
  color: rgba(255,255,255,0.4);
  font-size: 12px;
}

/* Footer link column dividers */
@media (min-width: 768px) {
  .aw-footer-links-col {
    border-right: 1px solid rgba(255,255,255,0.15);
    padding-left: 15px;
  }
  .aw-footer-links-col:last-child {
    border-right: none;
  }
}
@media (max-width: 767px) {
  .aw-footer-links-col {
    border-bottom: 1px solid rgba(255,255,255,0.15);
    padding-bottom: 15px;
    margin-bottom: 15px;
  }
  .aw-footer-links-col:last-child {
    border-bottom: none;
  }
}

/* Responsive */
@media (max-width: 768px) {
  .aw-footer-floating-banner {
    flex-direction: column;
    padding: 40px 30px;
    text-align: center;
  }
  .aw-banner-content {
    max-width: 100%;
    margin-bottom: 30px;
  }
  .aw-banner-image {
    position: relative;
    width: 100%;
    height: 200px;
    justify-content: center;
  }
  .aw-banner-image img {
    height: 100%;
    transform: none;
  }
  .aw-newsletter-form-inline {
    flex-direction: column;
  }
}

/* =========================================================
   TOUR DETAIL v2 & NEW DESTINATIONS HERO   Attwood Brand Theme
   ========================================================= */
@keyframes slideInRight { from { transform:translateX(100%); opacity:0; } to { transform:translateX(0); opacity:1; } }
@keyframes fadeUp { from { transform:translateY(30px); opacity:0; } to { transform:translateY(0); opacity:1; } }
@keyframes pulse { 0%,100%{transform:scale(1);} 50%{transform:scale(1.05);} }

/* ---- HERO ---- */
.tdv2-hero {
  position: relative;
  min-height: 100vh;
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  overflow: hidden;
}
.tdv2-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.5) 60%, rgba(0,0,0,0.3) 100%);
}
.tdv2-hero-content {
  position: relative; z-index: 2;
  padding: 0 24px;
  max-width: 860px;
  width: 100%;
  text-align: center;
  animation: fadeUp 0.8s ease both;
}
.tdv2-hero-eyebrow {
  font-family: 'Caveat', cursive;
  font-size: 22px;
  color: var(--aw-accent-gold);
  letter-spacing: 1px;
  margin-bottom: 8px;
}
.tdv2-hero h1 {
  font-family: 'Raleway', sans-serif;
  font-size: clamp(32px, 5vw, 58px);
  font-weight: 900;
  color: #ffffff !important;
  line-height: 1.15;
  margin-bottom: 16px;
  text-shadow: 0 3px 18px rgba(0,0,0,0.7);
}
.tdv2-hero-route {
  font-family: 'Quicksand', sans-serif;
  font-size: 14px;
  color: rgba(255,255,255,0.75);
  margin-bottom: 22px;
  display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap;
}
.tdv2-hero-route i { color: var(--aw-accent-gold); }
.tdv2-stat-chips {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin-bottom: 28px;
  justify-content: center;
}
.tdv2-chip {
  background: rgba(255,255,255,0.15);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 999px;
  padding: 8px 18px;
  font-family: 'Quicksand', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  display: flex; align-items: center; gap: 8px;
}
.tdv2-chip i { color: var(--aw-accent-gold); font-size: 14px; }
.tdv2-chip.chip-price {
  background: var(--aw-primary);
  border-color: var(--aw-primary);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
.tdv2-hero-actions {
  display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap;
}
.tdv2-btn-cta {
  background: var(--aw-primary);
  color: #fff !important;
  padding: 14px 32px;
  border-radius: 999px;
  font-family: 'Raleway', sans-serif;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  box-shadow: 0 8px 30px rgba(255,0,0,0.4);
  transition: all 0.3s ease;
  display: inline-block;
}
.tdv2-btn-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 40px rgba(255,0,0,0.5); background: var(--aw-primary-dark); }
.tdv2-btn-outline {
  background: transparent;
  color: #fff !important;
  padding: 13px 28px;
  border-radius: 999px;
  font-family: 'Raleway', sans-serif;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  border: 2px solid rgba(255,255,255,0.5);
  transition: all 0.3s ease;
  display: inline-block;
}
.tdv2-btn-outline:hover { border-color: var(--aw-accent-gold); color: var(--aw-accent-gold) !important; }
.tdv2-hero-breadcrumb {
  position: absolute; bottom: 20px; z-index: 3;
  left: 50%; transform: translateX(-50%);
  font-family: 'Quicksand', sans-serif; font-size: 12px; color: rgba(255,255,255,0.7);
  display: flex; gap: 8px; align-items: center;
  background: rgba(0,0,0,0.35);
  backdrop-filter: blur(8px);
  padding: 7px 20px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.15);
  white-space: nowrap;
}
.tdv2-hero-breadcrumb a { color: rgba(255,255,255,0.7); text-decoration: none; }
.tdv2-hero-breadcrumb a:hover { color: var(--aw-accent-gold); }
.tdv2-hero-breadcrumb .sep { color: rgba(255,255,255,0.4); }

/* ---- DESTINATION CARDS (PORTRAIT) ---- */
.tdv2-dest-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 24px;
}
@media (max-width: 768px) {
  .tdv2-dest-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
}

.tdv2-dest-card {
  position: relative;
  display: block;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: #000;
  box-shadow: var(--aw-shadow-card);
  transition: var(--aw-transition);
  text-decoration: none !important;
}
.tdv2-dest-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.tdv2-dest-card .tdv2-dc-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.2) 60%, transparent 100%);
  transition: opacity 0.3s ease;
}
.tdv2-dest-card .tdv2-dc-text {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 24px;
  z-index: 2;
  transform: translateY(0);
  transition: transform 0.3s ease;
}
.tdv2-dest-card .tdv2-dc-region {
  display: inline-block;
  background: var(--aw-primary);
  color: #fff;
  padding: 4px 12px;
  border-radius: 999px;
  font-family: var(--aw-font-ui);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 8px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
.tdv2-dest-card .tdv2-dc-name {
  font-family: 'Raleway', sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  margin: 0;
  line-height: 1.2;
}
.tdv2-dest-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--aw-shadow-hover);
}
.tdv2-dest-card:hover img {
  transform: scale(1.08);
}
.tdv2-dest-card:hover .tdv2-dc-overlay {
  background: linear-gradient(to top, rgba(227,58,27,0.85) 0%, rgba(0,0,0,0.4) 60%, transparent 100%);
}

/* ============================================================
   Footer Newsletter Mobile Overrides
   ============================================================ */
@media (max-width: 767px) {
  .aw-newsletter-form-inline .aw-btn-dark {
    background-color: var(--aw-primary) !important;
    border-color: var(--aw-primary) !important;
    color: #fff !important;
    margin-bottom: 25px; /* Separate it from the experts below */
  }
}

/* ============================================================
   Hero Slideshow & Repositioned Search Module
   ============================================================ */
.aw-hero-slideshow {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.aw-hero-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  animation: heroBgFade 24s infinite linear;
}
.aw-hero-slide:nth-child(1) { animation-delay: 0s; }
.aw-hero-slide:nth-child(2) { animation-delay: 6s; }
.aw-hero-slide:nth-child(3) { animation-delay: 12s; }
.aw-hero-slide:nth-child(4) { animation-delay: 18s; }

@keyframes heroBgFade {
  0% { opacity: 0; transform: scale(1); }
  5% { opacity: 1; }
  25% { opacity: 1; }
  30% { opacity: 0; transform: scale(1.05); }
  100% { opacity: 0; }
}

.aw-hero-search-wrapper {
  position: relative;
  margin-top: 40px;
  width: 100%;
  z-index: 20;
}
@media (max-width: 767px) {
  .aw-hero-content-col {
    position: static !important;
  }
  .aw-hero-search-wrapper {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
    width: 100%;
    margin-top: 0;
    padding: 0 15px;
  }
  .aw-about-section {
    margin-top: 150px !important;
  }
}
