/* 
Theme Name:		 mehdi zafari
Theme URI:		 http://childtheme-generator.com/
Description:	 goodman-estate-law is a child theme of GeneratePress, created by ChildTheme-Generator.com
Author:			 Shailendra Verma
Author URI:		 http://childtheme-generator.com/
Template:		 generatepress
Version:		 1.0.0
Text Domain:	 mehdi zafari
*/
#sp-testimonial-free-wrapper-961 .tfree-grid-items{padding-top:40px !important;}
/* ====================================
   CUSTOM TOP BAR STYLE aur iska aur code functions.php me hai 
==================================== */

.no-sidebar .entry-content .alignfull{
max-width:100% !important;width:100% !important;margin:0px !important;
}


.custom-topbar {
    background: #ffffff;
    border-bottom: 1px solid #ddd;
    padding: 4px 0;
}

.custom-topbar-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Font setup */
.custom-topbar,
.custom-topbar * {
    font-family: "Manrope", sans-serif !important;
    color: #113d48 !important;
    font-weight: 500 !important;
}

/* Left / Center / Right layouts */
.tb-left, .tb-right, .tb-center {
    display: flex;
    align-items: center;
    gap: 25px;
}

.tb-item {
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}
/* Make every icon + text perfectly center aligned */
.tb-item {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;   /* spacing between icon and text */
}

/* Icon wrapper */
.tb-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* ---------- ICON SHAKE ON PAGE LOAD (no hover) ---------- */

/* Keyframes: subtle shake (translate + small rotate) */
@keyframes tb-shake {
  0%   { transform: translateX(0) rotate(0deg); }
  15%  { transform: translateX(-4px) rotate(-3deg); }
  30%  { transform: translateX(3px)  rotate(2deg); }
  45%  { transform: translateX(-2px) rotate(-1deg); }
  60%  { transform: translateX(2px)  rotate(1deg); }
  75%  { transform: translateX(-1px) rotate(-0.5deg); }
  100% { transform: translateX(0)   rotate(0deg); }
}

/* Apply to both img and svg inside .tb-icon */
.tb-icon img,
.tb-icon svg {
  /* run once on load, ease-in-out, keep final state (which is original) */
  animation: tb-shake 0.8s ease-in-out 1 both;
  /* make transform origin center so rotation looks natural */
  transform-origin: center center;
}

/* OPTIONAL: small delay between icons so they shake in sequence
   Remove or adjust delays as you like (0.05s, 0.15s, 0.25s) */

/* first icon (address) */
.custom-topbar .tb-left .tb-item:nth-child(1) .tb-icon img,
.custom-topbar .tb-left .tb-item:nth-child(1) .tb-icon svg {
  animation-delay: 0.05s;
}
/* second icon (timing) */
.custom-topbar .tb-left .tb-item:nth-child(2) .tb-icon img,
.custom-topbar .tb-left .tb-item:nth-child(2) .tb-icon svg {
  animation-delay: 0.15s;
}
/* phone icon (center) */
.custom-topbar .tb-center .tb-item .tb-icon img,
.custom-topbar .tb-center .tb-item .tb-icon svg {
  animation-delay: 0.25s;
}

/* If you want the shake to repeat N times, change animation property:
   animation: tb-shake 0.8s ease-in-out 2 both;
   or use infinite (but be careful — repeating indefinitely can be annoying).
*/

/* Icon image size */
.tb-icon img {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
    object-fit: contain !important;
}

/* LINK COLOR */
.tb-link {
    color: #113d48 !important;
    text-decoration: none !important;
}
.tb-link:hover {
    opacity: 0.7;
}

/* ICONS */
.tb-icon img {
    width: 20px;
    height: 20px;
	vertical-align: middle !important;
	
}

/* SOCIAL ICON WRAPPER (circle) */
.social-icon {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: transform .3s ease;
}

