/* Rivo eSIM — thème repris de esimrivo.com (blanc, actions orange, texte charbon, pied de page sombre).
   Chargé après app.css : supprimer ce fichier et son <link> dans layouts/app.blade.php ramène l'ancien design. */
:root{
  --bg:oklch(1 0 0);--fg:oklch(0.26 0.015 230);--surface:oklch(0.985 0.003 260);--card:oklch(1 0 0);
  --primary:oklch(0.57 0.18 45);--primary-fg:oklch(1 0 0);--primary-soft:oklch(0.97 0.018 55);
  --muted:oklch(0.96 0.004 260);--muted-fg:oklch(0.52 0.022 255);--accent:oklch(0.95 0.03 55);--accent-fg:oklch(0.45 0.14 45);
  --success:oklch(0.62 0.17 150);--success-soft:oklch(0.95 0.035 150);--warning:oklch(0.76 0.15 75);--danger:oklch(0.58 0.22 25);
  --border:oklch(0.93 0.004 260);--input:oklch(0.90 0.004 260);--radius:8px;
  --footer:oklch(0.24 0.008 260);--footer-fg:oklch(0.99 0 0);--footer-muted:oklch(0.78 0.008 260);--footer-border:oklch(0.40 0.008 260);
  --shadow-nav:0 -1px 0 oklch(0.93 0.004 260),0 -8px 32px oklch(0.16 0.03 255 / .04);
  --font:"Poppins",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --ring:0 0 0 3px color-mix(in oklab,var(--primary) 20%,transparent);
}
body{background:var(--bg)}
h1,h2,h3{letter-spacing:-.01em}
.no-scroll{overflow:hidden}

/* Coins : style esimrivo, plus net */
.tile,.plan,.card,.why div,.cta-card,.acc,.row,.step,.menu-list,.qr,.radio-card,.pay-box,.code-row,.inst,.trust div,.alert,.ai-band,.ai-demo,.hb-stats .st{border-radius:var(--radius)}
.tile,.plan,.row{border-color:var(--border)}
.tile:hover,.plan:hover,.row:hover{border-color:color-mix(in oklab,var(--primary) 50%,transparent)}
.step .num,.lang-menu .menu,.lang-menu .menu a,.copy{border-radius:6px}

/* Boutons et champs */
.btn{border-radius:var(--radius);font-weight:600;font-size:14px;min-height:44px;padding:0 18px}
.btn-sm{min-height:36px;font-size:13px;padding:0 12px;border-radius:var(--radius)}
.btn-lg{height:56px;border-radius:var(--radius)}
.btn-primary{background:var(--primary);color:var(--primary-fg)}
.btn-primary:hover{filter:none;background:color-mix(in oklab,var(--primary) 88%,black)}
.btn-outline{background:var(--card);border:1px solid var(--border)}
.btn-outline:hover{border-color:color-mix(in oklab,var(--primary) 50%,transparent)}
.in,.field-search input{border-color:var(--input);border-radius:var(--radius);height:48px}
textarea.in{height:auto}
.in:focus,.field-search input:focus{border-color:var(--primary);box-shadow:var(--ring)}
.pay-box{border-color:color-mix(in oklab,var(--primary) 40%,transparent)}
.tabs{border-radius:var(--radius)}
.tabs a{border-radius:6px;font-weight:600}
.tabs a.on{color:var(--primary)}
.badge{background:var(--primary-soft);color:var(--primary)}
.alert-ok{background:var(--success-soft);color:oklch(0.36 0.1 150)}

/* Bandeau du haut */
.announce{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--primary-soft);color:var(--primary);border-bottom:1px solid var(--border);font-size:11.5px;font-weight:500;padding:8px 16px}

/* En-tete */
.site-head{background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:70}
.site-head-in{max-width:1160px;margin:0 auto;min-height:72px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:inline-flex;align-items:center;gap:8px;color:var(--primary);flex-shrink:0}
.brand-mark{display:flex;align-items:center;justify-content:center;width:44px;height:36px;border:2px solid currentColor;border-radius:4px}
.brand-mark .ic{width:24px;height:24px}
.brand-name{font-size:20px;font-weight:800;letter-spacing:-.01em}
.dnav{display:none}
.top-actions{gap:8px}
.top-actions .lang-menu,.top-actions .avatar{display:none}
.pill{border-radius:var(--radius);background:var(--card);border-color:var(--border);font-weight:600}
.avatar{border-radius:var(--radius);background:var(--card)}
.menu-btn{display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:var(--radius);background:var(--primary);color:var(--primary-fg);cursor:pointer}
.menu-btn:hover{background:color-mix(in oklab,var(--primary) 88%,black)}
.menu-btn .ic-lg{width:28px;height:28px}
.lang-menu .menu a:hover,.lang-menu .menu a.on{background:var(--primary-soft);color:var(--primary)}

