/*
Theme Name: Kribizone Discovery
Theme URI: https://kribizone.com
Author: Kribizone Team
Description: Plateforme touristique de Kribi, Cameroun — Hébergements, activités, restaurants, packages et constructeur de séjour personnalisé.
Version: 1.0.0
Requires at least: 5.8
Requires PHP: 7.4
License: GPL v2 or later
Text Domain: kribizone-discovery
*/

:root{
  --ocean:#006D6F;--ocean-light:#E0F4F4;--ocean-dark:#004A4C;
  --sand:#F5A623;--sand-light:#FEF3DC;--sand-dark:#C4820E;
  --coral:#E85D3A;--coral-light:#FDE9E4;
  --white:#FFFFFF;--off-white:#F8F9FA;--gray-100:#F1F3F4;--gray-200:#E8EAED;--gray-400:#9AA0A6;--gray-600:#5F6368;--gray-800:#3C4043;--black:#202124;
  --shadow-sm:0 1px 3px rgba(0,0,0,.12);--shadow-md:0 4px 16px rgba(0,0,0,.12);--shadow-lg:0 8px 32px rgba(0,0,0,.15);
  --radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;
  --nav-h:72px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Poppins',sans-serif;color:var(--black);background:var(--white);overflow-x:hidden}
img{max-width:100%;object-fit:cover}
a{text-decoration:none;color:inherit}
button{cursor:pointer;font-family:'Poppins',sans-serif}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--gray-100)}
::-webkit-scrollbar-thumb{background:var(--ocean);border-radius:3px}

