/*
 * Atout Visa - Enfold Theme Replacement CSS
 * Comprehensive stylesheet for 319+ inner pages restored from Wayback Machine
 * Replaces all missing WordPress/Enfold theme CSS assets
 *
 * Color scheme: Navy (#1a237e) primary, Gold (#ffc107) accent, Cabin font
 * Matches homepage design language
 */

/* ==========================================================================
   1. RESET & BASE
   ========================================================================== */

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

html.responsive {
  min-width: 0;
}

body {
  margin: 0;
  padding: 0;
  font-family: 'Cabin', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  color: #333;
  background: #fff;
  overflow-x: hidden;
}

/* Enforce Cabin font on Enfold's font classes */
body.cabin,
body.helvetica_neue,
body.helvetica-neue-websave {
  font-family: 'Cabin', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Cabin', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 700;
  line-height: 1.25;
  color: #1a237e;
  margin-top: 0;
  margin-bottom: 0.5em;
  text-transform: none;
}

h1 { font-size: clamp(26px, 4vw, 36px); }
h2 { font-size: clamp(22px, 3.5vw, 30px); }
h3 { font-size: clamp(18px, 2.5vw, 24px); }
h4 { font-size: clamp(16px, 2vw, 20px); }
h5 { font-size: 16px; }
h6 { font-size: 14px; }

p {
  margin: 0 0 1em;
  line-height: 1.7;
}

a {
  color: #1565c0;
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: #1a237e;
  text-decoration: underline;
}

a:visited {
  outline: 0;
}

img {
  max-width: 100%;
  height: auto;
  border: 0;
  display: inline-block;
  image-rendering: auto;
}

ul, ol {
  margin: 0 0 1em;
  padding-left: 1.5em;
}

ul ul, ol ol, ul ol, ol ul {
  margin-bottom: 0.25em;
}

li {
  margin-bottom: 0.35em;
  line-height: 1.6;
}

strong, b {
  font-weight: 700;
}

blockquote {
  margin: 1.5em 0;
  padding: 1em 1.5em;
  border-left: 4px solid #1a237e;
  background: #f5f5f5;
  font-style: italic;
  color: #555;
}

hr {
  border: none;
  border-top: 1px solid #e0e0e0;
  margin: 2em 0;
}

/* ==========================================================================
   2. BROKEN FONT ICONS - Hide missing entypo-fontello & flaticon characters
   ========================================================================== */

@font-face {
  font-family: 'entypo-fontello';
  font-weight: normal;
  font-style: normal;
  font-display: block;
  /* Point to non-existent files - these will fail silently */
  src: url('data:application/font-woff2;charset=utf-8;base64,') format('woff2');
}

@font-face {
  font-family: 'flaticon';
  font-weight: normal;
  font-style: normal;
  font-display: block;
  src: url('data:application/font-woff2;charset=utf-8;base64,') format('woff2');
}

/* Hide broken icon characters completely */
#top .avia-font-entypo-fontello,
body .avia-font-entypo-fontello,
html body [data-av_iconfont='entypo-fontello']:before,
#top .avia-font-flaticon,
body .avia-font-flaticon,
html body [data-av_iconfont='flaticon']:before,
[data-av_icon]:before {
  font-size: 0 !important;
  visibility: hidden;
  width: 0;
  height: 0;
  overflow: hidden;
  display: inline-block;
}

/* Hide icon-only elements that would show broken glyphs */
.avia-bullet {
  display: none !important;
}

.avia-menu-fx {
  display: none;
}

/* Hide scroll-to-top broken icon */
#scroll-top-link {
  display: none !important;
}

/* ==========================================================================
   3. YELLOW/GOLD TOP BANNER (Wayback "Visit" Banner)
   ========================================================================== */

/* Banner that was injected by the Wayback restore script */
body > div[style*="background"]:first-child,
#top > div[style*="background"]:first-child,
body > div:first-child:not(#wrap_all):not(#top) {
  background: #1a237e !important;
  color: #ffc107 !important;
  text-align: center;
  padding: 10px 16px;
  font-family: 'Cabin', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.3px;
  border-bottom: 2px solid #ffc107;
}

body > div[style*="background"]:first-child a,
#top > div[style*="background"]:first-child a,
body > div:first-child:not(#wrap_all):not(#top) a {
  color: #ffc107 !important;
  text-decoration: none !important;
  font-weight: 700;
  transition: opacity 0.2s ease;
}

body > div[style*="background"]:first-child a:hover,
body > div:first-child:not(#wrap_all):not(#top) a:hover {
  opacity: 0.85;
  text-decoration: none !important;
}

/* ==========================================================================
   4. WRAP ALL - Main page wrapper
   ========================================================================== */

#wrap_all {
  width: 100%;
  position: relative;
  z-index: 2;
  overflow: hidden;
  background: #fff;
}

/* ==========================================================================
   5. HEADER
   ========================================================================== */

#header {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  background: #1a237e;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

/* When header has transparency class, keep it solid on inner pages */
#header.av_header_transparency {
  background: #1a237e;
}

#header.av_header_glassy {
  background: #1a237e;
}

.header_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #1a237e !important;
  opacity: 1 !important;
  z-index: 0;
}

#header_main {
  position: relative;
  z-index: 1;
  border-bottom: none;
}

#header_main.container_wrap,
#header_main.container_wrap_logo {
  border-top: none;
}

#header_main .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 70px;
  position: relative;
}

.av-logo-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.inner-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  position: relative;
}

/* Logo */
div .logo,
span.logo {
  float: none;
  position: relative;
  left: auto;
  z-index: 10;
  display: flex;
  align-items: center;
  height: auto;
  overflow: visible;
}

.logo a {
  display: flex;
  align-items: center;
  height: auto;
  text-decoration: none;
  overflow: visible;
}

.logo img {
  height: 45px;
  width: auto;
  max-height: 45px;
  display: block;
  padding: 0;
  filter: brightness(0) invert(1);
  /* Make logo white on navy background */
}

/* Alternate logo (white version) */
.logo .subtext,
.logo .alternate {
  display: none;
}

/* Fallback text logo if image fails to load */
.logo a::after {
  content: '';
}

/* ==========================================================================
   6. NAVIGATION
   ========================================================================== */