/* Menu lateral */
.drawer{position:fixed;inset:0;z-index:100}
.drawer[hidden]{display:none}
.drawer-bg{position:absolute;inset:0;background:oklch(0 0 0 / .4)}
.drawer-panel{position:absolute;top:0;bottom:0;inset-inline-start:0;width:82%;max-width:384px;overflow-y:auto;background:var(--card);box-shadow:0 20px 50px oklch(0 0 0 / .25);animation:drawerIn .2s ease-out}
[dir=rtl] .drawer-panel{animation-name:drawerInR}
@keyframes drawerIn{from{transform:translateX(-100%)}to{transform:none}}
@keyframes drawerInR{from{transform:translateX(100%)}to{transform:none}}
.drawer-head{display:flex;align-items:center;justify-content:space-between;min-height:88px;padding:0 24px;border-bottom:1px solid var(--border)}
.drawer-x{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:var(--radius);background:transparent;cursor:pointer}
.drawer-x:hover{background:var(--muted)}
.drawer-nav{list-style:none;margin:0;padding:0}
.drawer-nav li{border-bottom:1px solid var(--border)}
.drawer-nav a{display:flex;align-items:center;gap:16px;min-height:60px;padding:16px 24px;font-size:14px;font-weight:500}
.drawer-nav a:hover{background:var(--muted)}
.drawer-nav .ic{width:20px;height:20px;color:var(--primary)}
.drawer-prefs{display:flex;gap:8px;flex-wrap:wrap;padding:24px}
.drawer-prefs select{height:44px;border:0;border-radius:var(--radius);background:var(--primary-soft);color:var(--primary);font-weight:600;padding:0 12px}