/* ── UTILITY ── */
.container{max-width:1280px;margin:0 auto;padding:0 24px}
.section{padding:80px 0}
.section-title{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;color:var(--black);margin-bottom:8px}
.section-sub{font-size:1rem;color:var(--gray-600);margin-bottom:48px}
.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}
.badge-ocean{background:var(--ocean-light);color:var(--ocean-dark)}
.badge-sand{background:var(--sand-light);color:var(--sand-dark)}
.badge-coral{background:var(--coral-light);color:var(--coral)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;border:none;transition:all .2s}
.btn-primary{background:var(--ocean);color:var(--white)}
.btn-primary:hover{background:var(--ocean-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-sand{background:var(--sand);color:var(--white)}
.btn-sand:hover{background:var(--sand-dark);transform:translateY(-1px)}
.btn-outline{background:transparent;color:var(--ocean);border:2px solid var(--ocean)}
.btn-outline:hover{background:var(--ocean);color:var(--white)}
.btn-ghost{background:rgba(255,255,255,.15);color:var(--white);border:1.5px solid rgba(255,255,255,.4)}
.btn-ghost:hover{background:rgba(255,255,255,.25)}
.see-more-wrap{text-align:center;margin-top:40px}

/* ══════════════════════════════════════
   LOADER
══════════════════════════════════════ */
#kz-loader{position:fixed;inset:0;background:var(--ocean-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;transition:opacity .6s,visibility .6s}
#kz-loader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.kz-loader-logo{font-family:'Playfair Display',serif;font-size:2.5rem;color:var(--white);margin-bottom:16px}
.kz-loader-logo span{color:var(--sand)}
.kz-loader-bar{width:200px;height:3px;background:rgba(255,255,255,.2);border-radius:2px;overflow:hidden}
.kz-loader-fill{height:100%;background:var(--sand);border-radius:2px;animation:kzLoadFill 1.4s ease forwards}
@keyframes kzLoadFill{from{width:0}to{width:100%}}

/* ══════════════════════════════════════
   TOP BAR
══════════════════════════════════════ */
.kz-topbar{background:var(--ocean-dark);color:rgba(255,255,255,.85);font-size:13px;padding:7px 0}
.kz-topbar-inner{max-width:1280px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap}
.kz-topbar-item{display:flex;align-items:center;gap:7px;color:rgba(255,255,255,.85);text-decoration:none;transition:color .2s;white-space:nowrap}
.kz-topbar-item:hover{color:var(--sand)}
.kz-topbar-item svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;fill:none;flex-shrink:0}
.kz-topbar-sep{width:1px;height:14px;background:rgba(255,255,255,.2);flex-shrink:0}
.kz-topbar-urgent{margin-left:auto;background:var(--coral);color:var(--white)!important;padding:3px 12px;border-radius:20px;font-size:12px;font-weight:600}
.kz-topbar-urgent:hover{background:#c84b2c;color:var(--white)!important}

/* ══════════════════════════════════════
   NAVBAR
══════════════════════════════════════ */
.kz-navbar{background:var(--white);border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:1000;box-shadow:0 2px 12px rgba(0,0,0,.07)}
.kz-navbar-inner{max-width:1280px;margin:0 auto;padding:0 20px;height:68px;display:flex;align-items:center;gap:4px}

/* Logo */
.kz-logo{font-family:'Playfair Display',serif;font-size:1.45rem;font-weight:700;color:var(--ocean-dark);text-decoration:none;margin-right:4px;white-space:nowrap;flex-shrink:0}
.kz-logo em{color:var(--sand);font-style:normal}
.kz-logo-img a img{height:40px;width:auto}

/* Nav list */
.kz-nav-menu{display:flex;align-items:center;gap:2px;flex:1;list-style:none;overflow:visible}
.kz-nav-item{position:relative}
.kz-nav-link{display:flex;align-items:center;gap:4px;padding:7px 10px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;color:var(--gray-800);text-decoration:none;white-space:nowrap;transition:all .18s;background:none;border:none;cursor:pointer;font-family:'Poppins',sans-serif}
.kz-nav-link:hover,.kz-nav-link.active{color:var(--ocean);background:var(--ocean-light)}
.kz-chevron{width:12px;height:12px;stroke:currentColor;stroke-width:2.5;fill:none;transition:transform .2s;flex-shrink:0}

/* Dropdown */
.kz-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;background:var(--white);border-radius:var(--radius-md);box-shadow:0 8px 32px rgba(0,0,0,.14);border:1px solid var(--gray-200);padding:6px;opacity:0;visibility:hidden;transform:translateY(6px);transition:all .2s;z-index:200}
.kz-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}
.kz-dropdown a{display:flex;align-items:center;gap:10px;padding:9px 13px;border-radius:var(--radius-sm);font-size:13.5px;color:var(--gray-800);text-decoration:none;transition:background .15s}
.kz-dropdown a:hover{background:var(--ocean-light);color:var(--ocean)}
.kz-dropdown a span{font-size:15px;flex-shrink:0}
.kz-dropdown a small{margin-left:auto;color:var(--gray-400);font-size:11px}
.kz-dropdown-label{padding:8px 13px 4px;font-size:11px;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:.6px}
.kz-dropdown-divider{border:none;border-top:1px solid var(--gray-200);margin:6px 0}
.kz-dropdown-all{color:var(--ocean)!important;font-weight:600!important}
/* 2-column grid dropdown */
.kz-dropdown-grid{min-width:480px;display:grid;grid-template-columns:1fr 1fr;padding:10px}

/* Right CTAs */
.kz-nav-cta{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0}

/* Créer mon séjour button */
.kz-btn-create{display:flex;align-items:center;gap:7px;padding:9px 16px;border-radius:var(--radius-sm);background:var(--ocean-dark);color:var(--white);font-size:13.5px;font-weight:600;border:none;cursor:pointer;transition:all .2s;font-family:'Poppins',sans-serif;white-space:nowrap;text-decoration:none;position:relative}
.kz-btn-create:hover{background:var(--ocean);transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,77,76,.25);color:var(--white)}
.kz-btn-create svg{width:15px;height:15px;stroke:currentColor;stroke-width:2.5;fill:none}
.kz-cart-badge{position:absolute;top:-6px;right:-6px;background:var(--coral);color:var(--white);width:18px;height:18px;border-radius:50%;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}

