/* =========================================================
   Annuaire Polynésie — Design system 2026 (vert lagon / sable)
   ========================================================= */
:root{
  --ap-night:#0B2B26;--ap-forest:#12443B;--ap-green:#0E8A6B;--ap-green-h:#0B7259;--ap-green-d:#0A5E4A;
  --ap-mint:#E4F4EE;--ap-mint-2:#CDEBDF;--ap-lagoon:#4FD1B5;--ap-sand:#F7F4EE;--ap-sand-2:#EFEAE0;
  --ap-card:#FFFFFF;--ap-ink:#13261F;--ap-text:#3D4F49;--ap-muted:#6A7B75;--ap-line:#E6E1D6;--ap-sun:#FFC94A;
  --ap-r-sm:12px;--ap-r:18px;--ap-r-lg:26px;
  --ap-shadow:0 1px 2px rgba(19,38,31,.05),0 8px 24px rgba(19,38,31,.06);
  --ap-shadow-h:0 2px 4px rgba(19,38,31,.06),0 22px 48px rgba(19,38,31,.14);
  --ap-ease:cubic-bezier(.2,.8,.2,1);
  --ap-font:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ap-font-t:'Plus Jakarta Sans','Inter',system-ui,sans-serif;
}

/* ---------- Base ---------- */
html{scroll-behavior:smooth}
body{font-family:var(--ap-font)!important;color:var(--ap-text)!important;background:var(--ap-sand)!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body p,body li,body input,body select,body textarea,body button,body td{font-family:var(--ap-font)!important}
body p{line-height:1.65}
h1,h2,h3,h4,h5,h6,.lp-h1,.lp-h2,.lp-h3,.lp-h4{font-family:var(--ap-font-t)!important;color:var(--ap-ink);letter-spacing:-.02em;font-weight:700}
strong,b{font-weight:700!important}
a{color:var(--ap-green);transition:color .2s}
a:hover{color:var(--ap-green-h)}
::selection{background:var(--ap-mint-2);color:var(--ap-ink)}
img{max-width:100%}

/* ---------- Composants partagés ---------- */
.ap-w{max-width:1240px;margin:0 auto;padding:0 32px}
.ap-sec{padding:112px 0 0}
.ap-sec--last{padding-bottom:120px}
.ap-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px!important;font:700 13px/1 var(--ap-font)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--ap-green)!important}
.ap-eyebrow--light{color:var(--ap-lagoon)!important}
.ap-dot{width:8px;height:8px;border-radius:50%;background:var(--ap-lagoon);box-shadow:0 0 0 0 rgba(79,209,181,.6);animation:apPulse 2s ease-out infinite;flex:0 0 8px}
.ap-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px;margin-bottom:44px}
.ap-head h2,.aph-faq h2{font-size:clamp(32px,3.6vw,46px)!important;line-height:1.08!important;font-weight:800!important;margin:0!important;color:var(--ap-ink)!important}
.ap-head-p{margin:0!important;max-width:420px;color:var(--ap-muted)!important;font-size:17px}
.ap-link{font-weight:600;color:var(--ap-green)!important;display:inline-flex;gap:8px;align-items:center;white-space:nowrap}
.ap-link span{transition:transform .25s var(--ap-ease)}
.ap-link:hover span{transform:translateX(4px)}