/* SVG ICON SIZE */
.social-icon svg {
    width: 16px;
    height: 16px;
    fill: #ffffff !important;
}

/* BRAND COLORS */
.social-icon.fb  { background: #1877F2; }                     /* Facebook Blue */
.social-icon.ig  { background: linear-gradient(45deg,#F58529,#DD2A7B,#8134AF,#515BD4); } /* Instagram gradient */
.social-icon.yt  { background: #FF0000; }                     /* YouTube Red */
.social-icon.tw  { background: #000000; }                     /* X / Twitter Black */

/* HOVER ANIMATION */
.social-icon:hover {
    transform: scale(1.15) rotate(20deg);
}

/* ====================================
   GTRANSLATE DROPDOWN STYLE
==================================== */

.tb-gt select,
.tb-gt .glink,
.tb-gt .gt_selector,
.tb-gt .gt-selected {
    padding: 3px 10px !important;
    border-radius: 20px !important;
    border: 1px solid #ccc !important;
    background: #ffffff !important;
    color: #113d48 !important;
    font-size: 12px !important;
}

/* Hide Google logo elements */
.goog-te-gadget-icon,
.goog-te-banner-frame,
.goog-te-banner,
#google_translate_element2 img {
    display: none !important;
}
body { top:0 !important; }

/* ===========================
   MOBILE VIEW
=========================== */
@media (max-width: 768px){

    .tb-left,
    .tb-gt {
        display: none !important;
    }

    .custom-topbar-container {
        justify-content: space-between;
    }

    .tb-center { order: 1; }
    .tb-right { order: 2; }
}

/* ====================================
   End of CUSTOM TOP BAR STYLE
==================================== */

/*==================================
   GLOBAL HEADER HEIGHT FIX
==================================*/
.site-header {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

/* Inside header spacing reduce */
.inside-header {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    align-items: center !important;
    display: flex !important;
}

/* LOGO resize desktop */
.site-logo img {
    max-height: 60px !important;
    width: auto !important;
}

/*==================================
   TABLET VIEW
==================================*/
@media (max-width: 1024px) {
    .inside-header {
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }

    .site-logo img {
        max-height: 50px !important;
    }
}

/*==================================
   MOBILE VIEW
==================================*/
@media (max-width: 768px) {
    .inside-header {
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }

    .site-logo img {
        max-height: 45px !important;
    }
}
/*ye code sirf logo aur site title ke liye hai colour change krna site title ka aur spacing between logo and title */
/* REMOVE EXTRA SPACE BETWEEN LOGO & TEXT */
.site-branding-container {
    display: flex !important;
    align-items: center !important;
    gap: 0px !important; /* Gap remove */
}

.site-logo {
    margin-right: 0 !important;
}

.site-branding {
    margin-left: 5px !important; /* Thoda gap clean look ke liye */
    padding: 0 !important;
}

.site-logo img {
    display: block !important;
}
/* SITE TITLE COLOR */
.site-branding .main-title a {
    color: #1ca8cb !important;
}

/* SITE TAGLINE COLOR */
.site-branding .site-description {
    color: #113d48 !important;
}

/*====================================
   MAIN MENU ITEM SPACING REDUCE
====================================*/

/* Remove horizontal padding between menu items */
.main-navigation .main-nav ul li a {
    padding-left: 8px !important;
    padding-right: 8px !important;
}

/* Remove any margin that GP adds */
.main-navigation .main-nav ul li {
    margin: 0 !important;
}

/* Sub-menu ke liye thoda clean padding */
.main-navigation .main-nav ul ul li a {
    padding: 6px 10px !important;
}

.main-navigation .dropdown-menu-toggle {
    padding-right: 0px !important;
    padding-left: 0px !important;
}

/* MAIN MENU UNDERLINE EFFECT */
.main-navigation .main-nav ul li > a {
    position: relative;
    overflow: hidden; /* underline clean rakhne ke liye */
}

/* Before = underline */
.main-navigation .main-nav ul li > a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0; /* text ke bilkul neeche underline */
    width: 0%;
    height: 2px;              /* underline thickness */
    background-color: #1ca8cb;   /* underline color black */
    transition: width 0.3s ease-in-out;
}

/* Hover = underline expands left → right */
.main-navigation .main-nav ul li > a:hover::after,
.main-navigation .main-nav ul li.current-menu-item > a::after {
    width: 100%;
}

/* Hover hatate hi underline gayab */
.main-navigation .main-nav ul li > a:not(:hover)::after {
    width: 0%;
}

/* Hide on Mobile + Tablet */
@media (max-width: 1024px) {
    .hide-mobile-tablet {
        display: none !important;
    }
}

/* ============================
  Sticky Header + Topbar Behaviour
  - Topbar: visible on page top, hide on scroll
  - Header: initially normal; after 2 wheel-scrolls (or threshold) -> slide down and become sticky
  - Mobile: header height slightly reduced (logo unchanged)
  Slide speed: 0.4s (medium)
 ============================*/

/* --- Topbar hide/show --- */
.custom-topbar {
  transition: transform 0.25s ease, opacity 0.25s ease;
  will-change: transform, opacity;
  z-index: 900; /* lower than sticky header */
  position: relative; /* keep normal flow by default */
}

/* When hidden (on scroll down) we move it up out of view */
.custom-topbar.topbar-hidden {
  transform: translateY(-110%);
  opacity: 0;
  pointer-events: none;
}

/* Ensure header is above topbar when sticky */
.site-header {
  transition: none; /* we'll animate when activating sticky */
  z-index: 998;
  position: relative; /* default state */
}

/* Sticky active class added by JS */
.site-header.sticky-active {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 9999 !important; /* above everything */
  animation: gp-header-slide 0.4s ease forwards;
  -webkit-backdrop-filter: blur(0); /* avoid weird artifacts */
  box-shadow: 0 6px 18px rgba(17,61,72,0.08);
}

/* slide animation from top */
@keyframes gp-header-slide {
  0% {
    transform: translateY(-100%);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

/* When header is sticky, ensure inner spacing looks good */
.site-header.sticky-active .inside-header {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

/* Keep the topbar under sticky header (just in case) */
.custom-topbar {
  z-index: 1000;
}

/* Optional: slightly reduce header widget visibility on sticky to keep compact look */
.site-header.sticky-active .header-widget {
  opacity: 1;
  transition: opacity 0.3s ease;
}

/* --- Mobile tweaks: reduce header height slightly without changing logo size --- */
@media (max-width: 768px) {
  /* Decrease vertical padding (this reduces header height) */
  .inside-header {
    padding-top: 6px !important;   /* originally you had ~6; keep slightly smaller if needed */
    padding-bottom: 6px !important;
    align-items: center !important;
  }

  /* If you want it even slimmer on very small screens, uncomment next lines */
  /* .inside-header { padding-top: 4px !important; padding-bottom: 4px !important; } */

  /* Ensure logo keeps its visual scale (we reduce container padding, not logo) */
  .site-logo img {
    max-height: 50px !important; /* previously 45/50/60 responsive — keep it comfortable */
    width: auto !important;
  }

  /* We keep mobile menu and social icons functioning — topbar show/hide handled by JS */
}

/* --- Ensure there is no content jump when header becomes fixed — JS will set body padding-top dynamically.
   But add a safe fallback for very old browsers: */
.site-header.sticky-active ~ .site-content,
.site-header.sticky-active + .wrapper,
.site-header.sticky-active + .inside-container {
  /* fallback spacing if JS doesn't run; small value */
  padding-top: 60px;
}

/* --- Accessibility & small polish --- */
.site-header, .inside-header {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  backface-visibility: hidden;
}
/*--------------------------------------------------------------------------------------------------------------*/
/* -------- TOP DOTS (Auto Attach to Stats Column) -------- */
.stats-col {
    position: relative;
}

/* Dark dot */
.stats-col::before {
    content: "";
    width: 13px;
    height: 13px;
    background: #1ca8cb;
    border-radius: 50%;
    position: absolute;
    top: -7px;               /* vertical position */
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

/* Light pulse dot */
.stats-col::after {
    content: "";
    width: 26px;
    height: 26px;
    background: rgba(28,168,203,0.25);
    border-radius: 50%;
    position: absolute;
    top: -12px;               /* vertical position */
    left: 50%;
    transform: translateX(-50%);
    animation: pulseDot 2s infinite ease-in-out;
}

/* --- Pulse animation --- */
@keyframes pulseDot {
    0% { transform: translateX(-50%) scale(1); opacity: 1; }
    50% { transform: translateX(-50%) scale(1.35); opacity: 0.7; }
    100% { transform: translateX(-50%) scale(1); opacity: 1; }
}

/* -------- OPTIONAL: ADJUST DOT POSITION PER COLUMN -------- */
.stats-col.custom-left::before,
.stats-col.custom-left::after {
    left: 40% !important;   /* move dot left */
}

.stats-col.custom-right::before,
.stats-col.custom-right::after {
    left: 60% !important;   /* move dot right */
}

.animated-counter { font-size: 48px !important; /* Change as needed */ font-weight: 700 !important; /* Bold */ color: #113d48 !important; /* Match your theme color */ line-height: 1.2 !important; display: block; text-align: center; }

.btn-auto {
    width: auto !important;
    display: inline-flex !important;
    max-width: max-content !important;
}

/*Image Zoom Class*/
.img-zoom-box {
  overflow: hidden;
  display: inline-block;
  border-radius: 25px 0 25px 0;  /* TL TR BR BL */
}

.img-zoom-box img {
  width: 100%;
  transition: transform 0.5s ease; /* smooth zoom */
  display: block;
}

/* Hover zoom */
.img-zoom-box:hover img {
  transform: scale(1.25); /* bigger zoom */
}


.flip-shake-box img {
  transition: transform 1.5s ease; /* smooth flip */
  transform-style: preserve-3d;
}

/* Shake animation always */
.flip-shake-box img {
  animation: shake 5s ease-in-out infinite;
}

/* Shake animation keyframes */
@keyframes shake {
  0%, 92% { transform: translateX(0); }
  94% { transform: translateX(-5px); }
  96% { transform: translateX(5px); }
  98% { transform: translateX(-5px); }
  100% { transform: translateX(0); }
}

/* IMAGE को white circular background देना */
.uagb-ifb-image-content {
    width: 110px;
    height: 110px;
    background: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px auto;
    overflow: hidden;
    transition: transform 0.6s ease, box-shadow 0.3s ease;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

/* अंदर की image को flip animation के लिए तैयार करें */
.uagb-ifb-image-content img {
    width: 60px !important;
    height: 60px !important;
    transition: transform 0.6s ease;
    transform-style: preserve-3d;
}

/* HOVER EFFECT — पूरा circle थोड़ा lift हो */
.uagb-info-box:hover .uagb-ifb-image-content,
.wp-block-uagb-info-box:hover .uagb-ifb-image-content {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

/* HOVER पर IMAGE का 180-degree flip */
.uagb-info-box:hover .uagb-ifb-image-content img,
.wp-block-uagb-info-box:hover .uagb-ifb-image-content img {
    transform: rotateY(180deg);
}
/*-----------------------------------------*/

.float-currency-icon {
    position: fixed;
    left: 20px;
    top: 200px;
    z-index: 999999;
    background: none !important;   /* Remove background */
    padding: 0 !important;         /* Remove padding */
    border-radius: 0 !important;   /* Remove round shape */
    cursor: grab;
    user-select: none;
    transition: transform 0.25s ease;
    animation: bounceIcon 1.8s infinite ease-in-out;
}

/* Bounce animation */
@keyframes bounceIcon {
    0% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
    100% { transform: translateY(0); }
}

.float-currency-icon:active {
    cursor: grabbing;
    transform: scale(1.12);
}

/* Icon Image */
.float-currency-icon img {
    width: 60px;         /* Bigger icon (change if needed) */
    height: 60px;
    object-fit: contain;
    pointer-events: none; /* Needed for drag */
}



/* Popup Box */
.currency-popup {
    display: none;
    position: fixed;
    left: 70px;
    top: 50%;
    transform: translateY(-50%);
    background: #ffffff;
    width: 300px;
    padding: 20px;
    border-radius: 15px;
    box-shadow: 0 4px 25px rgba(0,0,0,0.3);
    z-index: 999999;
}

.close-popup {
    float: right;
    cursor: pointer;
    font-size: 20px;
    font-weight: bold;
}


/*--------------Meta Slider Start---------*/
/* Remove all extra top/bottom spacing around MetaSlider */
#metaslider-id-937,
#metaslider_container_937,
#metaslider_937 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Remove default LI slide margin */
#metaslider_937 .slides li {
    margin: 0 !important;
}

/* Remove image bottom gap */
#metaslider_937 img {
    display: block !important;
}

#metaslider_937 .flexslider,
#metaslider_937 .flex-viewport,
#metaslider_937 .slides li,
#metaslider_937 .slides img {
    border-radius: 15px !important;
    overflow: hidden !important;
}

/* Smooth animation */
#metaslider_937 .slides img {
    transition: transform 0.4s ease !important;
}

/* Zoom only on hover */
#metaslider_937 .slides img:hover {
    transform: scale(1.06) !important;
}

/* FORCE MetaSlider to enlarge images on mobile & tablet */
@media (max-width: 1024px) {

    /* Slider wrapper should stretch */
    #metaslider_937 .flex-viewport {
        height: auto !important;
    }

    /* Each slide should take full width */
    #metaslider_937 .slides li {
        width: 100% !important;
        margin-right: 0 !important;
    }

    /* Images fully responsive */
    #metaslider_937 .slides img {
        width: 100% !important;
        height: auto !important;
        max-height: 220px !important; /* You can increase this */
        object-fit: contain !important;
    }
}

/* For small mobile */
@media (max-width: 768px) {
    #metaslider_937 .slides img {
        max-height: 180px !important;
    }
}
/*--------------Meta Slider End---------*/


/* =====================================================
   GLOBAL FOOTER LAYOUT CONTROL (Easy Editable)
===================================================== */
:root {
    --footer-padding-x: 15px;      /* Left + Right padding */
    --footer-gap: 20px;            /* Widget gap */
    --footer-widget-1: 25%;        /* Width controls */
    --footer-widget-2: 25%;
    --footer-widget-3: 25%;
    --footer-widget-4: 25%;
    --footer-section-padding: 0px 0; /* Top-bottom spacing for each widget container */
}

/* =====================================================
   FULL-WIDTH FOOTER (Only 15px side padding)
===================================================== */
#footer-widgets,
#footer-widgets .footer-widgets-container,
#footer-widgets .inside-footer-widgets {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: var(--footer-padding-x) !important;
    padding-right: var(--footer-padding-x) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* =====================================================
   FLEX WRAPPER FOR 4 COLUMNS
===================================================== */
.footer-widgets-container .inner-padding {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: var(--footer-gap) !important;
    padding: var(--footer-section-padding) !important;
}

/* =====================================================
   INDIVIDUAL WIDGET WIDTHS (Editable)
===================================================== */
.footer-widget-1 { width: var(--footer-widget-1) !important; }
.footer-widget-2 { width: var(--footer-widget-2) !important; }
.footer-widget-3 { width: var(--footer-widget-3) !important; }
.footer-widget-4 { width: var(--footer-widget-4) !important; }

/* Prevent GP from forcing widget max-width */
.footer-widgets-container .footer-widget-1,
.footer-widgets-container .footer-widget-2,
.footer-widgets-container .footer-widget-3,
.footer-widgets-container .footer-widget-4 {
    flex-grow: 0 !important;
    flex-basis: unset !important;
    max-width: none !important;
}

/* =====================================================
   MOBILE RESPONSIVE
===================================================== */
@media (max-width: 768px) {
    .footer-widgets-container .inner-padding {
        flex-direction: column !important;
        gap: 25px !important;
    }

    .footer-widgets-container .footer-widget-1,
    .footer-widgets-container .footer-widget-2,
    .footer-widgets-container .footer-widget-3,
    .footer-widgets-container .footer-widget-4 {
        width: 100% !important;
    }
}

/* =====================================================
   FOOTER HEADING UNDERLINE
===================================================== */
#footer-widgets h4 {
    position: relative !important;
    padding-bottom: 10px !important;
    margin-bottom: 10px !important;
}

#footer-widgets h4::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 20px !important;
    height: 3px !important;
    background: #fff !important;
    border-radius: 4px !important;
}