/* User icon */
.kz-user-btn{width:38px;height:38px;border-radius:50%;background:var(--gray-100);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;text-decoration:none;color:var(--gray-800);font-size:14px;font-weight:700;flex-shrink:0}
.kz-user-btn:hover{background:var(--ocean-light);color:var(--ocean)}
.kz-user-btn svg{width:18px;height:18px;stroke:var(--gray-800);stroke-width:2;fill:none}
.kz-user-btn:hover svg{stroke:var(--ocean)}
.kz-user-logged{background:var(--ocean);color:var(--white)}
.kz-user-logged:hover{background:var(--ocean-dark);color:var(--white)}

/* Burger */
.kz-burger{display:none;flex-direction:column;gap:5px;padding:8px;background:none;border:none;cursor:pointer}
.kz-burger span{width:24px;height:2px;background:var(--ocean-dark);border-radius:2px;transition:all .3s;display:block}

/* ══════════════════════════════════════
   MOBILE MENU DRAWER
══════════════════════════════════════ */
.kz-mobile-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1998}
.kz-mobile-overlay.open{display:block}
.kz-mobile-menu{position:fixed;top:0;right:0;width:min(320px,100vw);height:100vh;background:var(--white);z-index:1999;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow-y:auto}
.kz-mobile-menu.open{transform:translateX(0)}
.kz-mobile-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--gray-200)}
.kz-mobile-close{background:var(--gray-100);border:none;width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.kz-mobile-links{padding:10px;flex:1;display:flex;flex-direction:column}
.kz-mobile-link{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:var(--radius-sm);font-size:14.5px;font-weight:500;color:var(--gray-800);transition:all .18s;text-decoration:none}
.kz-mobile-link:hover{background:var(--ocean-light);color:var(--ocean)}
.kz-mobile-cta{background:var(--ocean-dark);color:var(--white)!important;font-weight:700;margin-top:10px;justify-content:center;border-radius:var(--radius-sm)}
.kz-mobile-cta:hover{background:var(--ocean)!important}
.kz-mobile-cta svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none}

/* ── HERO ── */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#004A4C 0%,#006D6F 40%,#1A7F6F 70%,#0F5F5A 100%)}
.hero-waves{position:absolute;bottom:0;left:0;width:100%;overflow:hidden;line-height:0}
.hero-waves svg{display:block}
.hero-pattern{position:absolute;inset:0;opacity:.05;background-image:radial-gradient(circle,rgba(255,255,255,.8) 1px,transparent 1px);background-size:32px 32px}
.hero-float{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:min(45vw,520px);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);display:none}
.hero-float img{width:100%;height:480px;object-fit:cover}
.hero-content{position:relative;z-index:2;max-width:640px;padding:40px 24px}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);padding:6px 16px;border-radius:20px;font-size:12.5px;color:rgba(255,255,255,.9);font-weight:500;margin-bottom:24px}
.hero-title{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,5vw,3.8rem);color:var(--white);line-height:1.1;margin-bottom:16px}
.hero-title em{color:var(--sand);font-style:normal}
.hero-sub{font-size:1.1rem;color:rgba(255,255,255,.8);line-height:1.7;margin-bottom:36px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:48px}
.hero-stats{display:flex;gap:32px;flex-wrap:wrap}
.hero-stat-num{font-size:1.8rem;font-weight:800;color:var(--white)}
.hero-stat-label{font-size:12px;color:rgba(255,255,255,.65);font-weight:400}

