/* ============================================================
   Woo Geo Delivery Pro v3.0.0
   Design BLANC & ORANGE — version unique, propre, sans héritage
   ============================================================ */

/* Variables de design — ORANGE & BLANC UNIQUEMENT */
#wgdp-overlay,
#wgdp-overlay * {
    --wgdp-overlay-opacity: 0.60;
    --wgdp-border-radius:   16px;

    /* Palette ORANGE & BLANC */
    --wgdp-primary:         #FF6B35;
    --wgdp-primary-dark:    #E85420;
    --wgdp-primary-light:   #FFF0E8;
    --wgdp-primary-rgb:     255,107,53;
    --wgdp-accent:          #FF8C5A;

    /* Neutres */
    --wgdp-bg:              #ffffff;
    --wgdp-surface:         #fafafa;
    --wgdp-text:            #1a1a1a;
    --wgdp-text-muted:      #6b7280;
    --wgdp-border:          #e5e7eb;
    --wgdp-input-bg:        #ffffff;

    /* Statuts */
    --wgdp-success:         #16a34a;
    --wgdp-success-bg:      #f0fdf4;
    --wgdp-error:           #dc2626;
    --wgdp-error-bg:        #fef2f2;
    --wgdp-warning-bg:      #fffbeb;
    --wgdp-warning-text:    #92400e;

    --wgdp-font:            -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --wgdp-shadow:          0 10px 40px rgba(var(--wgdp-primary-rgb, 255,107,53),.15), 0 2px 8px rgba(0,0,0,.06);
    --wgdp-easing:          cubic-bezier(.4,0,.2,1);
}

/* Reset isolé pour éviter conflits avec le thème */
#wgdp-overlay,
#wgdp-overlay * {
    box-sizing: border-box;
}

.wgdp-hidden  { display: none !important; }
body.wgdp-body-lock { overflow: hidden !important; }

/* ============================================================
   OVERLAY
   ============================================================ */
.wgdp-overlay {
    display:         none;
    position:        fixed;
    inset:           0;
    z-index:         999999;
    background:      rgba(0,0,0, var(--wgdp-overlay-opacity)) !important;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    align-items:     center;
    justify-content: center;
    padding:         16px;
    font-family:     var(--wgdp-font) !important;
    animation:       wgdpFadeIn .25s var(--wgdp-easing) both;
}
.wgdp-overlay--exit { animation: wgdpFadeOut .25s var(--wgdp-easing) both; }

@keyframes wgdpFadeIn  { from{opacity:0} to{opacity:1} }
@keyframes wgdpFadeOut { from{opacity:1} to{opacity:0} }

/* ============================================================
   MODAL — fond BLANC, accent ORANGE
   ============================================================ */
.wgdp-modal {
    background:      #ffffff !important;
    border-radius:   var(--wgdp-border-radius) !important;
    box-shadow:      var(--wgdp-shadow) !important;
    width:           100%;
    max-width:       460px;
    max-height:      92vh;
    overflow-y:      auto;
    overflow-x:      hidden;
    display:         flex;
    flex-direction:  column;
    animation:       wgdpSlideUp .32s var(--wgdp-easing) both;
    scrollbar-width: thin;
    scrollbar-color: var(--wgdp-border) transparent;
    /* Bande ORANGE en haut */
    border-top:      4px solid var(--wgdp-primary) !important;
    color:           var(--wgdp-text) !important;
}
.wgdp-modal::-webkit-scrollbar       { width: 5px; }
.wgdp-modal::-webkit-scrollbar-track { background: transparent; }
.wgdp-modal::-webkit-scrollbar-thumb { background: var(--wgdp-border); border-radius: 3px; }

@keyframes wgdpSlideUp {
    from { opacity: 0; transform: translateY(24px) scale(.97); }
    to   { opacity: 1; transform: translateY(0)    scale(1);   }
}

@keyframes wgdpShake {
    0%,100% { transform: translateX(0); }
    20%     { transform: translateX(-7px); }
    40%     { transform: translateX(7px); }
    60%     { transform: translateX(-4px); }
    80%     { transform: translateX(4px); }
}
.wgdp-shake { animation: wgdpShake .36s var(--wgdp-easing); }

/* ============================================================
   HEADER — fond blanc
   ============================================================ */