.ap-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;text-decoration:none!important;font:600 15px/1 var(--ap-font)!important;padding:14px 22px;border-radius:var(--ap-r-sm);transition:background .2s,color .2s,transform .2s var(--ap-ease),box-shadow .2s;white-space:nowrap}
.ap-btn:hover{transform:translateY(-1px)}
.ap-btn--lg{padding:18px 28px;font-size:16px!important;border-radius:14px}
.ap-btn--sm{padding:11px 16px;font-size:14px!important;border-radius:10px}
.ap-btn--primary{background:var(--ap-green)!important;color:#fff!important;box-shadow:0 6px 18px rgba(14,138,107,.28)}
.ap-btn--primary:hover{background:var(--ap-green-h)!important;color:#fff!important}
.ap-btn--soft{background:var(--ap-mint)!important;color:var(--ap-green-d)!important}
.ap-btn--soft:hover{background:var(--ap-mint-2)!important}
.ap-btn--dark{background:var(--ap-night)!important;color:#fff!important}
.ap-btn--dark:hover{background:var(--ap-forest)!important;color:#fff!important}
.ap-btn--ghost-light{background:transparent!important;color:#fff!important;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.ap-btn--ghost-light:hover{background:rgba(255,255,255,.1)!important}

.ap-reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ap-ease),transform .8s var(--ap-ease);transition-delay:calc(var(--d,0) * 70ms)}
.ap-reveal.is-in{opacity:1;transform:none}
.no-js .ap-reveal{opacity:1;transform:none}

/* Cartes fiches */
.ap-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.ap-card{background:var(--ap-card);border-radius:var(--ap-r);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--ap-shadow);transition:transform .35s var(--ap-ease),box-shadow .35s}
.ap-card:hover{transform:translateY(-4px);box-shadow:var(--ap-shadow-h)}
.ap-card-img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,var(--ap-forest),var(--ap-green))}
.ap-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ap-ease)}
.ap-card:hover .ap-card-img img{transform:scale(1.05)}
.ap-card-img.is-fallback img{filter:saturate(.85) brightness(.75)}
.ap-card-ini{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:800 64px/1 var(--ap-font-t);color:rgba(255,255,255,.92);text-shadow:0 4px 24px rgba(0,0,0,.25)}
.ap-card-bd{padding:22px 22px 8px;display:flex;flex-direction:column;gap:6px;flex:1}
.ap-card-cat{margin:0!important;font:600 12px/1.3 var(--ap-font)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--ap-green)!important}
.ap-card-t{margin:0!important;font-size:19px!important;line-height:1.3!important;font-weight:700!important}
.ap-card-t a{color:var(--ap-ink)!important}
.ap-card-t a:hover{color:var(--ap-green)!important}
.ap-card-loc{margin:2px 0 0!important;display:flex;align-items:center;gap:6px;color:var(--ap-muted)!important;font-size:14px}
.ap-card-ac{display:flex;gap:8px;padding:16px 22px 22px}
.ap-card-ac .ap-btn{flex:1}