/* ── SEARCH BAR ── */
.search-section{background:var(--white);padding:0}
.search-wrap{max-width:900px;margin:-28px auto 0;position:relative;z-index:10;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--gray-200);padding:20px 24px}
.search-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.search-tab{padding:6px 16px;border-radius:20px;font-size:13px;font-weight:500;border:1.5px solid var(--gray-200);background:var(--white);color:var(--gray-600);cursor:pointer;transition:all .2s}
.search-tab.active,.search-tab:hover{background:var(--ocean);color:var(--white);border-color:var(--ocean)}
.search-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.search-input-wrap{flex:1;min-width:200px;display:flex;align-items:center;gap:10px;background:var(--gray-100);border-radius:var(--radius-sm);padding:10px 16px;border:2px solid transparent;transition:border-color .2s}
.search-input-wrap:focus-within{border-color:var(--ocean);background:var(--white)}
.search-input-wrap svg{width:18px;height:18px;stroke:var(--gray-400);stroke-width:2;fill:none;flex-shrink:0}
.search-input-wrap input{border:none;background:transparent;font-family:'Poppins',sans-serif;font-size:14px;color:var(--black);outline:none;width:100%}
.search-input-wrap input::placeholder{color:var(--gray-400)}
.search-select{flex:0 0 180px;background:var(--gray-100);border:2px solid transparent;border-radius:var(--radius-sm);padding:10px 16px;font-family:'Poppins',sans-serif;font-size:14px;color:var(--black);outline:none;cursor:pointer;transition:border-color .2s}
.search-select:focus{border-color:var(--ocean);background:var(--white)}
.search-btn{flex-shrink:0;background:var(--ocean);color:var(--white);border:none;padding:12px 28px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px;transition:all .2s}
.search-btn:hover{background:var(--ocean-dark);transform:translateY(-1px)}
#search-results{display:none;margin-top:12px;border-top:1px solid var(--gray-200);padding-top:12px}
.search-result-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}
.search-result-item:hover{background:var(--gray-100)}
.search-result-icon{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--ocean-light);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.search-result-name{font-size:14px;font-weight:500}
.search-result-cat{font-size:12px;color:var(--gray-400)}

/* ── CATEGORIES GRID ── */
.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
.cat-card{background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius-lg);padding:24px 16px;text-align:center;cursor:pointer;transition:all .25s;display:flex;flex-direction:column;align-items:center;gap:12px}
.cat-card:hover{border-color:var(--ocean);transform:translateY(-4px);box-shadow:var(--shadow-md)}
.cat-icon{width:56px;height:56px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:26px;transition:transform .25s}
.cat-card:hover .cat-icon{transform:scale(1.1)}
.cat-name{font-size:14px;font-weight:600;color:var(--black)}
.cat-count{font-size:12px;color:var(--gray-400)}

/* ── DESTINATIONS GRID ── */
.destinations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}
.dest-card{border-radius:var(--radius-lg);overflow:hidden;background:var(--white);box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);transition:all .25s;cursor:pointer}
.dest-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.dest-img{height:220px;position:relative;overflow:hidden;background:var(--ocean-light)}
.dest-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.dest-card:hover .dest-img img{transform:scale(1.05)}
.dest-img-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--ocean);opacity:.5}
.dest-img-placeholder svg{width:48px;height:48px;stroke:currentColor;stroke-width:1.5;fill:none}
.dest-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.6));padding:16px;display:flex;justify-content:space-between;align-items:flex-end}
.dest-badge-img{background:rgba(255,255,255,.9);color:var(--ocean);font-size:11px;font-weight:700;padding:4px 10px;border-radius:12px}
.dest-body{padding:20px}
.dest-title{font-size:1.1rem;font-weight:700;margin-bottom:6px}
.dest-desc{font-size:13.5px;color:var(--gray-600);line-height:1.6;margin-bottom:14px}
.dest-tags{display:flex;flex-wrap:wrap;gap:6px}
.dest-tag{background:var(--ocean-light);color:var(--ocean-dark);font-size:11.5px;padding:3px 10px;border-radius:12px;font-weight:500}