.wgdp-modal__header {
    padding:        32px 28px 22px !important;
    text-align:     center;
    position:       relative;
    background:     #ffffff !important;
    border-bottom:  1px solid var(--wgdp-border) !important;
}

/* Icône logo — ORANGE */
.wgdp-logo {
    display:         inline-flex !important;
    align-items:     center;
    justify-content: center;
    width:           56px;
    height:          56px;
    background:      linear-gradient(135deg, var(--wgdp-primary) 0%, var(--wgdp-primary-dark) 100%) !important;
    border-radius:   50%;
    color:           #ffffff !important;
    margin-bottom:   16px;
    box-shadow:      0 6px 20px rgba(var(--wgdp-primary-rgb, 255,107,53),.4) !important;
}

.wgdp-modal__title {
    font-family:  var(--wgdp-font) !important;
    font-size:    1.25rem !important;
    font-weight:  700 !important;
    color:        var(--wgdp-text) !important;
    margin:       0 0 8px !important;
    line-height:  1.3 !important;
}

.wgdp-modal__subtitle {
    font-family: var(--wgdp-font) !important;
    font-size:   0.875rem !important;
    color:       var(--wgdp-text-muted) !important;
    margin:      0 !important;
    line-height: 1.55 !important;
}

/* ============================================================
   SÉLECTEUR DE LANGUE — toujours visible, GROS & PROMINENT
   ============================================================ */
.wgdp-lang-selector {
    position: absolute !important;
    top:      18px;
    right:    18px;
    z-index:  10;
}
[dir="rtl"] .wgdp-lang-selector {
    right: auto !important;
    left:  18px;
}

.wgdp-lang-btn {
    display:         inline-flex !important;
    align-items:     center;
    gap:             10px;
    padding:         11px 16px !important;
    background:      var(--wgdp-primary-light) !important;
    border:          2px solid var(--wgdp-primary) !important;
    border-radius:   12px !important;
    cursor:          pointer;
    font-family:     var(--wgdp-font) !important;
    font-size:       1rem !important;
    font-weight:     700 !important;
    color:           var(--wgdp-primary-dark) !important;
    transition:      all .18s var(--wgdp-easing);
    box-shadow:      0 4px 14px rgba(var(--wgdp-primary-rgb, 255,107,53),.18) !important;
    line-height:     1;
}
.wgdp-lang-btn:hover {
    background:   var(--wgdp-primary) !important;
    color:        #ffffff !important;
    box-shadow:   0 6px 20px rgba(var(--wgdp-primary-rgb, 255,107,53),.35) !important;
    transform:    translateY(-1px);
}
.wgdp-lang-btn[aria-expanded="true"] {
    background:   var(--wgdp-primary) !important;
    color:        #ffffff !important;
    box-shadow:   0 6px 20px rgba(var(--wgdp-primary-rgb, 255,107,53),.35) !important;
}

.wgdp-lang-flag {
    font-size:   1.5rem !important;
    line-height: 1;
}

.wgdp-lang-code {
    letter-spacing: 1px;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
}

.wgdp-lang-menu {
    position:      absolute;
    top:           calc(100% + 8px);
    right:         0;
    margin:        0;
    padding:       8px;
    list-style:    none;
    background:    #ffffff !important;
    border:        2px solid var(--wgdp-primary) !important;
    border-radius: 12px !important;
    box-shadow:    0 12px 32px rgba(var(--wgdp-primary-rgb, 255,107,53),.25), 0 4px 14px rgba(0,0,0,.10) !important;
    min-width:     200px;
    opacity:       0;
    visibility:    hidden;
    transform:     translateY(-8px);
    transition:    all .2s var(--wgdp-easing);
}
[dir="rtl"] .wgdp-lang-menu { right: auto; left: 0; }

.wgdp-lang-menu.wgdp-open {
    opacity:    1;
    visibility: visible;
    transform:  translateY(0);
}

.wgdp-lang-menu li {
    display:       flex !important;
    align-items:   center;
    gap:           12px;
    padding:       12px 14px !important;
    border-radius: 8px !important;
    cursor:        pointer;
    font-family:   var(--wgdp-font) !important;
    font-size:     1rem !important;
    font-weight:   600 !important;
    color:         var(--wgdp-text) !important;
    transition:    background .15s, color .15s, transform .12s;
}
.wgdp-lang-menu li:hover {
    background: var(--wgdp-primary-light) !important;
    color:      var(--wgdp-primary-dark) !important;
    transform:  translateX(2px);
}
[dir="rtl"] .wgdp-lang-menu li:hover { transform: translateX(-2px); }