.main_menu {
  position: relative;
  z-index: 100;
  display: flex;
  align-items: center;
  height: auto;
  margin: 0;
  clear: none;
  right: auto;
  float: none;
}

nav.main_menu {
  height: auto;
}

.avia-menu,
.av-main-nav-wrap {
  float: none;
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
}

.av-main-nav,
ul.menu.av-main-nav,
#avia-menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: center;
  gap: 2px;
  z-index: 110;
  position: relative;
}

.av-main-nav > li,
#avia-menu > li.menu-item {
  float: none;
  position: relative;
  display: flex;
  align-items: center;
  line-height: normal;
}

.av-main-nav > li > a,
#avia-menu > li.menu-item > a {
  display: flex;
  align-items: center;
  padding: 8px 14px;
  color: #fff !important;
  font-size: 14px;
  font-weight: 500;
  font-family: 'Cabin', sans-serif;
  text-decoration: none;
  border-radius: 6px;
  transition: background 0.2s ease;
  height: auto;
  line-height: normal;
  white-space: nowrap;
}

.av-main-nav > li > a:hover,
#avia-menu > li.menu-item > a:hover {
  background: rgba(255,255,255,0.12);
  text-decoration: none;
}

/* Active menu item */
.av-main-nav > li.current-menu-item > a,
.av-main-nav > li.current_page_item > a {
  background: rgba(255,255,255,0.15);
}

/* Menu text spans */
.avia-menu-text {
  display: inline;
}

.avia-menu-fx,
.avia-arrow-wrap,
.avia-arrow {
  display: none !important;
}

/* Sub-menus / Dropdowns */
.av-main-nav ul.sub-menu,
#avia-menu ul.sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  padding: 8px 0;
  margin: 4px 0 0;
  z-index: 200;
  list-style: none;
  border-top: 3px solid #1a237e;
}

.av-main-nav li:hover > ul.sub-menu,
#avia-menu li:hover > ul.sub-menu {
  display: block;
}

.av-main-nav ul.sub-menu li,
#avia-menu ul.sub-menu li {
  float: none;
  width: 100%;
  margin: 0;
  padding: 0;
}

.av-main-nav ul.sub-menu li a,
#avia-menu ul.sub-menu li a,
#top .av-main-nav ul a {
  display: block;
  padding: 8px 16px;
  color: #333 !important;
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  height: auto;
  line-height: 1.4;
  width: 100%;
  float: none;
  white-space: nowrap;
  border: none;
  min-height: auto;
}

.av-main-nav ul.sub-menu li a:hover,
#avia-menu ul.sub-menu li a:hover {
  background: #f0f0f0;
  color: #1a237e !important;
}

/* Cart dropdown in nav */
#menu-item-shop,
.cart_dropdown {
  display: none !important;
}

/* Search icon in nav */
#menu-item-search {
  display: none;
}

/* Hamburger menu */
.av-burger-menu-main {
  display: none;
}

.av-hamburger {
  padding: 0;
  display: inline-block;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.av-hamburger-box {
  width: 28px;
  height: 20px;
  display: inline-block;
  position: relative;
}

.av-hamburger-inner,
.av-hamburger-inner::before,
.av-hamburger-inner::after {
  width: 28px;
  height: 3px;
  background-color: #fff;
  border-radius: 3px;
  position: absolute;
  transition: transform 0.2s ease;
}

.av-hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1.5px;
}

.av-hamburger-inner::before,
.av-hamburger-inner::after {
  content: '';
  display: block;
}

.av-hamburger-inner::before { top: -8px; }
.av-hamburger-inner::after { bottom: -8px; }

.av-hamburger strong {
  display: none;
}

/* Hidden text elements */
.avia_hidden_link_text {
  display: none;
}

/* ==========================================================================
   7. MAIN LAYOUT CONTAINERS
   ========================================================================== */

.container_wrap {
  clear: both;
  position: relative;
  border-top: none;
}

.container {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  clear: both;
}

#main {
  background: #fff;
  min-height: 50vh;
}

#main.all_colors {
  border-color: transparent;
}

.content,
main.template-page,
main.template-shop,
main.template-blog {
  padding: 40px 0;
  min-height: 1px;
  position: relative;
  z-index: 1;
  width: 100%;
  float: none;
  border: none;
  margin: 0;
}

.content .entry-content-wrapper {
  padding: 0;
}

.av-content-full {
  width: 100% !important;
}

.av-content-small {
  width: 100% !important;
}

.units {
  float: none;
  display: block;
  margin-left: 0;
  position: relative;
  z-index: 1;
  min-height: 1px;
  width: 100%;
}

.units.alpha {
  margin-left: 0;
  clear: both;
}

.post-entry {
  clear: both;
  width: 100%;
}

.entry-content-wrapper {
  overflow: visible;
}

.clearfix::after {
  content: '';
  display: table;
  clear: both;
}

/* ==========================================================================
   8. AVIA SECTIONS (Full-width content blocks)
   ========================================================================== */

.avia-section {
  position: relative;
  overflow: hidden;
}

.avia-section.main_color {
  background: #fff;
  color: #333;
}

.avia-section.alternate_color {
  background: #f8f9fa;
  color: #333;
}

.avia-section-large {
  padding: 60px 0;
}

.avia-section-small {
  padding: 30px 0;
}

.avia-section-no-padding {
  padding: 0;
}

/* Full stretch sections */
.avia-full-stretch {
  width: 100%;
}

/* Section with background color overlay */
.av-section-color-overlay-wrap {
  position: relative;
  z-index: 2;
}

.av-section-color-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.av-section-color-overlay-wrap > .container {
  position: relative;
  z-index: 2;
}

.av-section-color-overlay-active .container {
  position: relative;
  z-index: 2;
}

/* Builder elements */
[class*="avia-builder-el-"] {
  position: relative;
}

/* ==========================================================================
   9. PARALLAX SECTIONS
   ========================================================================== */

.av-parallax-section {
  position: relative;
  overflow: hidden;
}

.av-parallax {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  z-index: 0;
}

.av-parallax-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

/* When background images are missing, show a nice gradient fallback */
.av-parallax-inner[style*="background-image"] {
  background-color: #1a237e;
}

/* Fallback for missing parallax background images */
.av-parallax-inner.av-parallax-woo {
  background-color: #2e537c;
}