/* ── PACKAGES GRID ── */
.packages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.pkg-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .25s;cursor:pointer}
.pkg-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.pkg-header{padding:24px;background:linear-gradient(135deg,var(--ocean-dark),var(--ocean));color:var(--white);position:relative;overflow:hidden}
.pkg-header::after{content:'';position:absolute;right:-20px;top:-20px;width:100px;height:100px;background:rgba(255,255,255,.08);border-radius:50%}
.pkg-icon{font-size:2.5rem;margin-bottom:12px}
.pkg-name{font-size:1.15rem;font-weight:700;margin-bottom:4px}
.pkg-dur{font-size:12.5px;opacity:.75}
.pkg-body{padding:20px}
.pkg-items{list-style:none;margin-bottom:16px}
.pkg-item{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--gray-600);padding:5px 0;border-bottom:1px dashed var(--gray-200)}
.pkg-item:last-child{border-bottom:none}
.pkg-item svg{width:15px;height:15px;stroke:var(--ocean);stroke-width:2.5;fill:none;flex-shrink:0}
.pkg-footer{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--gray-200)}
.pkg-price{font-size:1.3rem;font-weight:800;color:var(--ocean)}
.pkg-price span{font-size:12px;font-weight:400;color:var(--gray-400)}
.pkg-add-btn{background:var(--ocean);color:var(--white);border:none;padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;transition:background .2s}
.pkg-add-btn:hover{background:var(--ocean-dark)}

/* ── ACTIVITIES ── */
.activities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.act-card{border-radius:var(--radius-lg);overflow:hidden;position:relative;cursor:pointer;min-height:240px;background:var(--ocean-light);display:flex;align-items:flex-end}
.act-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.act-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:3rem}
.act-overlay{position:relative;z-index:2;padding:20px;background:linear-gradient(transparent,rgba(0,0,0,.7));width:100%}
.act-name{font-size:1rem;font-weight:700;color:var(--white)}
.act-info{font-size:12px;color:rgba(255,255,255,.75)}
.act-add{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:var(--white);border:none;color:var(--ocean);font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;transition:all .2s}
.act-add:hover{background:var(--ocean);color:var(--white)}

/* ── LISTING CARDS (per-page) ── */
.listing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}
.listing-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200);overflow:hidden;transition:all .25s;cursor:pointer}
.listing-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.listing-img{height:200px;background:var(--gray-100);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:3rem}
.listing-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.listing-fav{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:var(--white);border:none;font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:all .2s}
.listing-fav:hover,.listing-fav.active{background:var(--coral);color:var(--white)}
.listing-body{padding:16px}
.listing-name{font-size:1rem;font-weight:600;margin-bottom:4px}
.listing-loc{font-size:12.5px;color:var(--gray-400);display:flex;align-items:center;gap:4px;margin-bottom:8px}
.listing-rating{display:flex;align-items:center;gap:4px;margin-bottom:10px}
.stars{color:var(--sand);font-size:13px}
.rating-num{font-size:13px;font-weight:600}
.listing-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--gray-200);padding-top:12px;margin-top:4px}
.listing-price{font-size:1.1rem;font-weight:700;color:var(--ocean)}
.listing-price span{font-size:11px;font-weight:400;color:var(--gray-400)}
.add-to-trip-btn{background:var(--ocean-light);color:var(--ocean);border:none;padding:6px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}
.add-to-trip-btn:hover{background:var(--ocean);color:var(--white)}

/* ── EVENTS ── */
.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.event-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:20px;display:flex;gap:16px;transition:all .2s;cursor:pointer}
.event-card:hover{box-shadow:var(--shadow-md);border-color:var(--ocean-light)}
.event-date{flex-shrink:0;width:56px;height:56px;background:var(--ocean);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--white)}
.event-day{font-size:1.4rem;font-weight:800;line-height:1}
.event-month{font-size:11px;opacity:.8;text-transform:uppercase}
.event-info{flex:1}
.event-title{font-size:1rem;font-weight:600;margin-bottom:4px}
.event-loc{font-size:12.5px;color:var(--gray-400);margin-bottom:8px}
.event-type{font-size:11.5px;padding:3px 10px;border-radius:12px}