/* Remove table borders + spacing ONLY */
.footer-widget-2 table,
.footer-widget-3 table {
    border: none !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    background: transparent !important;
	
}

.footer-widget-2 table td,
.footer-widget-3 table td {
    border: none !important;
    padding: 6px 10px !important;  /* minimal clean spacing */
}

/* Remove WP default table outline / header styling */
.footer-widget-2 .wp-block-table.is-style-regular table,
.footer-widget-3 .wp-block-table.is-style-regular table {
    border: none !important;
    background: transparent !important;
}

/* Reduce gap between heading and table for Quick Links & Top Destinations */
.footer-widget-2 .wp-block-table,
.footer-widget-3 .wp-block-table {
    margin-top: 22px !important;   /* adjust this value */
}

/* Remove block/table default margins */
.footer-widget-2 .widget_block,
.footer-widget-3 .widget_block {
    margin-bottom: 0 !important;
}

.footer-widget-2 .wp-block-table table tbody,
.footer-widget-3 .wp-block-table table tbody {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* Remove underline from links inside Quick Links & Top Destinations tables */
.footer-widget-2 .wp-block-table a,
.footer-widget-3 .wp-block-table a {
    text-decoration: none !important;
    border: none !important;
    box-shadow: none !important;
}





/* --------------------------------------------------
   FOOTER BAR — Updated (Bigger Icons + Less Height + More Centered)
-------------------------------------------------- */

.footer-bar-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 40px !important;            /* Height reduce + left/right extra spacing */
    background: #ffffff;
    color: #113d48;
    font-size: 16px;
    gap: 20px;
    border-top: 1px solid #c7c7c7;
}