/* Hero/banner section in inner pages (the top section with parallax) */
#av_product_description,
.avia-section.av-parallax-section:first-of-type {
  min-height: 200px;
}

#av_product_description .container,
.avia-section.av-parallax-section .container {
  position: relative;
  z-index: 5;
}

#av_product_description h1,
.av-parallax-section h1 {
  color: #fff;
  text-shadow: 0 2px 4px rgba(0,0,0,0.3);
  font-size: clamp(28px, 4vw, 40px);
  margin-bottom: 16px;
}

#av_product_description p {
  color: rgba(255,255,255,0.9);
  font-size: clamp(16px, 2vw, 20px);
  max-width: 700px;
}

/* ==========================================================================
   10. GRID SYSTEM - Flex columns
   ========================================================================== */

.flex_column_table,
.av-equal-height-column-flextable,
[class*="-flextable"] {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: stretch;
}

.flex_column {
  position: relative;
  min-height: 1px;
}

.flex_column_table_cell {
  display: flex;
  flex-direction: column;
}

.flex_column_div {
  display: block;
}

.av-align-middle {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.av-align-bottom {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

/* Column widths */
.av_one_full {
  width: 100%;
  flex: 0 0 100%;
}

.av_one_half {
  width: calc(50% - 12px);
  flex: 0 0 calc(50% - 12px);
}

.av_one_third {
  width: calc(33.333% - 16px);
  flex: 0 0 calc(33.333% - 16px);
}

.av_two_third {
  width: calc(66.666% - 8px);
  flex: 0 0 calc(66.666% - 8px);
}

.av_one_fourth {
  width: calc(25% - 18px);
  flex: 0 0 calc(25% - 18px);
}

.av_three_fourth {
  width: calc(75% - 6px);
  flex: 0 0 calc(75% - 6px);
}

.av_one_fifth {
  width: calc(20% - 19.2px);
  flex: 0 0 calc(20% - 19.2px);
}

.av_two_fifth {
  width: calc(40% - 14.4px);
  flex: 0 0 calc(40% - 14.4px);
}

.av_three_fifth {
  width: calc(60% - 9.6px);
  flex: 0 0 calc(60% - 9.6px);
}

.av_four_fifth {
  width: calc(80% - 4.8px);
  flex: 0 0 calc(80% - 4.8px);
}

/* Zero column padding */
.av-zero-column-padding {
  padding: 0;
}

/* Flex placeholder (spacer between columns) */
.av-flex-placeholder {
  display: none;
}

/* First column reset */
.flex_column.first {
  margin-left: 0;
}

/* ==========================================================================
   11. TYPOGRAPHY - Headings & Special headings
   ========================================================================== */

.av-special-heading {
  margin-bottom: 24px;
}

.av-special-heading-tag {
  display: block;
  position: relative;
}

#top .av-special-heading h1,
#top .av-special-heading h2,
#top .av-special-heading h3,
#top .av-special-heading h4 {
  color: #1a237e;
}

.av-subheading {
  font-size: 16px;
  color: #666;
  margin-top: 8px;
  line-height: 1.5;
}

/* Post titles */
.post-title,
.entry-content-wrapper .post-title {
  font-size: clamp(24px, 3.5vw, 32px);
  line-height: 1.3;
  color: #1a237e;
  margin-bottom: 16px;
}

/* Elegant blog heading styles */
.html_elegant-blog #top .post-entry .post-title {
  text-align: left;
  font-size: clamp(24px, 3.5vw, 32px);
  text-transform: none;
  padding: 0 0 15px;
  letter-spacing: 0;
  line-height: 1.3;
  margin-bottom: 10px;
}

.html_modern-blog #top .post-entry .post-title {
  font-size: clamp(24px, 3.5vw, 32px);
  text-align: left;
  letter-spacing: 0;
}

/* ==========================================================================
   12. TEXT BLOCKS
   ========================================================================== */

.avia_textblock,
.av_textblock_section {
  margin-bottom: 20px;
}

.avia_textblock p {
  margin-bottom: 1em;
  line-height: 1.7;
}

.avia_textblock ul,
.avia_textblock ol {
  margin-bottom: 1em;
  padding-left: 1.5em;
}

.avia_textblock li {
  margin-bottom: 0.4em;
  line-height: 1.6;
}

.avia_textblock h1,
.avia_textblock h2,
.avia_textblock h3,
.avia_textblock h4 {
  margin-top: 1em;
  margin-bottom: 0.5em;
}

.avia_textblock h1:first-child,
.avia_textblock h2:first-child,
.avia_textblock h3:first-child {
  margin-top: 0;
}

.avia_textblock a {
  color: #1565c0;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s;
}

.avia_textblock a:hover {
  border-bottom-color: #1565c0;
  text-decoration: none;
}

/* ==========================================================================
   13. IMAGES
   ========================================================================== */

.avia-image-container {
  margin-bottom: 20px;
}

.avia-image-container-inner {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
}

.avia-image-overlay-wrap {
  position: relative;
  display: block;
}

.avia_image,
img.avia_image,
img.avia-img-lazy-loading-not-0 {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}

.avia-align-center {
  text-align: center;
}

.avia-align-center .avia-image-container-inner {
  display: inline-block;
}

/* Image caption overlay */
.av-image-caption-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0,0,0,0.7));
  color: #fff;
  padding: 16px;
  font-size: 14px;
}

.av-image-caption-overlay-center {
  text-align: center;
}

.av-image-caption-overlay-position-below {
  position: relative;
  background: #f5f5f5;
  color: #666;
}

/* ==========================================================================
   14. BUTTONS
   ========================================================================== */

.avia-button,
a.avia-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 28px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  font-family: 'Cabin', sans-serif;
  text-decoration: none;
  transition: all 0.2s ease;
  border: 2px solid transparent;
  cursor: pointer;
  line-height: 1.4;
}

.avia-button.avia-color-theme-color,
.avia-color-theme-color {
  background: #ffc107;
  color: #1a237e !important;
  border-color: #ffc107;
}

.avia-button.avia-color-theme-color:hover {
  background: #ffca28;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255,193,7,0.4);
  text-decoration: none;
}

.avia-button.avia-color-theme-color-subtle {
  background: transparent;
  color: #1a237e !important;
  border-color: #1a237e;
}