.wgdp-lang-menu li.wgdp-lang-active {
    background:  var(--wgdp-primary) !important;
    color:       #ffffff !important;
    font-weight: 700 !important;
}
.wgdp-lang-menu li .wgdp-lang-flag {
    font-size: 1.4rem !important;
}

/* Le header doit être plus haut pour accueillir le gros sélecteur */
.wgdp-modal__header {
    padding-top: 75px !important;
}

/* Masquer toute trace de la barre Google Translate */
.skiptranslate,
.goog-te-banner-frame,
.goog-te-balloon-frame { display: none !important; }
body { top: 0 !important; }
#goog-gt-tt, .goog-te-balloon { display: none !important; }
font[style*="background"] { background: transparent !important; box-shadow: none !important; }

/* ============================================================
   CORPS
   ============================================================ */
.wgdp-modal__body {
    padding:        22px 24px !important;
    display:        flex;
    flex-direction: column;
    gap:            14px;
    flex:           1;
    background:     #ffffff !important;
}

/* ============================================================
   BOUTONS — base
   ============================================================ */
.wgdp-btn {
    display:         inline-flex !important;
    align-items:     center;
    justify-content: center;
    gap:             8px;
    padding:         13px 18px !important;
    border:          2px solid transparent !important;
    border-radius:   10px !important;
    font-family:     var(--wgdp-font) !important;
    font-size:       0.92rem !important;
    font-weight:     600 !important;
    cursor:          pointer;
    text-decoration: none !important;
    transition:      all .17s var(--wgdp-easing);
    width:           100%;
    line-height:     1.4;
    text-align:      center;
    letter-spacing:  .01em;
}
.wgdp-btn:disabled              { opacity:.50 !important; cursor:not-allowed; transform:none !important; }
.wgdp-btn:active:not(:disabled) { transform:scale(.985); }

/* GPS — ORANGE plein */
.wgdp-btn--primary {
    background: var(--wgdp-primary) !important;
    color:      #ffffff !important;
    box-shadow: 0 4px 14px rgba(var(--wgdp-primary-rgb, 255,107,53),.30) !important;
}
.wgdp-btn--primary:hover:not(:disabled) {
    background: var(--wgdp-primary-dark) !important;
    box-shadow: 0 6px 22px rgba(var(--wgdp-primary-rgb, 255,107,53),.40) !important;
    transform:  translateY(-1px);
    color:      #ffffff !important;
}

/* Vérifier adresse — ORANGE (dans le groupe input) */
.wgdp-btn--verify {
    background:    var(--wgdp-primary) !important;
    color:         #ffffff !important;
    width:         auto !important;
    padding:       0 16px !important;
    border-radius: 0 8px 8px 0 !important;
    flex-shrink:   0;
    min-height:    46px;
    box-shadow:    none !important;
    font-size:     0.84rem !important;
    border:        none !important;
}
.wgdp-btn--verify:hover:not(:disabled) {
    background: var(--wgdp-primary-dark) !important;
}

/* Succès / Continuer — ORANGE */
.wgdp-btn--success {
    background: var(--wgdp-primary) !important;
    color:      #ffffff !important;
    box-shadow: 0 4px 14px rgba(var(--wgdp-primary-rgb, 255,107,53),.30) !important;
}
.wgdp-btn--success:hover:not(:disabled) {
    background: var(--wgdp-primary-dark) !important;
    box-shadow: 0 6px 22px rgba(var(--wgdp-primary-rgb, 255,107,53),.40) !important;
    color:      #ffffff !important;
    transform:  translateY(-1px);
    text-decoration: none !important;
}

/* Fermer — gris clair */
.wgdp-btn--close {
    background:   var(--wgdp-surface) !important;
    color:        var(--wgdp-text-muted) !important;
    border-color: var(--wgdp-border) !important;
    font-weight:  500 !important;
}
.wgdp-btn--close:hover:not(:disabled) {
    background: #f0f0f0 !important;
    color:      var(--wgdp-text) !important;
}