/* ---------------- LEFT: Payment Icons ---------------- */
.footer-payments {
    display: flex;
    align-items: center;
    gap: 12px;                    /* icon spacing */
}

.footer-label {
    font-weight: 600;
    margin-right: 5px;
}

/* BIGGER ICONS */
.footer-payments img {
    height: 30px !important;      /* increased from 22px → now larger */
    width: auto;
    object-fit: contain;
    display: inline-block;
    transition: 0.2s ease-in-out;
}

.footer-payments img:hover {
    transform: translateY(-2px);
    opacity: 0.85;
}

/* ---------------- CENTER TEXT ---------------- */
.footer-copy {
    flex-grow: 1;
    text-align: center;
    font-size: 17px;
}

/* ---------------- RIGHT: SOCIAL ICONS ---------------- */
.footer-social {
    display: flex;
    align-items: center;
    gap: 15px;                    /* more gap = clean look */
}

/* BIGGER SOCIAL ICONS */
.footer-social img {
    height: 30px !important;      /* increased from 22px */
    width: auto;
    object-fit: contain;
    display: inline-block;
    transition: 0.2s;
}

.footer-social img:hover {
    transform: scale(1.15);
    opacity: 0.85;
}

/* ---------------- MOBILE RESPONSIVE ---------------- */
@media (max-width: 768px) {
    .footer-bar-container {
        flex-direction: column;
        gap: 12px;
        padding: 12px 20px;       /* smaller padding on mobile */
        text-align: center;
    }

    .footer-payments,
    .footer-social {
        justify-content: center;
        flex-wrap: wrap;
    }
}