.avia-button.avia-color-theme-color-subtle:hover {
  background: #1a237e;
  color: #fff !important;
}

.avia-button.avia-color-light {
  background: #fff;
  color: #1a237e !important;
  border-color: #fff;
}

.avia-button.avia-color-dark {
  background: #1a237e;
  color: #fff !important;
  border-color: #1a237e;
}

.avia-button.avia-color-dark:hover {
  background: #283593;
}

/* Button sizes */
.avia-button.avia-size-small {
  padding: 6px 16px;
  font-size: 13px;
}

.avia-button.avia-size-medium {
  padding: 10px 22px;
  font-size: 15px;
}

.avia-button.avia-size-large {
  padding: 14px 32px;
  font-size: 17px;
}

.avia-button.avia-size-x-large {
  padding: 16px 40px;
  font-size: 18px;
}

.avia-button-wrap {
  margin: 16px 0;
}

.avia-button-left {
  text-align: left;
}

.avia-button-center {
  text-align: center;
}

.avia-button-right {
  text-align: right;
}

/* Button row */
.avia-buttonrow-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 16px 0;
}

/* Button full width */
.avia-button-fullwidth {
  width: 100%;
}

.avia_iconbox_title {
  display: inline;
}

/* ==========================================================================
   15. SLIDESHOW / HERO SECTIONS
   ========================================================================== */

.avia-slideshow-section {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #1a237e 0%, #283593 50%, #1565c0 100%);
  min-height: 250px;
}

.avia-caption-title {
  font-size: clamp(28px, 5vw, 48px);
  font-weight: 700;
  color: #fff;
  text-shadow: 0 2px 4px rgba(0,0,0,0.3);
  margin-bottom: 12px;
}

.avia-caption-content {
  font-size: 18px;
  color: rgba(255,255,255,0.9);
  max-width: 600px;
}

.avia-slide-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 250px;
  padding: 40px 24px;
}

/* Rev slider fallback */
.rev_slider_wrapper,
.rev_slider {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #1a237e, #1565c0);
  min-height: 200px;
}

/* ==========================================================================
   16. CONTENT SLIDER
   ========================================================================== */

.avia-content-slider {
  position: relative;
  overflow: hidden;
  margin: 24px 0;
}

.avia-content-slider-inner {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 16px;
}

.avia-content-slider-inner > * {
  scroll-snap-align: start;
  flex: 0 0 auto;
}

/* Slider navigation - hide since JS won't work */
.avia-slideshow-arrows,
.av-timeline-nav {
  display: none;
}

/* ==========================================================================
   17. ACCORDIONS / TOGGLES
   ========================================================================== */

.av_toggle_section {
  margin: 16px 0;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
}

.toggler,
.toggle_content {
  padding: 16px 20px;
}

.toggler {
  background: #f8f9fa;
  font-weight: 600;
  font-size: 16px;
  color: #1a237e;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #e0e0e0;
  transition: background 0.2s;
}

.toggler:hover {
  background: #e8eaf6;
}

.toggle_content {
  display: block;
  background: #fff;
  line-height: 1.7;
}

/* Closed state - since JS doesn't work, show all content */
.toggle_close .toggle_content {
  display: block;
}

/* ==========================================================================
   18. TABS
   ========================================================================== */

.av-tab-section-tab-title-container {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  border-bottom: 2px solid #e0e0e0;
  flex-wrap: wrap;
}

.av-section-tab-title {
  padding: 12px 20px;
  font-weight: 600;
  color: #666;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: all 0.2s;
}

.av-section-tab-title:hover,
.av-section-tab-title.av-active-tab-title {
  color: #1a237e;
  border-bottom-color: #1a237e;
}

.av-layout-tab-content {
  padding: 24px 0;
}

/* Simple tabs (horizontal) */
.av-tab-section-container {
  margin: 24px 0;
}

/* ==========================================================================
   19. ANIMATED NUMBERS / COUNTERS
   ========================================================================== */

.avia-animated-number {
  text-align: center;
  padding: 20px;
}

.avia-animated-number-title {
  display: block;
  font-size: clamp(32px, 5vw, 48px);
  font-weight: 700;
  color: #ffc107;
  line-height: 1.2;
}

.avia-animated-number-content {
  font-size: 16px;
  color: rgba(255,255,255,0.9);
  margin-top: 8px;
}

.avia-animated-number-content p {
  margin: 0;
}

.avia-single-number,
.__av-single-number {
  display: inline;
}

.avia-no-number {
  display: inline;
}

/* When in alternate_color section (dark background) */
.alternate_color .avia-animated-number-title {
  color: #ffc107;
}

.alternate_color .avia-animated-number-content {
  color: rgba(255,255,255,0.85);
}

/* When in main_color section (light background) */
.main_color .avia-animated-number-title {
  color: #1a237e;
}

.main_color .avia-animated-number-content {
  color: #666;
}

/* ==========================================================================
   20. ICON BOXES
   ========================================================================== */

.avia-icon-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.avia-icon-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
}

.avia-icon-list li:last-child {
  border-bottom: none;
}

.iconbox {
  text-align: center;
  padding: 24px;
}

.iconbox_content {
  margin-top: 16px;
}

.iconbox_content h3 {
  margin-bottom: 8px;
}

/* ==========================================================================
   21. NOTIFICATION / ALERT BOXES
   ========================================================================== */

.avia_message_box {
  padding: 16px 20px;
  border-radius: 8px;
  margin: 16px 0;
  border-left: 4px solid;
  line-height: 1.6;
}

.avia_message_box.avia-color-green {
  background: #e8f5e9;
  border-color: #4caf50;
  color: #2e7d32;
}

.avia_message_box.avia-color-red {
  background: #ffebee;
  border-color: #f44336;
  color: #c62828;
}

.avia_message_box.avia-color-blue {
  background: #e3f2fd;
  border-color: #2196f3;
  color: #1565c0;
}

.avia_message_box.avia-color-orange {
  background: #fff3e0;
  border-color: #ff9800;
  color: #e65100;
}

/* ==========================================================================
   22. PROMO / CTA BOXES
   ========================================================================== */

.avia-promocontent {
  padding: 32px;
  border-radius: 12px;
  margin: 24px 0;
}