/* Pied de page sombre */
.site-foot{margin-top:56px;background:var(--footer);color:var(--footer-fg)}
.foot-in{max-width:1160px;margin:0 auto;padding-inline:20px}
.foot-trust{background:color-mix(in oklab,var(--footer) 80%,var(--primary));border-bottom:1px solid var(--footer-border)}
.foot-trust-in{display:grid;gap:20px;padding-block:24px}
.ft-item{display:flex;align-items:center;gap:12px}
.ft-ic{display:grid;place-items:center;padding:8px;border:1px solid var(--footer-border);border-radius:var(--radius);color:var(--footer-muted)}
.ft-item b{display:block;font-size:14px;font-weight:600}
.ft-item span{display:block;font-size:12px;color:var(--footer-muted)}
.foot-cols{display:grid;gap:32px;padding-block:40px}
.brand-foot{color:var(--footer-fg)}
.foot-about{margin-top:16px;font-size:14px;line-height:1.75;color:var(--footer-muted)}
.foot-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;margin:0 0 18px}
.foot-a{display:block;color:var(--footer-muted);font-size:12.5px;margin-block:12px}
.foot-a:hover{color:var(--footer-fg)}
.foot-btn{display:inline-flex;align-items:center;gap:8px;margin-top:12px;height:36px;padding:0 12px;border:1px solid var(--footer-border);border-radius:var(--radius);font-size:13px;font-weight:600}
.foot-btn:hover{border-color:var(--footer-muted)}
.site-foot .prefs{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.site-foot .prefs select{height:36px;border:1px solid var(--footer-border);border-radius:var(--radius);padding:0 10px;background:transparent;color:var(--footer-fg);font-size:12.5px;font-weight:600}
.site-foot .prefs option{color:#111}
.foot-copy{border-top:1px solid var(--footer-border);padding-block:20px;font-size:12px;color:var(--footer-muted)}
@media (min-width:640px){.foot-trust-in{grid-template-columns:repeat(3,1fr)}.foot-cols{grid-template-columns:1fr 1fr}}
@media (min-width:900px){.foot-cols{grid-template-columns:1.3fr 1fr 1fr 1fr}}

/* Barre du bas (mobile) */
.bnav{background:var(--card);backdrop-filter:none;-webkit-backdrop-filter:none}
.bnav a{position:relative;font-weight:600}
.bnav a .pillx{width:auto;height:28px;background:none!important}
.bnav a.on::after{content:"";position:absolute;bottom:0;left:50%;width:32px;height:4px;margin-left:-16px;border-radius:999px;background:var(--primary)}

/* Accueil : bandeau voyage */
.hero.travel-hero{position:relative;overflow:hidden;text-align:center;min-height:400px;margin:0 -0px;padding:0;border-radius:0;
  background:radial-gradient(120% 80% at 80% 10%,oklch(0.93 0.06 75 / .9),transparent 60%),radial-gradient(90% 70% at 10% 30%,oklch(0.85 0.07 230 / .9),transparent 65%),linear-gradient(180deg,oklch(0.62 0.11 240) 0%,oklch(0.78 0.08 225) 55%,oklch(0.93 0.03 70) 100%)}
.travel-hero .hero-art{position:absolute;inset:0;width:100%;height:100%}
.travel-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,oklch(0.23 0.008 260 / .35),transparent 52%,var(--surface) 100%);pointer-events:none}
.travel-in{position:relative;z-index:1;max-width:56rem;margin:0 auto;padding:44px 20px 40px}
.travel-hero .hb-badge{background:oklch(1 0 0 / .9);color:var(--accent-fg);border-radius:999px;margin-bottom:14px}
.travel-hero .hb-badge .dot{background:var(--primary)}
.travel-title{color:#fff;font-size:34px;line-height:1.12;font-weight:900;text-shadow:0 3px 12px oklch(0.18 0.04 220 / .5)}
.travel-title span{display:block;margin-top:8px;font-size:26px;text-transform:uppercase}
.travel-sub{color:#fff;font-size:18px;font-weight:700;margin:22px 0 12px;text-shadow:0 3px 12px oklch(0.18 0.04 220 / .5)}
.travel-hero .search{max-width:30rem;margin:0 auto;background:var(--card);border:1px solid var(--input);border-radius:var(--radius);padding:6px 6px 6px 16px;box-shadow:var(--shadow-lift);text-align:start}
.travel-hero .search .ic{color:var(--muted-fg)}
.travel-hero .hb-go{background:var(--primary);border-radius:6px;font-weight:600}
.travel-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;max-width:20rem;height:48px;margin:12px auto 0;padding:4px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-soft)}
.travel-tabs a{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;font-size:14px;font-weight:600;color:var(--primary)}
.travel-tabs a.on{background:var(--primary);color:var(--primary-fg)}
.travel-hero .hb-ai{margin:14px auto 0;background:oklch(1 0 0 / .92);border:0;border-radius:999px;color:var(--fg)}
.travel-hero .hb-ai b{color:var(--primary)}
.travel-hero .sugg{text-align:start}
.dest-band{background:linear-gradient(var(--surface),var(--bg));padding:0 20px 8px}
.dest-grid{display:grid;gap:12px;max-width:1160px;margin:0 auto}
.dest-card{display:flex;align-items:center;gap:12px;min-height:68px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-soft);transition:border-color .15s}
.dest-card:hover{border-color:color-mix(in oklab,var(--primary) 50%,transparent)}
.dest-card b{flex:1;min-width:0;font-size:14px;font-weight:600}
.dest-card span{text-align:end;font-size:16px;font-weight:800;color:var(--primary);white-space:nowrap}
.dest-card small{display:block;font-size:9px;font-weight:600;text-transform:uppercase;color:var(--muted-fg)}
.dest-more{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:1160px;margin:20px auto 0}

/* Accents de l'ancien design (bleu, vert) ramenés à la palette */
.hb-stats .st{background:var(--surface);border:1px solid var(--border)}
.ai-band{background:var(--primary-soft)}
.ai-band .kicker{color:var(--primary)}
.ai-band .ai-txt>p:not(.kicker){color:var(--muted-fg)}
.ai-band .hb-btn.o{background:var(--primary);color:var(--primary-fg);border-radius:var(--radius)}
.ai-band .hb-btn.o:hover{background:color-mix(in oklab,var(--primary) 88%,black)}
.bub{background:var(--muted)}
.bub.best{border-color:var(--success)}
.hb-btn.o{background:var(--primary);color:var(--primary-fg);border-radius:var(--radius)}
.hb-btn.l{border-color:var(--border);border-radius:var(--radius)}
.cta-card{background-image:linear-gradient(160deg,var(--primary-soft) 0%,transparent 70%)}
.adv-fab{background:var(--primary)!important}

@media (max-width:1023px){.hb-go{display:inline-flex;align-items:center;height:40px;padding:0 14px}}
@media (min-width:640px){.dest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){
  .site-head-in{min-height:80px}
  .topbar{display:none}
  .dnav{display:flex;flex:1;justify-content:center;gap:4px}
  .dnav a{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:var(--radius);font-size:13px;font-weight:600;color:var(--fg)}
  .dnav a:hover{background:var(--muted)}
  .dnav a.on{background:var(--primary-soft);color:var(--primary)}
  .top-actions .lang-menu,.top-actions .avatar{display:block}
  .top-actions .avatar{display:grid}
  .is-wide .wrap.main{max-width:1160px}
  .hero.travel-hero{min-height:470px;margin:0 -32px}
  .travel-in{padding:64px 20px 58px}
  .travel-title{font-size:58px}
  .travel-title span{font-size:52px}
  .travel-sub{font-size:24px}
  .dest-band{margin:0 -32px;padding-inline:32px}
  .dest-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 22px}
  .travel-hero .search{padding:6px 6px 6px 18px}
  .travel-hero .hb-go{height:44px}
}
@media print{.site-head,.site-foot,.drawer,.announce{display:none!important}}