.site-info .inside-site-info {
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
}

/* ===== Newsletter Section ===== */

.newsletter-section {
    background: #113d48; /* same as footer dark teal */
	border-bottom: 1px solid #ffffff !important;
    padding: 60px 20px;
    width: 100%;
}

.newsletter-container {
    max-width: 1200px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 40px;
}

.newsletter-title {
    font-size: 42px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.2;
    margin: 0;
}

.newsletter-form {
    display: flex;
    align-items: center;
    gap: 15px;
}

.newsletter-input {
    padding: 16px 22px;
    width: 340px;
    border-radius: 50px;
    border: 2px solid #ffffff;
    background: transparent;
    color: #fff;
    font-size: 16px;
    outline: none;
}

.newsletter-input::placeholder {
    color: #d8d8d8;
}

.newsletter-btn {
    background: #1fb3d1;
    color: #fff;
    border: none;
    padding: 16px 28px;
    border-radius: 50px;
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    transition: 0.3s ease;
}

.newsletter-btn:hover {
    background: #1598b3;
    transform: translateY(-2px);
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .newsletter-container {
        text-align: center;
        justify-content: center;
    }

    .newsletter-form {
        flex-direction: column;
        width: 100%;
    }

    .newsletter-input {
        width: 100%;
    }

    .newsletter-btn {
        width: 100%;
        justify-content: center;
    }
}