.promobox {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

/* ==========================================================================
   23. TABLES
   ========================================================================== */

table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5em 0;
  font-size: 15px;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

thead {
  background: #1a237e;
  color: #fff;
}

th {
  padding: 12px 16px;
  text-align: left;
  font-weight: 600;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

td {
  padding: 12px 16px;
  border-bottom: 1px solid #e8e8e8;
  vertical-align: top;
}

tbody tr:hover {
  background: #f8f9fa;
}

tbody tr:nth-child(even) {
  background: #fafafa;
}

tbody tr:nth-child(even):hover {
  background: #f0f0f0;
}

/* Enfold pricing table */
.avia-data-table {
  width: 100%;
}

.avia-heading-row th {
  background: #1a237e;
  color: #fff;
}

.avia-highlight-col {
  background: #fff8e1 !important;
}

/* ==========================================================================
   24. HORIZONTAL RULES / SEPARATORS
   ========================================================================== */

.avia-hr,
.av-separator {
  border: none;
  border-top: 1px solid #e0e0e0;
  margin: 24px 0;
  clear: both;
}

.avia-hr-default {
  border-top-style: solid;
}

.seperator,
.extralight-border {
  display: block;
  border-bottom: 1px solid #eee;
  margin: 16px 0;
}

/* ==========================================================================
   25. BLOG / ARTICLES
   ========================================================================== */

.template-blog {
  padding: 40px 0;
}

.template-blog .post {
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #e8e8e8;
  clear: both;
  width: 100%;
  float: none;
}

.template-blog .post:last-child {
  border-bottom: none;
}

.post-meta-infos {
  font-size: 14px;
  color: #888;
  margin-bottom: 16px;
  display: block;
}

.post-meta-infos a {
  color: #888;
  text-decoration: none;
}

.post-meta-infos a:hover {
  color: #1a237e;
}

.text-sep {
  padding: 0 6px;
  opacity: 0.5;
}

.blog-categories {
  display: block;
  margin-bottom: 8px;
}

.blog-categories a {
  display: inline-block;
  background: #e8eaf6;
  color: #1a237e;
  font-size: 12px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 20px;
  text-decoration: none;
}

.big-preview {
  display: block;
  margin-bottom: 16px;
  padding: 0;
  overflow: hidden;
  border-radius: 8px;
}

.big-preview img {
  display: block;
  width: 100%;
  border-radius: 8px;
}

.big-preview a {
  display: block;
  overflow: hidden;
}

.single-big {
  padding: 0;
}

.entry-content-wrapper .big-preview.single-big {
  padding: 0 0 10px;
}

.more-link {
  display: inline-block;
  clear: both;
  color: #1a237e;
  font-weight: 600;
  border: 2px solid #1a237e;
  padding: 8px 20px;
  border-radius: 6px;
  transition: all 0.2s;
  text-decoration: none;
  margin-top: 12px;
}

.more-link:hover {
  background: #1a237e;
  color: #fff;
  text-decoration: none;
}

.more-link-arrow::after {
  content: ' \2192';
}

.post_delimiter {
  margin: 40px 0;
  padding: 0;
  border: none;
}

/* Blog tag on elegant blog */
.av-vertical-delimiter {
  display: block;
  margin: 0 auto;
  width: 40px;
  border-top: 3px solid #1a237e;
  padding-bottom: 16px;
}

/* Blog sidebar */
.sidebar {
  padding: 40px 0;
}

.inner_sidebar {
  padding: 0;
}

/* Widgets */
.widget {
  clear: both;
  position: relative;
  padding: 24px 0;
  float: none;
}

.widget:first-child {
  padding-top: 0;
}

.widgettitle {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 14px;
  color: #1a237e;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid #e8eaf6;
}

.widget ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.widget li {
  padding: 6px 0;
  border-bottom: 1px solid #f0f0f0;
  line-height: 1.5;
}

.widget li:last-child {
  border-bottom: none;
}

.widget a {
  color: #555;
  text-decoration: none;
}

.widget a:hover {
  color: #1a237e;
}

/* ==========================================================================
   26. WOOCOMMERCE
   ========================================================================== */

/* Product grid */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 24px 0;
}

ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 24px 0;
}

ul.products.columns-4 {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

ul.products.columns-3 {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.product-category,
li.product-category,
li.product {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  overflow: hidden;
  transition: all 0.2s ease;
  list-style: none;
  margin: 0;
  padding: 0;
  width: auto !important;
  float: none !important;
}

.product-category:hover,
li.product:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  transform: translateY(-4px);
}

.product-category a,
li.product a {
  display: block;
  text-decoration: none;
  color: inherit;
}

.product-category > a > img,
li.product > a > img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}

/* WooCommerce category title with flag */
.woocommerce-loop-category__title {
  padding: 16px;
  font-size: 16px;
  font-weight: 600;
  color: #1a237e;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  line-height: 1.3;
}

.woocommerce-loop-category__title img.drapeau-pays {
  width: 32px !important;
  height: auto;
  border-radius: 2px;
  flex-shrink: 0;
}

.woocommerce-loop-category__title .count,
.woocommerce-loop-category__title mark.count {
  background: #e8eaf6;
  color: #1a237e;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 12px;
  margin-left: auto;
}

/* WooCommerce page header */
.woocommerce-products-header {
  margin-bottom: 24px;
}

.woocommerce-products-header__title {
  font-size: clamp(24px, 3.5vw, 32px);
  color: #1a237e;
}

/* Single product */
.woocommerce div.product {
  margin-bottom: 40px;
}

.woocommerce-product-gallery {
  opacity: 1 !important;
}

/* Cart page */
.woocommerce-cart .cart-empty {
  text-align: center;
  padding: 60px 20px;
  font-size: 18px;
  color: #666;
}

/* Product addons */
.woocommerce-product-addons {
  margin: 16px 0;
}

/* Price */
.woocommerce .price,
.woocommerce-Price-amount {
  font-weight: 700;
  color: #1a237e;
}

/* Corps-pays (country body class for product grid) */
.corps-pays ul.products {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

/* WooCommerce button */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: #1a237e;
  color: #fff;
  border: none;
  padding: 10px 24px;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
  font-family: 'Cabin', sans-serif;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: #283593;
  color: #fff;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: #ffc107;
  color: #1a237e;
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: #ffca28;
}

/* WooCommerce form */
.woocommerce form .form-row .required {
  visibility: visible;
}