/* ── TESTIMONIALS ── */
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.review-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200);padding:24px;transition:box-shadow .2s}
.review-card:hover{box-shadow:var(--shadow-md)}
.review-header{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.review-avatar{width:44px;height:44px;border-radius:50%;background:var(--ocean-light);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;color:var(--ocean);flex-shrink:0}
.review-name{font-size:14px;font-weight:600}
.review-from{font-size:12px;color:var(--gray-400)}
.review-text{font-size:13.5px;color:var(--gray-600);line-height:1.7;font-style:italic}

/* ── URGENCY / CONTACTS ── */
.urgency-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.urgency-card{border-radius:var(--radius-lg);padding:20px;text-align:center;cursor:pointer;transition:transform .2s}
.urgency-card:hover{transform:scale(1.03)}
.urgency-icon{font-size:2.2rem;margin-bottom:8px}
.urgency-title{font-size:15px;font-weight:700;margin-bottom:4px}
.urgency-num{font-size:13px;opacity:.75}

/* ── TRIP BUILDER ── */
.builder-wrap{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start}
.builder-steps{display:flex;flex-direction:column;gap:32px}
.builder-step{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200);overflow:hidden}
.step-header{background:linear-gradient(90deg,var(--ocean),var(--ocean-dark));padding:18px 24px;display:flex;align-items:center;gap:12px}
.step-num{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.2);color:var(--white);font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.step-title{color:var(--white);font-size:1.05rem;font-weight:600}
.step-body{padding:20px}
.step-mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.step-mini-card{border:1.5px solid var(--gray-200);border-radius:var(--radius-md);padding:14px;cursor:pointer;transition:all .2s;position:relative}
.step-mini-card:hover{border-color:var(--ocean);background:var(--ocean-light)}
.step-mini-card.selected{border-color:var(--ocean);background:var(--ocean-light)}
.step-mini-card .selected-check{display:none;position:absolute;top:8px;right:8px;width:20px;height:20px;background:var(--ocean);border-radius:50%;color:var(--white);font-size:12px;align-items:center;justify-content:center;font-weight:700}
.step-mini-card.selected .selected-check{display:flex}
.mini-icon{font-size:1.8rem;margin-bottom:6px}
.mini-name{font-size:13px;font-weight:600;margin-bottom:2px}
.mini-price{font-size:12px;color:var(--gray-400)}