/* Bandeau et grille d'accueil sur toute la largeur de l'ecran */
.shell{overflow-x:clip}
.hero.travel-hero,.dest-band{margin-inline:calc(50% - 50vw)!important}
.dest-band{padding-inline:20px!important}

/* Pages pays / region / forfait : bandeau orange au lieu du bleu */
.d-hero,.c-hero{border-radius:var(--radius);background:radial-gradient(120% 140% at 100% 0%,oklch(0.72 0.16 60) 0%,transparent 55%),linear-gradient(135deg,var(--primary),oklch(0.42 0.13 40))}
.d-flag{border-radius:var(--radius)}
.d-hero .from b{color:oklch(0.95 0.08 85)}
.d-promo{border-radius:var(--radius)}
.cur-sel select{border-radius:var(--radius)}
.reco{background:var(--primary-soft);border-color:color-mix(in oklab,var(--primary) 25%,transparent)}
.reco summary .ic{color:var(--primary)}
.reco-out,.d-bar-in{border-radius:var(--radius)}
.dtabs button.on{color:var(--primary)}
.pc{border-radius:var(--radius)}
.pc.sel{box-shadow:var(--ring),var(--shadow-lift)}
.pc-flag{border-radius:0 0 6px 6px}
.t5{background:var(--primary-soft);color:var(--accent-fg)}
.search:hover{border-color:color-mix(in oklab,var(--primary) 30%,transparent)}
.legal{color:var(--fg)}
@media (min-width:640px) and (max-width:1023px){body{background:var(--bg)}}

/* Assistant de choix */
.adv{border-radius:var(--radius) var(--radius) 0 0}
.adv-head{background:var(--primary-soft)}
.adv-av,.adv-x{border-radius:var(--radius)}
.adv-chat{background:var(--surface)}
.adv-b{border-radius:var(--radius);border-start-start-radius:4px}
.adv-m.me .adv-b{border-start-start-radius:var(--radius);border-start-end-radius:4px}
.adv-c{border-color:var(--border)}
@media (min-width:1024px){.adv{border-radius:var(--radius)}}
.adv-inline{background:oklch(1 0 0 / .95)!important;color:var(--accent-fg)!important;border-color:transparent!important;border-radius:var(--radius)!important}

/* Page pays : Standard / Illimite (style esimsignal) + durees toutes visibles */
.ptype{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:14px 0 4px;padding:4px;background:var(--muted);border-radius:var(--radius)}
.ptype button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:8px 6px;border:0;border-radius:6px;background:transparent;color:var(--muted-fg);cursor:pointer;text-align:start}
.ptype button .ic{width:22px;height:22px;flex-shrink:0}
.ptype button b{display:block;font-size:14.5px;color:var(--fg);line-height:1.2}
.ptype button small{display:block;font-size:11px;line-height:1.3}
.ptype button.on{background:var(--card);box-shadow:var(--shadow-soft);color:var(--primary)}
.ptype button.on b{color:var(--primary)}
.dtabs-l{margin:16px 0 8px;font-size:14px;font-weight:700}
.dtabs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;gap:8px;overflow:visible!important;margin:0 0 14px;padding:0;background:none;border-radius:0}
.dtabs button{min-width:0!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-height:58px;padding:6px 2px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--muted-fg);font-weight:600;white-space:nowrap}
.dtabs button[hidden]{display:none}
.dtabs button b{font-size:19px;font-weight:800;color:var(--fg);line-height:1.15}
.dtabs button small{font-size:11px;font-weight:600}
.dtabs button:hover{border-color:color-mix(in oklab,var(--primary) 50%,transparent)}
.dtabs button.on{background:var(--primary);border-color:var(--primary);color:var(--primary-fg);box-shadow:var(--shadow-soft)}
.dtabs button.on b,.dtabs button.on small{color:var(--primary-fg)}
@media (min-width:520px){.dtabs{grid-template-columns:repeat(auto-fill,minmax(76px,1fr))}}

/* Logo image */
.brand-img{display:block;height:40px;width:auto}
.drawer-head .brand-img{height:36px}
.brand-foot .brand-img{height:38px}
@media (min-width:1024px){.site-head .brand-img{height:46px}}
@media (max-width:360px){.site-head .brand-img{height:34px}}