/* Breadcrumb */
.woocommerce-breadcrumb {
  font-size: 14px;
  color: #888;
  margin-bottom: 16px;
  padding: 8px 0;
}

.woocommerce-breadcrumb a {
  color: #1565c0;
}

/* ==========================================================================
   27. CONTACT FORM 7
   ========================================================================== */

.wpcf7 {
  margin: 24px 0;
}

.wpcf7 form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.wpcf7 p {
  margin: 0;
}

.wpcf7 label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
  color: #333;
}

.wpcf7-form-control-wrap {
  display: block;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea,
.wpcf7 select {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #d0d0d0;
  border-radius: 6px;
  font-size: 15px;
  font-family: 'Cabin', sans-serif;
  transition: border-color 0.2s;
  background: #fff;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  border-color: #1a237e;
  outline: none;
  box-shadow: 0 0 0 3px rgba(26,35,126,0.1);
}

.wpcf7 textarea {
  min-height: 150px;
  resize: vertical;
}

.wpcf7 input[type="submit"],
.wpcf7-submit {
  background: #ffc107;
  color: #1a237e;
  border: none;
  padding: 12px 32px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  font-family: 'Cabin', sans-serif;
  transition: all 0.2s;
  align-self: flex-start;
}

.wpcf7 input[type="submit"]:hover {
  background: #ffca28;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255,193,7,0.4);
}

/* ==========================================================================
   28. FOOTER
   ========================================================================== */

#footer,
.footer_color {
  background: #0d1247;
  color: #fff;
  padding: 48px 0 24px;
}

#footer .container {
  max-width: 1200px;
}

#footer .widget {
  padding: 0;
}

#footer .widgettitle {
  color: #ffc107;
  border-bottom-color: rgba(255,255,255,0.1);
}

#footer a {
  color: rgba(255,255,255,0.7);
}

#footer a:hover {
  color: #fff;
}

#footer .widget li {
  border-color: rgba(255,255,255,0.05);
}

/* Socket (bottom footer bar) */
#socket,
.socket_color {
  background: #0a0e38;
  color: rgba(255,255,255,0.6);
  padding: 20px 0;
  font-size: 14px;
  border-top: 1px solid rgba(255,255,255,0.08);
}

#socket .container {
  max-width: 1200px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.copyright {
  font-size: 13px;
  opacity: 0.7;
}

.copyright a {
  color: rgba(255,255,255,0.8) !important;
  text-decoration: none;
}

.copyright a:hover {
  color: #ffc107 !important;
}

/* Socket navigation */
.sub_menu_socket {
  display: flex;
  align-items: center;
}

.sub_menu_socket .avia3-menu,
.sub_menu_socket ul.menu,
#avia3-menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 4px;
}

.sub_menu_socket li,
#avia3-menu li {
  float: none;
  margin: 0;
  padding: 0;
  border: none;
}

.sub_menu_socket a,
#avia3-menu a {
  color: rgba(255,255,255,0.6) !important;
  font-size: 13px;
  padding: 4px 10px;
  text-decoration: none;
  border-radius: 4px;
  transition: all 0.2s;
  display: inline-block;
}

.sub_menu_socket a:hover,
#avia3-menu a:hover {
  color: #fff !important;
  background: rgba(255,255,255,0.08);
}

/* ==========================================================================
   29. SIDEBAR ELEMENTS
   ========================================================================== */

/* Sidebar (when present) */
.sidebar_left .sidebar,
.sidebar_right .sidebar {
  display: none;
}

/* On pages with sidebar, hide the sidebar since layout is broken */
.sidebar_left .content,
.sidebar_right .content {
  width: 100% !important;
  float: none !important;
  border: none !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.sidebar_left .content .entry-content-wrapper,
.sidebar_right .content .entry-content-wrapper {
  padding-right: 0;
  padding-left: 0;
}

/* Select dropdown (country/category filter) */
.dropdown_product_cat,
select.dropdown_product_cat {
  width: 100%;
  max-width: 400px;
  padding: 10px 14px;
  border: 1px solid #d0d0d0;
  border-radius: 6px;
  font-size: 15px;
  font-family: 'Cabin', sans-serif;
  background: #fff;
  color: #333;
  appearance: auto;
  margin: 16px 0;
}

/* ==========================================================================
   30. SOCIAL SHARE
   ========================================================================== */

.av-social-sharing-box {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 24px 0;
  padding: 16px 0;
  border-top: 1px solid #e8e8e8;
}

.av-social-sharing-box a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #f0f0f0;
  color: #666;
  text-decoration: none;
  transition: all 0.2s;
}

.av-social-sharing-box a:hover {
  background: #1a237e;
  color: #fff;
}

/* ==========================================================================
   31. BREADCRUMB
   ========================================================================== */

.avia-breadcrumbs {
  padding: 12px 0;
  font-size: 14px;
  color: #888;
}

.avia-breadcrumbs a {
  color: #1565c0;
  text-decoration: none;
}

.avia-breadcrumbs a:hover {
  text-decoration: underline;
}

.avia-breadcrumbs .sep {
  padding: 0 6px;
  opacity: 0.5;
}

/* ==========================================================================
   32. PAGINATION
   ========================================================================== */

.pagination,
.nav-links {
  display: flex;
  justify-content: center;
  gap: 4px;
  margin: 32px 0;
  flex-wrap: wrap;
}

.pagination a,
.pagination span,
.nav-links a,
.nav-links span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s;
}

.pagination a,
.nav-links a {
  background: #f0f0f0;
  color: #333;
}

.pagination a:hover,
.nav-links a:hover {
  background: #1a237e;
  color: #fff;
}

.pagination .current,
.nav-links .current {
  background: #1a237e;
  color: #fff;
}

/* ==========================================================================
   33. GALLERY
   ========================================================================== */

.avia-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
  margin: 24px 0;
}

.avia-gallery-thumb {
  overflow: hidden;
  border-radius: 6px;
}

.avia-gallery-thumb img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease;
}

.avia-gallery-thumb:hover img {
  transform: scale(1.05);
}

/* ==========================================================================
   34. TEAM / TESTIMONIALS
   ========================================================================== */

.avia-team-member {
  text-align: center;
  padding: 24px;
}