/* ── CART ── */
.cart-panel{position:sticky;top:calc(var(--nav-h) + 16px);background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200);box-shadow:var(--shadow-md);overflow:hidden}
.cart-header{background:linear-gradient(135deg,var(--ocean),var(--ocean-dark));padding:20px 24px;color:var(--white)}
.cart-header h3{font-size:1.1rem;font-weight:700}
.cart-header p{font-size:12.5px;opacity:.75;margin-top:2px}
.cart-items{padding:16px;max-height:380px;overflow-y:auto}
.cart-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px dashed var(--gray-200)}
.cart-item:last-child{border-bottom:none}
.cart-item-icon{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--ocean-light);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.cart-item-name{flex:1;font-size:13px;font-weight:500}
.cart-item-price{font-size:13px;font-weight:700;color:var(--ocean)}
.cart-item-rm{background:none;border:none;color:var(--gray-400);cursor:pointer;font-size:16px;padding:2px;transition:color .2s}
.cart-item-rm:hover{color:var(--coral)}
.cart-empty{text-align:center;padding:32px 16px;color:var(--gray-400);font-size:13.5px}
.cart-total-row{padding:16px 24px;border-top:2px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between}
.cart-total-label{font-size:14px;font-weight:600}
.cart-total-amount{font-size:1.4rem;font-weight:800;color:var(--ocean)}
.cart-actions{padding:0 16px 16px;display:flex;flex-direction:column;gap:8px}
.whatsapp-btn{background:#25D366;color:var(--white);border:none;padding:14px;border-radius:var(--radius-md);font-size:15px;font-weight:700;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .2s}
.whatsapp-btn:hover{background:#1DA851;transform:translateY(-2px);box-shadow:0 6px 20px rgba(37,211,102,.3)}
.clear-cart-btn{background:var(--gray-100);color:var(--gray-600);border:none;padding:10px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;width:100%;cursor:pointer;transition:all .2s}
.clear-cart-btn:hover{background:var(--gray-200)}

/* ── BLOG / ANNONCES ── */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.blog-card{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--gray-200);overflow:hidden;transition:all .25s;cursor:pointer}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.blog-img{height:200px;background:var(--gray-100);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:3rem}
.blog-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.blog-body{padding:20px}
.blog-meta{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.blog-cat-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:12px}
.blog-date{font-size:11.5px;color:var(--gray-400)}
.blog-title{font-size:1rem;font-weight:700;line-height:1.4;margin-bottom:8px}
.blog-excerpt{font-size:13px;color:var(--gray-600);line-height:1.6}

/* ── PAGE INTÉRIEURE ── */
.inner-page-hero{background:linear-gradient(135deg,var(--ocean-dark),var(--ocean));padding:60px 0;text-align:center;color:var(--white)}
.inner-page-hero h1{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,4vw,3rem);margin-bottom:8px}
.inner-page-hero p{font-size:1rem;opacity:.8;max-width:540px;margin:0 auto}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:12.5px;color:rgba(255,255,255,.7);justify-content:center;margin-top:12px}
.breadcrumb a{color:rgba(255,255,255,.7)}
.breadcrumb a:hover{color:var(--white)}
.filters-bar{background:var(--white);border-bottom:1px solid var(--gray-200);padding:16px 0;position:sticky;top:var(--nav-h);z-index:100}
.filters-inner{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.filter-pill{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:20px;border:1.5px solid var(--gray-200);font-size:13px;font-weight:500;color:var(--gray-600);background:var(--white);cursor:pointer;transition:all .2s}
.filter-pill:hover,.filter-pill.active{background:var(--ocean);color:var(--white);border-color:var(--ocean)}
.sort-select{margin-left:auto;padding:8px 14px;border-radius:20px;border:1.5px solid var(--gray-200);font-size:13px;font-family:'Poppins',sans-serif;background:var(--white);color:var(--gray-600);cursor:pointer}

/* ── ABOUT / CONTACT ── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.about-text h2{font-family:'Playfair Display',serif;font-size:2rem;margin-bottom:16px}
.about-text p{font-size:15px;color:var(--gray-600);line-height:1.8;margin-bottom:12px}
.about-img{border-radius:var(--radius-xl);overflow:hidden;height:400px;background:var(--ocean-light);display:flex;align-items:center;justify-content:center;font-size:5rem}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.contact-info{display:flex;flex-direction:column;gap:20px}
.contact-item{display:flex;gap:14px;align-items:flex-start}
.contact-item-icon{width:44px;height:44px;border-radius:var(--radius-md);background:var(--ocean-light);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.contact-form{display:flex;flex-direction:column;gap:16px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{font-size:13px;font-weight:600;color:var(--gray-600)}
.form-group input,.form-group textarea,.form-group select{padding:12px 16px;border:2px solid var(--gray-200);border-radius:var(--radius-sm);font-family:'Poppins',sans-serif;font-size:14px;color:var(--black);outline:none;transition:border-color .2s}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--ocean)}
.form-group textarea{resize:vertical;min-height:120px}

/* ── FOOTER ── */
footer{background:var(--ocean-dark);color:var(--white);padding:64px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.footer-brand .nav-logo{color:var(--white);font-size:1.8rem;margin-bottom:12px}
.footer-brand .nav-logo span{color:var(--sand)}
.footer-brand p{font-size:14px;opacity:.65;line-height:1.7;margin-bottom:20px}
.footer-socials{display:flex;gap:10px}
.social-btn{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s;cursor:pointer;color:var(--white);text-decoration:none}
.social-btn:hover{background:var(--sand);color:var(--white)}
.footer-col h4{font-size:15px;font-weight:700;margin-bottom:16px;color:var(--sand)}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-col ul a{font-size:13.5px;opacity:.65;transition:opacity .2s}
.footer-col ul a:hover{opacity:1}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12.5px;opacity:.5}

/* ── FLOATING WHATSAPP ── */
.float-whatsapp{position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 6px 20px rgba(37,211,102,.4);z-index:1500;text-decoration:none;animation:waPulse 2s infinite}
.float-whatsapp:hover{transform:scale(1.08)}
@keyframes waPulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 18px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}