/* Bannière partenaire Hertz */
.ap-hertz{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:20px 28px;padding:26px 32px;border-radius:var(--ap-r-lg);color:#111!important;text-decoration:none!important;background:linear-gradient(100deg,#FFD200 0%,#FFE680 50%,#FFD200 100%);background-size:200% 100%;animation:apShine 6s linear infinite;box-shadow:0 14px 40px rgba(255,200,0,.22);margin-top:96px;transition:transform .3s var(--ap-ease)}
.ap-hertz:hover{transform:translateY(-2px);color:#111!important}
.ap-hertz-tag{font:700 11px/1 var(--ap-font);letter-spacing:.12em;text-transform:uppercase;background:#111;color:#FFD200;padding:7px 10px;border-radius:7px}
.ap-hertz-b{font:800 26px/1 var(--ap-font-t);letter-spacing:-.02em}
.ap-hertz-t{font-size:16px;font-weight:500}
.ap-hertz-c{background:#111;color:#fff;font-weight:600;padding:15px 22px;border-radius:12px;white-space:nowrap}
.ap-checks{list-style:none;margin:0 0 30px!important;padding:0!important;display:flex;flex-direction:column;gap:12px}
.ap-checks li{position:relative;padding-left:32px;font-size:16px}
.ap-checks li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--ap-lagoon) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%230B2B26' stroke-width='3' d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/13px no-repeat}
.ap-acc details{border-bottom:1px solid var(--ap-line);padding:24px 0}
.ap-acc details:first-child{border-top:1px solid var(--ap-line)}
.ap-acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;font:600 18px/1.4 var(--ap-font-t);color:var(--ap-ink)}
.ap-acc summary::-webkit-details-marker{display:none}
.ap-acc summary::after{content:"";flex:0 0 28px;height:28px;border-radius:50%;background:var(--ap-mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath stroke='%230E8A6B' stroke-width='2.5' d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .3s var(--ap-ease)}
.ap-acc details[open] summary::after{transform:rotate(45deg)}
.ap-acc p{margin:14px 0 0!important;color:var(--ap-text);max-width:680px}

/* ---------- En-tête du thème ---------- */
header .lp-menu-bar,.lp-menu-bar.header-bg-color-class,.header-bg-color-class,.lp-header-middle,.lp-menu-bar.lp-header-full-width-st,.header-front-page-wrap .lp-menu-bar{background:var(--ap-night)!important;box-shadow:0 1px 0 rgba(255,255,255,.06),0 10px 30px rgba(11,43,38,.18)!important}
header .fullwidth-header{padding:14px 32px!important;max-width:1440px;margin:0 auto}
header .fullwidth-header>.row{display:flex!important;align-items:center;gap:24px;margin:0!important}
header .fullwidth-header>.row::before,header .fullwidth-header>.row::after,header .header-right-panel::before,header .header-right-panel::after{display:none!important}
header .lp-logo-container{width:auto!important;flex:0 0 auto;padding:0!important;float:none!important}
header .lp-logo img{max-height:44px;width:auto}
header .header-right-panel{display:flex!important;align-items:center;gap:18px;flex:1 1 auto;width:auto!important;padding:0!important;float:none!important}
header .lp-search-chnage-styles-st{flex:1 1 380px;max-width:520px;width:auto!important;float:none!important;margin:0!important}
body.apc-home header .lp-search-chnage-styles-st{display:none!important}
header .header-filter,header .top-search-form{margin:0!important;width:100%!important}
header .top-search-form{display:flex!important;align-items:center;background:#fff;border-radius:12px;padding:4px}
header .top-search-form label,header .lp-search-bar-header-left-label{color:var(--ap-green)!important;font-weight:600!important;font-size:13px!important}
header .top-search-form input{border:0!important;box-shadow:none!important;color:var(--ap-ink)!important;font-size:15px!important;background:transparent!important}
header .top-search-form button,header .lp-search-bar-right,header .lp-header-search-button{background:var(--ap-green)!important;border-radius:9px!important;border:0!important}
header .top-search-form .fa-magnifying-glass,header .lp-search-icon{color:#fff!important}
header .lp-menu-container{flex:0 1 auto;width:auto!important;display:flex!important;flex-direction:row-reverse;align-items:center;gap:8px;padding:0!important;float:none!important;margin-left:auto}
header .lp-menu-container>div{float:none!important;margin:0!important}
header .lp-menu-container ul{margin:0!important}
header .lp-menu-container a,header .lp-join-user-info,header .lp-join-user-info a,header .lp-join-user-info span{color:#E6F2EE!important;font-weight:500!important;font-family:var(--ap-font)!important}
header .lp-menu-container a:hover{color:var(--ap-lagoon)!important}
header .lp-add-listing-btn a,.lp-header-full-width .lp-add-listing-btn ul li a.header-list-icon-st6{background:var(--ap-green)!important;color:#fff!important;border:0!important;border-radius:10px!important;padding:12px 18px!important;font-weight:600!important;line-height:1.2!important;box-shadow:none!important}
header .lp-add-listing-btn a:hover{background:var(--ap-green-h)!important}
header .sub-menu,header .dropdown-menu,header .lp-menu-container .children{background:#fff!important;border-radius:14px!important;box-shadow:0 24px 60px rgba(11,43,38,.2)!important;border:0!important;padding:8px!important}
header .sub-menu a,header .dropdown-menu a{color:var(--ap-ink)!important;border-radius:8px}
header .sub-menu a:hover,header .dropdown-menu a:hover{background:var(--ap-mint)!important;color:var(--ap-green)!important}
@media (max-width:1200px){header .lp-search-chnage-styles-st{display:none!important}}

/* Bannière d'accueil du thème : remplacée par la nouvelle page d'accueil */
body.apc-home .lp-home-banner-contianer,body.apc-home .header-front-page-wrap .lp-vedio-bg>video,body.apc-home .lp-header-overlay{display:none!important}
body.apc-home .header-front-page-wrap,body.apc-home .header-front-page-wrap .header-container{min-height:0!important;height:auto!important;background:none!important}

/* Bandeau titre des pages internes */
.page-heading,.lp-header .page-heading{background:linear-gradient(135deg,var(--ap-night),var(--ap-forest))!important;padding:64px 0!important}
.page-heading h1,.page-heading a,.page-heading li,.page-heading span{color:#fff!important}
.page-heading::before,.page-heading .page-heading-overlay{background:radial-gradient(600px 300px at 80% 20%,rgba(79,209,181,.25),transparent 70%)!important;opacity:1!important}

/* ---------- Boutons du thème ---------- */
.lp-primary-btn,.btn-first-hover,.lp-search-btn,input[type=submit],button[type=submit],.lp-review-btn,.lp-submit-btn,.wpcf7-submit,a.edit-list{background:var(--ap-green)!important;border-color:var(--ap-green)!important;color:#fff!important;border-radius:var(--ap-r-sm)!important;font-weight:600!important}
.lp-primary-btn:hover,.btn-first-hover:hover,input[type=submit]:hover,button[type=submit]:hover{background:var(--ap-green-h)!important}
.lp_confirmation{background:var(--ap-night)!important}

/* ---------- Archives / résultats ---------- */
.lp-grid-box,.lp-grid-box-contianer .lp-grid-box,.lp-listing,.lp-list-view .lp-grid-box{background:#fff!important;border:0!important;border-radius:var(--ap-r)!important;overflow:hidden;box-shadow:var(--ap-shadow)!important;transition:transform .35s var(--ap-ease),box-shadow .35s;margin-bottom:28px!important}
.lp-grid-box:hover{transform:translateY(-3px);box-shadow:var(--ap-shadow-h)!important}
.lp-grid-box-thumb{background:linear-gradient(135deg,var(--ap-forest),var(--ap-green))!important}
.lp-grid-box-thumb img{object-fit:cover;width:100%}
.lp-grid-box-description,.lp-grid-box .lp-grid-box-description{padding:22px 24px 16px!important}
.lp-grid-box h4,.lp-grid-box h4 a{color:var(--ap-ink)!important;font-weight:700!important;font-size:19px!important;line-height:1.3!important;margin:4px 0 8px!important}
.lp-grid-box .lp-grid-box-bottom,.lp-grid-box-bottom{border-top:1px solid var(--ap-line)!important;background:#FBFAF6!important;padding:6px 10px!important}
.lp-grid-box-bottom a,.lp-grid-box-bottom span,.lp-grid-box-bottom i{color:var(--ap-ink)!important;font-weight:500;text-transform:none!important}
.lp-grid-box-bottom li:first-child a,.lp-grid-box-bottom .show-number{color:var(--ap-green)!important;font-weight:600}
.lp-grid-box-price,.lp-category-name,.lp-grid-box-description .lp-listing-cat,.grid-cat a,.lp-grid-box .cat-name,a.lp-cat-name,.lp-grid-box-description>a:first-child{color:var(--ap-green)!important;font-weight:600!important;letter-spacing:.06em;font-size:12px!important;text-transform:uppercase}
.lp-grid-box .lp-review-stars,.lp-grid-box .lp-be-first{border-radius:999px!important;border-color:var(--ap-line)!important;color:var(--ap-muted)!important;padding:4px 12px!important}
.lp-search-filters,.lp-filter-section,.lp-header-search-filters,.listing-filters-v2{background:transparent!important}
.lp-search-filters a,.lp-filter-item,.listing-filters-v2 .filter-btn,.lp-filter-section .btn{border-radius:999px!important;border:1px solid var(--ap-line)!important;color:var(--ap-ink)!important;background:#fff!important;padding:9px 16px!important}
.lp-search-filters a.active,.lp-filter-item.active,.listing-filters-v2 .active{background:var(--ap-night)!important;color:#fff!important;border-color:var(--ap-night)!important}
.content-white-area,.listing-simple,.lp-archive-wrapper,.listing-second-view,.aliceblue{background:var(--ap-sand)!important}
.lp-pagination a,.pagination a,.page-numbers{border-radius:10px!important;border-color:var(--ap-line)!important;color:var(--ap-ink)!important}
.lp-pagination .active a,.pagination .active a,.page-numbers.current{background:var(--ap-green)!important;color:#fff!important;border-color:var(--ap-green)!important}
.lp-map-marker,.marker-cluster div{background-color:var(--ap-green)!important}

/* ---------- Formulaires ---------- */
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=password],input[type=search],textarea,select{border-radius:var(--ap-r-sm)!important;border-color:var(--ap-line)!important}
input:focus,textarea:focus,select:focus{border-color:var(--ap-green)!important;box-shadow:0 0 0 3px rgba(14,138,107,.15)!important;outline:0}

/* ---------- Pied de page ---------- */
footer,.footer-upper-bar,.footer-bottom-bar,.lp-footer,.footer-style1,.footer-style2{background:var(--ap-night)!important;color:#BFD3CC!important}
footer .footer-upper-bar{padding:72px 0 40px!important}
footer a,footer li,footer p,footer span{color:#BFD3CC!important;line-height:1.9}
footer a:hover{color:var(--ap-lagoon)!important}
footer h1,footer h2,footer h3,footer h4,footer .widget-title{color:#fff!important}

@keyframes apPulse{0%{box-shadow:0 0 0 0 rgba(79,209,181,.55)}100%{box-shadow:0 0 0 12px rgba(79,209,181,0)}}
@keyframes apShine{from{background-position:-200% 0}to{background-position:200% 0}}
@media (max-width:1100px){.ap-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.ap-w{padding:0 20px}.ap-sec{padding-top:76px}.ap-sec--last{padding-bottom:84px}.ap-cards{grid-template-columns:1fr;gap:20px}.ap-head{margin-bottom:28px}.ap-hertz{grid-template-columns:1fr;gap:10px;padding:24px;margin-top:64px}.ap-hertz-tag{justify-self:start}.ap-hertz-c{justify-self:start}header .fullwidth-header{padding:10px 16px!important}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.ap-reveal{opacity:1;transform:none}}

.ap-card-img img{height:100%!important;max-width:none!important}
.ap-hertz-b{color:#111!important}
.apf b,.apf strong{color:inherit}