/* All Pages title */
.page .wp-block-post-title {
    color: #ffff;
}

.custom-breadcrumb {
    display: inline-block;
    margin: 12px auto 25px;
    padding: 8px 16px;
    background: #113d48;
    color: #ffffff;
    font-size: 14px;
    border-radius: 6px;
    text-align: center;
}

.custom-breadcrumb a {
    color: #ffffff;
    text-decoration: none;
    font-weight: 500;
}

.custom-breadcrumb a:hover {
    text-decoration: underline;
}

.custom-breadcrumb .breadcrumb-sep {
    margin: 0 6px;
    color: #1ca8cb;
    font-weight: bold;
}

.custom-breadcrumb .current-page {
    color: #ffffff;
    font-weight: 600;
}

/*Image Zoom Class*/
.img-zoom-box-ra {
  overflow: hidden;
  display: inline-block;
  border-radius: 350px 350px 0px 300px;  /* TL TR BR BL */
}

.img-zoom-box-ra img {
  width: 100%;
  transition: transform 0.5s ease; /* smooth zoom */
  display: block;
}

/* Hover zoom */
.img-zoom-box-ra:hover img {
  transform: scale(1.25); /* bigger zoom */
}


.plane-container{
  width:1200px;
  height:650px;
  position:relative;
  overflow:hidden;
}

.plane{
  width:200px;
  position:absolute;
  left:-220px;
  animation:flyRandom 10s linear infinite;
}

@keyframes flyRandom{
  0%   {transform:translate(0,500px) rotate(8deg);opacity:0}
  10%  {opacity:1}
  25%  {transform:translate(300px,350px) rotate(2deg)}
  45%  {transform:translate(600px,200px) rotate(-3deg)}
  65%  {transform:translate(900px,300px) rotate(4deg)}
  85%  {transform:translate(1100px,150px) rotate(-6deg)}
  100% {transform:translate(1300px,80px) rotate(-10deg);opacity:0}
}