/* ── MODAL ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:all .3s}
.modal-overlay.show{opacity:1;visibility:visible}
.modal-box{background:var(--white);border-radius:var(--radius-xl);max-width:600px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg)}
.modal-header{padding:24px 28px;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--white);z-index:1}
.modal-header h3{font-size:1.15rem;font-weight:700}
.modal-close{background:var(--gray-100);border:none;width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.modal-close:hover{background:var(--gray-200)}
.modal-body{padding:28px}

/* ── TOAST ── */
.toast{position:fixed;bottom:24px;right:24px;background:var(--ocean);color:var(--white);padding:12px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500;box-shadow:var(--shadow-lg);z-index:3000;transform:translateY(80px);opacity:0;transition:all .3s}
.toast.show{transform:translateY(0);opacity:1}

/* ── UPLOAD ZONE ── */
.upload-zone{border:2px dashed var(--gray-200);border-radius:var(--radius-md);padding:32px;text-align:center;cursor:pointer;transition:all .2s}
.upload-zone:hover{border-color:var(--ocean);background:var(--ocean-light)}
.upload-zone p{font-size:14px;color:var(--gray-400);margin-top:8px}
.upload-preview{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.upload-thumb{width:72px;height:72px;border-radius:var(--radius-sm);overflow:hidden;position:relative}
.upload-thumb img{width:100%;height:100%;object-fit:cover}
.upload-thumb-rm{position:absolute;top:2px;right:2px;width:18px;height:18px;background:rgba(0,0,0,.6);color:var(--white);border:none;border-radius:50%;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center}

/* ── (old mobile nav kept for backward compat) ── */

/* ── LEAFLET MAP ── */
.kzd-map{height:360px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--gray-200)}

/* ── WP CORE ── */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}
.wp-pagination{display:flex;gap:8px;justify-content:center;margin-top:40px;flex-wrap:wrap}
.wp-pagination .page-numbers{padding:8px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--gray-200);font-size:14px;color:var(--gray-600)}
.wp-pagination .page-numbers.current,.wp-pagination .page-numbers:hover{background:var(--ocean);color:var(--white);border-color:var(--ocean)}
.entry-content{font-size:15px;color:var(--gray-800);line-height:1.8}
.entry-content p{margin-bottom:16px}
.entry-content h2,.entry-content h3{margin:24px 0 12px}

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media(min-width:901px){
  .kz-burger{display:none}
  .hero-float{display:block}
}
@media(max-width:900px){
  .kz-nav-menu{display:none}
  .kz-btn-create{display:none}
  .kz-burger{display:flex}
  .hero-content{padding:120px 24px 80px}
  .hero-title{font-size:2.4rem}
  .builder-wrap{grid-template-columns:1fr}
  .cart-panel{position:static}
  .footer-grid{grid-template-columns:1fr 1fr}
  .about-grid,.contact-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .kz-topbar-sep{display:none}
  .kz-topbar-urgent{margin-left:0}
  .kz-topbar-inner{gap:12px;justify-content:flex-start}
  .search-row{flex-direction:column}
  .search-select{flex:auto;width:100%}
  .hero-stats{gap:16px}
  .footer-grid{grid-template-columns:1fr}
  .kz-topbar{font-size:12px}
}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.fade-up{animation:fadeUp .5s ease both}
.fade-up-1{animation-delay:.1s}.fade-up-2{animation-delay:.2s}.fade-up-3{animation-delay:.3s}