/* Réessayer — outline ORANGE */
.wgdp-btn--outline {
    background:   transparent !important;
    color:        var(--wgdp-primary) !important;
    border-color: var(--wgdp-primary) !important;
}
.wgdp-btn--outline:hover:not(:disabled) {
    background: var(--wgdp-primary-light) !important;
    color:      var(--wgdp-primary-dark) !important;
}

/* ============================================================
   SÉPARATEUR
   ============================================================ */
.wgdp-separator {
    display:     flex !important;
    align-items: center;
    gap:         10px;
    color:       var(--wgdp-text-muted) !important;
    font-size:   0.78rem !important;
    font-family: var(--wgdp-font) !important;
    margin:      4px 0;
}
.wgdp-separator::before,
.wgdp-separator::after { content:''; flex:1; height:1px; background:var(--wgdp-border); }

/* ============================================================
   CHAMP ADRESSE
   ============================================================ */
.wgdp-address-form { display: flex !important; flex-direction: column; gap: 8px; }

.wgdp-label {
    font-family:    var(--wgdp-font) !important;
    font-size:      0.78rem !important;
    font-weight:    600 !important;
    color:          var(--wgdp-text-muted) !important;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.wgdp-input-group {
    display:       flex !important;
    border:        2px solid var(--wgdp-border) !important;
    border-radius: 10px !important;
    overflow:      hidden;
    background:    var(--wgdp-input-bg) !important;
    transition:    border-color .17s, box-shadow .17s;
}
.wgdp-input-group:focus-within {
    border-color: var(--wgdp-primary) !important;
    box-shadow:   0 0 0 3px rgba(var(--wgdp-primary-rgb, 255,107,53),.15) !important;
}

.wgdp-input {
    flex:        1;
    padding:     0 14px !important;
    min-height:  46px;
    border:      none !important;
    outline:     none !important;
    font-family: var(--wgdp-font) !important;
    font-size:   0.92rem !important;
    color:       var(--wgdp-text) !important;
    background:  transparent !important;
    min-width:   0;
}
.wgdp-input::placeholder { color: #adb5bd !important; }

/* ============================================================
   ALERTES INLINE
   ============================================================ */
.wgdp-alert {
    padding:       11px 14px !important;
    border-radius: 8px !important;
    font-family:   var(--wgdp-font) !important;
    font-size:     0.85rem !important;
    line-height:   1.5;
    border-left:   3px solid currentColor;
    animation:     wgdpFadeIn .2s ease both;
    background: var(--wgdp-warning-bg) !important;
    color:      var(--wgdp-warning-text) !important;
}
[dir="rtl"] .wgdp-alert { border-left: none; border-right: 3px solid currentColor; }

/* ============================================================
   RÉSULTATS
   ============================================================ */
#wgdp-result-success,
#wgdp-result-error {
    display:        flex !important;
    flex-direction: column;
    gap:            12px;
    animation:      wgdpFadeIn .22s ease both;
}
#wgdp-result-success.wgdp-hidden,
#wgdp-result-error.wgdp-hidden { display: none !important; }

.wgdp-result {
    padding:       14px 16px !important;
    border-radius: 10px !important;
    display:       flex !important;
    gap:           11px;
    align-items:   flex-start;
}
.wgdp-result__icon { font-size: 1.25rem; flex-shrink: 0; line-height: 1.25; }
.wgdp-result__text {
    font-family: var(--wgdp-font) !important;
    font-size:   0.95rem !important;
    font-weight: 600 !important;
    margin:      0 !important;
    line-height: 1.5 !important;
}

/* Succès — vert clair */
.wgdp-result--success {
    background: var(--wgdp-success-bg) !important;
    border:     1px solid #bbf7d0 !important;
}
.wgdp-result--success .wgdp-result__text { color: var(--wgdp-success) !important; }

/* Erreur — rouge clair */
.wgdp-result--error {
    background: var(--wgdp-error-bg) !important;
    border:     1px solid #fecaca !important;
}
.wgdp-result--error .wgdp-result__text { color: var(--wgdp-error) !important; }

/* ============================================================
   BLOC TARIF — ORANGE clair
   ============================================================ */
.wgdp-zone-info {
    background:    var(--wgdp-primary-light) !important;
    border:        1px solid rgba(var(--wgdp-primary-rgb, 255,107,53),.30) !important;
    border-radius: 10px !important;
    padding:       14px 16px !important;
    animation:     wgdpFadeIn .22s ease both;
}
.wgdp-zone-info__inner { display: flex; gap: 12px; align-items: flex-start; }
.wgdp-zone-info__icon  { font-size: 1.4rem; flex-shrink: 0; line-height: 1; }
.wgdp-zone-info__label {
    font-family:    var(--wgdp-font) !important;
    font-size:      0.72rem !important;
    color:          var(--wgdp-text-muted) !important;
    margin:         0 0 4px !important;
    font-weight:    600 !important;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.wgdp-zone-info__price {
    font-family: var(--wgdp-font) !important;
    font-size:   1.3rem !important;
    font-weight: 700 !important;
    color:       var(--wgdp-primary-dark) !important;
    margin:      0 0 2px !important;
    line-height: 1.2;
}
.wgdp-zone-info__name {
    font-family: var(--wgdp-font) !important;
    font-size:   0.82rem !important;
    color:       var(--wgdp-text-muted) !important;
    margin:      0 !important;
}

/* ============================================================
   CARTE INTERACTIVE LEAFLET / OPENSTREETMAP
   ============================================================ */
.wgdp-map-container {
    margin-top:     4px;
    border-radius:  12px !important;
    overflow:       hidden;
    border:         2px solid var(--wgdp-border) !important;
    box-shadow:     0 4px 14px rgba(0,0,0,.06);
}

.wgdp-map {
    width:  100%;
    height: 280px;
    background: var(--wgdp-surface);
}

/* Personnalisation Leaflet — accents ORANGE */
.wgdp-map .leaflet-control-zoom a {
    background:    #ffffff !important;
    color:         var(--wgdp-primary) !important;
    border-color:  var(--wgdp-border) !important;
    font-weight:   700 !important;
}
.wgdp-map .leaflet-control-zoom a:hover {
    background: var(--wgdp-primary-light) !important;
    color:      var(--wgdp-primary-dark) !important;
}
.wgdp-map .leaflet-popup-content-wrapper {
    background:    #ffffff !important;
    border-radius: 10px !important;
    box-shadow:    0 4px 14px rgba(0,0,0,.15) !important;
}
.wgdp-map .leaflet-popup-content {
    font-family: var(--wgdp-font) !important;
    font-size:   0.86rem !important;
    margin:      10px 12px !important;
    color:       var(--wgdp-text) !important;
}
.wgdp-map .leaflet-popup-tip { background: #ffffff !important; }

/* ============================================================
   FOOTER
   ============================================================ */
.wgdp-modal__footer {
    padding:       10px 24px 14px !important;
    border-top:    1px solid var(--wgdp-border) !important;
    text-align:    center;
    background:    var(--wgdp-surface) !important;
    border-radius: 0 0 var(--wgdp-border-radius) var(--wgdp-border-radius);
}
.wgdp-powered        { font-family: var(--wgdp-font) !important; font-size: 0.72rem !important; color: var(--wgdp-text-muted) !important; margin: 0 !important; }
.wgdp-powered a      { color: var(--wgdp-primary) !important; text-decoration: none !important; font-weight: 600; }
.wgdp-powered a:hover{ text-decoration: underline !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 480px) {
    .wgdp-modal__header,
    .wgdp-modal__body,
    .wgdp-modal__footer { padding-left: 16px !important; padding-right: 16px !important; }
    .wgdp-modal__header { padding-top: 70px !important; }
    .wgdp-modal__title  { font-size: 1.1rem !important; }
    .wgdp-logo          { width: 48px; height: 48px; }
    .wgdp-map           { height: 220px; }
    .wgdp-lang-btn      { padding: 9px 13px !important; font-size: 0.9rem !important; }
    .wgdp-lang-flag     { font-size: 1.25rem !important; }
    .wgdp-lang-menu     { min-width: 170px; }
}

/* ============================================================
   RTL (Hébreu)
   ============================================================ */
[dir="rtl"] .wgdp-modal       { direction: rtl; text-align: right; }
[dir="rtl"] .wgdp-input       { direction: rtl; text-align: right; }
[dir="rtl"] .wgdp-input-group { flex-direction: row-reverse; }
[dir="rtl"] .wgdp-btn--verify { border-radius: 8px 0 0 8px !important; }