.avia-team-member img {
  border-radius: 50%;
  width: 120px;
  height: 120px;
  object-fit: cover;
  margin-bottom: 16px;
}

.team-member-name {
  font-weight: 700;
  color: #1a237e;
  font-size: 18px;
}

.team-member-job-title {
  font-size: 14px;
  color: #888;
}

.avia-testimonial {
  padding: 24px;
  background: #f8f9fa;
  border-radius: 12px;
  margin: 16px 0;
  border-left: 4px solid #1a237e;
}

.avia-testimonial-content {
  font-style: italic;
  line-height: 1.7;
  margin-bottom: 12px;
}

.avia-testimonial-name {
  font-weight: 700;
  color: #1a237e;
}

/* ==========================================================================
   35. PROGRESS BARS
   ========================================================================== */

.avia-progress-bar {
  margin: 16px 0;
}

.avia-progress-bar .progressbar-title {
  font-weight: 600;
  margin-bottom: 8px;
  display: flex;
  justify-content: space-between;
}

.avia-progress-bar .progress {
  height: 12px;
  background: #e8eaf6;
  border-radius: 6px;
  overflow: hidden;
}

.avia-progress-bar .bar {
  height: 100%;
  background: #1a237e;
  border-radius: 6px;
  transition: width 0.6s ease;
}

/* ==========================================================================
   36. GOOGLE MAPS
   ========================================================================== */

.avia-google-map-container {
  width: 100%;
  height: 400px;
  background: #e8e8e8;
  border-radius: 8px;
  overflow: hidden;
  margin: 24px 0;
}

/* ==========================================================================
   37. VIDEO
   ========================================================================== */

.avia-video {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: 8px;
  margin: 24px 0;
}

.avia-video iframe,
.avia-video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ==========================================================================
   38. MASONRY / PORTFOLIO GRID
   ========================================================================== */

.av-masonry {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
  margin: 24px 0;
}

.av-masonry-entry {
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  transition: all 0.2s;
}

.av-masonry-entry:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  transform: translateY(-4px);
}

/* ==========================================================================
   39. MAGAZINE / POST SLIDER
   ========================================================================== */

.av-magazine-element {
  margin: 24px 0;
}

.av-postslider {
  margin: 24px 0;
}

/* ==========================================================================
   40. COUNTDOWN
   ========================================================================== */

.avia-countdown {
  display: flex;
  gap: 16px;
  justify-content: center;
  margin: 24px 0;
  flex-wrap: wrap;
}

.avia-countdown-cell {
  text-align: center;
  background: #f8f9fa;
  padding: 16px 24px;
  border-radius: 8px;
}

.avia-countdown-number {
  font-size: 36px;
  font-weight: 700;
  color: #1a237e;
  display: block;
}

.avia-countdown-label {
  font-size: 13px;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* ==========================================================================
   41. MISC ENFOLD ELEMENTS
   ========================================================================== */

/* Color sections */
.main_color {
  background: #fff;
  color: #333;
}

.main_color h1, .main_color h2, .main_color h3, .main_color h4 {
  color: #1a237e;
}

.main_color a {
  color: #1565c0;
}

.alternate_color {
  background: #2e537c;
  color: #fff;
}

.alternate_color h1, .alternate_color h2, .alternate_color h3, .alternate_color h4 {
  color: #fff;
}

.alternate_color a {
  color: #ffc107;
}

.header_color {
  background: #1a237e;
  color: #fff;
}

/* Minimum height sections */
.av-minimum-height {
  display: flex;
  align-items: center;
}

.av-minimum-height-75 {
  min-height: 50vh;
}

.av-minimum-height-100 {
  min-height: 80vh;
}

/* Arrow down section */
.av-arrow-down-section::after {
  display: none;
}

/* Fullsize container */
.fullsize {
  width: 100%;
}

/* No margin classes */
.no_margin {
  margin: 0;
}

/* Site preloader - hide */
.av-siteloader {
  display: none !important;
}

/* WordPress emoji (inline) */
img.wp-smiley,
img.emoji {
  display: inline !important;
  border: none !important;
  box-shadow: none !important;
  height: 1em !important;
  width: 1em !important;
  margin: 0 0.07em !important;
  vertical-align: -0.1em !important;
  background: none !important;
  padding: 0 !important;
}

/* Dropcap */
.av-dropcap {
  float: left;
  font-size: 3em;
  line-height: 1;
  margin: 0 12px 0 0;
  font-weight: 700;
  color: #1a237e;
}

/* Magazine module */
.av-magazine-hero {
  margin-bottom: 24px;
}

/* Search form fallback */
#searchform {
  display: flex;
  gap: 8px;
}

#searchform input[type="text"] {
  flex: 1;
  padding: 8px 12px;
  border: 1px solid #d0d0d0;
  border-radius: 6px;
  font-size: 15px;
}

#searchform input[type="submit"] {
  background: #1a237e;
  color: #fff;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0;
  width: 40px;
}

/* Popup / Lightbox CSS */
.mfp-bg {
  background: rgba(0,0,0,0.8);
}

/* Hidden elements that shouldn't display */
.hidden,
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
}

/* ==========================================================================
   42. LITESPEED / LAZY LOADING COMPATIBILITY
   ========================================================================== */

/* litespeed/javascript type scripts won't execute - that's expected */
script[type="litespeed/javascript"] {
  display: none;
}

/* Lazy loading images - show them immediately */
img[data-lazyloaded],
img.litespeed-lazyloaded {
  opacity: 1 !important;
}

/* ==========================================================================
   43. WORDPRESS COMMON ELEMENTS
   ========================================================================== */

/* Alignment */
.alignleft {
  float: left;
  margin: 0 1.5em 1em 0;
}

.alignright {
  float: right;
  margin: 0 0 1em 1.5em;
}

.aligncenter {
  display: block;
  margin: 1em auto;
}

/* WordPress captions */
.wp-caption {
  max-width: 100%;
  margin: 1em 0;
}

.wp-caption img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}

.wp-caption-text {
  font-size: 13px;
  color: #888;
  padding: 8px 0;
  text-align: center;
}

/* WordPress gallery */
.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 8px;
  margin: 1em 0;
}

.gallery-item {
  margin: 0;
}

.gallery-item img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}

/* WordPress blocks */
.wp-block-image {
  margin: 1em 0;
}

.wp-block-image img {
  max-width: 100%;
  height: auto;
}

/* ==========================================================================
   44. RESPONSIVE - TABLET (768px - 989px)
   ========================================================================== */

@media only screen and (min-width: 768px) and (max-width: 989px) {
  .container {
    max-width: 100%;
    padding: 0 20px;
  }

  #header_main .container {
    height: 60px;
  }

  /* Show hamburger, hide regular nav */
  .av-burger-menu-main {
    display: flex;
    align-items: center;
  }

  .av-main-nav > li.menu-item:not(.menu-item-avia-special) {
    display: none;
  }

  .av-main-nav > li.menu-item-avia-special {
    display: flex;
  }

  /* Grid columns collapse */
  .av_one_third,
  .av_one_fourth,
  .av_one_fifth {
    width: calc(50% - 12px);
    flex: 0 0 calc(50% - 12px);
  }

  .av_two_third,
  .av_three_fourth,
  .av_two_fifth,
  .av_three_fifth,
  .av_four_fifth {
    width: 100%;
    flex: 0 0 100%;
  }

  /* WooCommerce grid */
  ul.products {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }

  .avia-section-large {
    padding: 40px 0;
  }
}

/* ==========================================================================
   45. RESPONSIVE - MOBILE (max 767px)
   ========================================================================== */

@media only screen and (max-width: 767px) {
  .container {
    max-width: 100%;
    padding: 0 16px;
  }

  #header_main .container {
    height: 56px;
  }

  .logo img {
    height: 36px;
    max-height: 36px;
  }

  /* Show hamburger, hide regular nav */
  .av-burger-menu-main {
    display: flex;
    align-items: center;
  }

  .av-main-nav > li.menu-item:not(.menu-item-avia-special) {
    display: none;
  }

  .av-main-nav > li.menu-item-avia-special {
    display: flex;
  }

  /* Remove menu-item-search on mobile too */
  .noMobile {
    display: none !important;
  }

  /* Grid columns go full width */
  .flex_column_table,
  .av-equal-height-column-flextable,
  [class*="-flextable"] {
    flex-direction: column;
    gap: 16px;
  }

  .av_one_half,
  .av_one_third,
  .av_two_third,
  .av_one_fourth,
  .av_three_fourth,
  .av_one_fifth,
  .av_two_fifth,
  .av_three_fifth,
  .av_four_fifth {
    width: 100%;
    flex: 0 0 100%;
  }

  /* Sections */
  .avia-section-large {
    padding: 32px 0;
  }

  .avia-section-small {
    padding: 20px 0;
  }

  /* WooCommerce grid */
  ul.products {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 12px;
  }

  .woocommerce-loop-category__title {
    padding: 12px;
    font-size: 14px;
  }

  .product-category > a > img,
  li.product > a > img {
    height: 140px;
  }

  /* Socket footer */
  #socket .container {
    flex-direction: column;
    text-align: center;
  }

  .sub_menu_socket .avia3-menu,
  .sub_menu_socket ul.menu,
  #avia3-menu {
    flex-wrap: wrap;
    justify-content: center;
  }

  /* Tables - horizontal scroll */
  table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Blog */
  .big-preview {
    padding: 0 0 10px;
  }

  .blog-meta {
    display: none;
  }

  /* Content */
  .content .entry-content-wrapper {
    padding: 0;
  }

  .content {
    border: none;
    padding: 24px 0;
  }

  /* Sidebar hidden on mobile */
  .sidebar {
    display: none;
  }

  /* Animated numbers smaller */
  .avia-animated-number-title {
    font-size: 32px;
  }

  /* Contact form */
  .wpcf7 input[type="submit"] {
    width: 100%;
  }

  /* Pagination */
  .pagination,
  .nav-links {
    gap: 4px;
  }

  .pagination a,
  .pagination span,
  .nav-links a,
  .nav-links span {
    min-width: 36px;
    height: 36px;
    font-size: 13px;
  }
}

/* ==========================================================================
   46. RESPONSIVE - SMALL MOBILE (max 480px)
   ========================================================================== */

@media only screen and (max-width: 480px) {
  h1 { font-size: 24px; }
  h2 { font-size: 20px; }
  h3 { font-size: 18px; }

  ul.products {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .woocommerce-loop-category__title {
    padding: 10px;
    font-size: 13px;
    gap: 8px;
  }

  .woocommerce-loop-category__title img.drapeau-pays {
    width: 24px !important;
  }

  .product-category > a > img,
  li.product > a > img {
    height: 110px;
  }

  .avia-button,
  a.avia-button {
    padding: 10px 20px;
    font-size: 14px;
    width: 100%;
    text-align: center;
  }
}

/* ==========================================================================
   47. PRINT STYLES
   ========================================================================== */

@media print {
  #header,
  #footer,
  .footer_color,
  #socket,
  .socket_color,
  .av-burger-menu-main,
  .main_menu,
  #scroll-top-link,
  body > div:first-child:not(#wrap_all):not(#top) {
    display: none !important;
  }

  body {
    font-size: 12pt;
    color: #000;
    background: #fff;
  }

  a {
    color: #000;
    text-decoration: underline;
  }

  .container {
    max-width: 100%;
    padding: 0;
  }

  .avia-section {
    padding: 12pt 0;
  }
}

/* ==========================================================================
   48. OVERRIDES FOR INLINE STYLES (common patterns in Wayback pages)
   ========================================================================== */

/* Some pages have inline color:white on sections - ensure readability */
.avia-section[style*="color:#ffffff"] h1,
.avia-section[style*="color:#ffffff"] h2,
.avia-section[style*="color:#ffffff"] h3,
.avia-section[style*="color:#ffffff"] p,
.avia-section[style*="color: #ffffff"] h1,
.avia-section[style*="color: #ffffff"] h2,
.avia-section[style*="color: #ffffff"] h3,
.avia-section[style*="color: #ffffff"] p {
  color: inherit;
}

/* Nested h1 inside h1 (common Enfold builder pattern) */
h1 h1 {
  font-size: inherit;
  margin: 0;
  padding: 0;
}

/* Fix double scrollbar from stretched HTML */
html.html_stretched {
  overflow-x: hidden;
}

/* RTL columns layout support */
body.rtl_columns {
  direction: ltr;
}
