/* Gratitude — shared header controls (theme + language dropdowns, home link) */

.crn-controls{display:flex; align-items:center; gap:10px;}

.crn-home-link{font-size:0.85rem; color:var(--ink-soft); text-decoration:none; border:1.5px solid var(--line); border-radius:999px; padding:6px 14px; white-space:nowrap;}
.crn-home-link:hover{color:var(--orange); border-color:var(--orange);}

.crn-theme-btn{border:1.5px solid var(--line); background:transparent; color:var(--ink-soft); border-radius:999px; width:36px; height:36px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; padding:0;}
.crn-theme-btn:hover{border-color:var(--orange); color:var(--orange);}
.crn-theme-btn.crn-lang-btn{width:auto; padding:0 12px; font-size:0.85rem; font-weight:700;}
/* raccourci vers DragonLoot express (option du mini-jeu) */
.crn-theme-btn.crn-dl-btn{width:auto; padding:0 11px; gap:5px; font-size:0.85rem;}
.crn-theme-btn.crn-dl-btn[hidden]{display:none;}
.crn-theme-btn.crn-dl-btn > :is(i,svg):first-child{color:#D7263D;}
.crn-theme-btn.crn-dl-btn > :is(i,svg):last-child{color:#C98A1B;}
.crn-theme-btn.crn-dl-btn:hover{border-color:#D7263D;}
.crn-theme-btn [data-theme-icon]{display:none; width:16px; height:16px; color:inherit;}
.crn-theme-btn svg[data-theme-icon]{fill:currentColor; stroke:currentColor;}

.crn-dropdown{position:relative; display:inline-block;}
.crn-dropdown-menu{position:absolute; right:0; top:calc(100% + 6px); background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:6px; min-width:160px; box-shadow:var(--shadow-lift); z-index:30; margin:0; list-style:none;}
.crn-dropdown-menu[hidden]{display:none;}
.crn-dropdown-menu li{margin:0;}
.crn-dropdown-menu li a,
.crn-dropdown-menu li button{
  display:flex; align-items:center; gap:8px; width:100%; text-align:left;
  padding:8px 10px; border-radius:8px; color:var(--ink); text-decoration:none;
  font-size:0.9rem; background:none; border:none; cursor:pointer; font-family:inherit;
}
.crn-dropdown-menu li a:hover,
.crn-dropdown-menu li button:hover{background:var(--cream-2);}
.crn-dropdown-menu li button[aria-selected="true"]{background:var(--cream-2); font-weight:700; color:var(--orange);}
.crn-dropdown-menu .crn-menu-label{font-size:0.75rem; color:var(--ink-faint); text-transform:uppercase; letter-spacing:0.03em; padding:6px 10px 2px;}

/* fixed top-right controls, for pages without a header bar (e.g. index.php) */
.crn-floating-controls{position:fixed; top:16px; right:16px; z-index:40; display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; max-width:calc(100vw - 20px);}
.crn-mobile-cta{background:var(--sun); color:#3A2A0E; text-decoration:none; font-size:0.8rem; padding:8px 14px; border-radius:999px; white-space:nowrap; box-shadow:0 3px 0 0 var(--sun-deep);}
.crn-hero-safe-top{padding-top:64px !important;}

/* "install as an app" banner, mobile only */
.crn-pwa-banner{
  position:fixed; left:12px; right:12px; bottom:12px; z-index:50;
  background:var(--paper); border:1px solid var(--line); border-radius:16px;
  box-shadow:var(--shadow-lift); padding:14px 14px 14px 16px;
  display:flex; align-items:center; gap:12px;
}
.crn-pwa-banner[hidden]{display:none;}
.crn-pwa-banner-text{flex:1; font-size:0.85rem; color:var(--ink); line-height:1.4;}
.crn-pwa-banner-android{display:none;}
.crn-pwa-banner-ios{display:none;}
.crn-pwa-banner[data-kind="android"] .crn-pwa-banner-android{display:inline;}
.crn-pwa-banner[data-kind="ios"] .crn-pwa-banner-ios{display:inline;}
.crn-pwa-banner-actions{display:flex; align-items:center; gap:8px; flex-shrink:0;}
.crn-pwa-banner-btn{background:var(--sun); color:#3A2A0E; border:none; border-radius:999px; padding:9px 16px; font-size:0.85rem; font-weight:700; cursor:pointer; white-space:nowrap;}
.crn-pwa-banner[data-kind="ios"] .crn-pwa-banner-btn{display:none;}
.crn-pwa-banner-close{background:none; border:none; color:var(--ink-faint); font-size:1rem; cursor:pointer; padding:4px;}

@media (max-width:576px){
  .crn-floating-controls{top:10px; right:10px; gap:6px;}
  .crn-mobile-cta{font-size:0.72rem; padding:7px 11px;}
  .crn-dropdown-menu{right:-10px; min-width:150px;}
  .crn-pwa-banner{padding:12px; gap:8px;}
  .crn-pwa-banner-text{font-size:0.8rem;}
  .crn-hero-safe-top{padding-top:76px !important; padding-left:24px !important; padding-right:24px !important; padding-bottom:24px !important;}
  .crn-hero-safe-top h1.fraunces-400{font-size:clamp(3.6rem, 18vw, 5.2rem) !important; line-height:1.02; margin-top:22px !important;}
}

/* ---------- Fenêtre « Privé » (confidentialité / mentions légales) ---------- */
.crn-legal-link{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;
  text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;}
.crn-legal-link:hover,.crn-legal-link:focus-visible{color:var(--orange);}
.crn-legal{
  width:min(640px, calc(100vw - 24px)); max-height:min(86vh, 820px); padding:0;
  border:1px solid var(--line); border-radius:var(--radius-lg, 20px);
  background:var(--cream); color:var(--ink); box-shadow:0 20px 60px rgba(0,0,0,0.3);
  overflow:hidden; flex-direction:column;
}
.crn-legal[open]{display:flex;}
.crn-legal::backdrop{background:rgba(20,14,8,0.5); backdrop-filter:blur(2px);}
.crn-legal.crn-legal-fallback{position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); z-index:1000;}
html.crn-legal-open{overflow:hidden;}
.crn-legal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line);}
.crn-legal-head h2{font-size:1.25rem;margin:0;color:var(--ink);}
.crn-legal-head h2 :is(i,svg){color:var(--orange);margin-right:4px;}
.crn-legal-x{background:none;border:none;color:var(--ink-soft);font-size:1.05rem;cursor:pointer;padding:4px 8px;border-radius:8px;}
.crn-legal-x:hover{color:var(--ink);background:var(--cream-2);}
.crn-legal-body{padding:18px 22px 8px;overflow-y:auto;font-size:0.9rem;line-height:1.55;color:var(--ink-soft);}
.crn-legal-intro{color:var(--ink);font-size:0.95rem;margin-bottom:14px;}
.crn-legal-section{background:var(--cream-2);border-radius:var(--radius, 14px);padding:12px 16px;margin-bottom:10px;}
.crn-legal-section h3{font-size:0.95rem;color:var(--ink);margin:0 0 6px;}
.crn-legal-section h3 :is(i,svg){color:var(--orange);}
.crn-legal-section p{margin:0 0 6px;}
.crn-legal-section p:last-child{margin-bottom:0;}
.crn-legal-body a{color:var(--orange);}
.crn-legal-contact{margin:12px 0 4px;color:var(--ink);}
.crn-legal-updated{font-size:0.78rem;color:var(--ink-faint, var(--ink-soft));margin:10px 0 8px;}
.crn-legal-foot{padding:12px 22px 16px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;}
.crn-legal-btn{background:var(--ink);color:var(--cream);border:none;border-radius:999px;padding:9px 22px;font-size:0.88rem;cursor:pointer;}
.crn-legal-btn:hover{opacity:0.88;}
@media (max-width:520px){
  .crn-legal{max-height:92vh;}
  .crn-legal-head,.crn-legal-body,.crn-legal-foot{padding-left:16px;padding-right:16px;}
}

/* ---------- SweetAlert2 : suit le thème du site (clair / sombre, bouton jaune) ---------- */
.swal2-container.swal2-backdrop-show{background:rgba(20,14,8,0.5);}
.swal2-container .swal2-popup{
  background:var(--cream); color:var(--ink);
  border:1px solid var(--line); border-radius:var(--radius-lg, 20px);
  box-shadow:var(--shadow-lift); font-family:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}
.swal2-container .swal2-title{color:var(--ink); font-family:'Fraunces', serif; font-weight:600;}
.swal2-container .swal2-html-container{color:var(--ink-soft);}
.swal2-container .swal2-html-container strong,
.swal2-container .swal2-html-container h3{color:var(--ink);}
.swal2-container .swal2-close{color:var(--ink-faint);}
.swal2-container .swal2-close:hover{color:var(--ink);}
.swal2-container .swal2-close:focus{box-shadow:0 0 0 3px rgba(244,185,66,0.45);}

.swal2-container .swal2-actions{gap:10px;}
.swal2-container .swal2-styled{
  border-radius:999px; padding:10px 24px; font-weight:600; font-size:0.95rem;
  transition:transform .15s ease, box-shadow .15s ease;
}
.swal2-container .swal2-styled:focus,
.swal2-container .swal2-styled:focus-visible{box-shadow:0 0 0 3px rgba(244,185,66,0.45);}
.swal2-container .swal2-styled.swal2-confirm{
  background:var(--sun); color:#3A2A0E; border:none;
  box-shadow:0 4px 0 0 var(--sun-deep);
}
:root[data-bs-theme="dark"] .swal2-container .swal2-styled.swal2-confirm{color:#2A1F0B;}
.swal2-container .swal2-styled.swal2-confirm:hover{background:var(--sun); transform:translateY(-1px); background-image:none;}
.swal2-container .swal2-styled.swal2-confirm:active{transform:translateY(2px); box-shadow:0 1px 0 0 var(--sun-deep);}
.swal2-container .swal2-styled.swal2-confirm:focus-visible{box-shadow:0 4px 0 0 var(--sun-deep), 0 0 0 3px rgba(244,185,66,0.45);}
.swal2-container .swal2-styled.swal2-cancel,
.swal2-container .swal2-styled.swal2-deny{
  background:transparent; color:var(--ink); border:1.5px solid var(--line); box-shadow:none;
}
.swal2-container .swal2-styled.swal2-cancel:hover,
.swal2-container .swal2-styled.swal2-deny:hover{background:var(--cream-2); background-image:none;}

.swal2-container .swal2-input,
.swal2-container .swal2-textarea,
.swal2-container .swal2-select{
  background:var(--cream); color:var(--ink); border:1.5px solid var(--line); border-radius:var(--radius-sm, 8px); box-shadow:none;
}
.swal2-container .swal2-input:focus,
.swal2-container .swal2-textarea:focus,
.swal2-container .swal2-select:focus{border-color:var(--sun); box-shadow:0 0 0 3px rgba(244,185,66,0.3);}
.swal2-container .swal2-validation-message{background:var(--cream-2); color:var(--ink-soft);}
.swal2-container .swal2-timer-progress-bar{background:var(--sun);}

/* icônes : couleurs de la palette */
.swal2-container .swal2-icon.swal2-warning{border-color:var(--sun); color:var(--sun-deep);}
.swal2-container .swal2-icon.swal2-info{border-color:var(--moss); color:var(--moss);}
.swal2-container .swal2-icon.swal2-question{border-color:var(--orange); color:var(--orange);}
.swal2-container .swal2-icon.swal2-error{border-color:var(--rose); color:var(--rose);}
.swal2-container .swal2-icon.swal2-error [class^=swal2-x-mark-line]{background-color:var(--rose);}
.swal2-container .swal2-icon.swal2-success{border-color:var(--moss); color:var(--moss);}
.swal2-container .swal2-icon.swal2-success [class^=swal2-success-line]{background-color:var(--moss);}
.swal2-container .swal2-icon.swal2-success .swal2-success-ring{border-color:color-mix(in srgb, var(--moss) 35%, transparent);}
.swal2-container .swal2-icon.swal2-success [class^=swal2-success-circular-line],
.swal2-container .swal2-icon.swal2-success .swal2-success-fix{background-color:var(--cream) !important;}

/* ---------- Fenêtre « Nouveautés » (réutilise le style de « Privé ») ---------- */
.crn-version-link{text-decoration-style:dotted;}
.crn-changelog .crn-legal-head h2 :is(i,svg){color:var(--sun-deep, var(--orange));}
.crn-cl-version ul{margin:0; padding-left:1.15rem;}
.crn-cl-version li{margin:0 0 5px;}
.crn-cl-version li:last-child{margin-bottom:0;}
.crn-cl-version.current{border:1.5px solid var(--sun, #F4B942);}
.crn-cl-badge{display:inline-block; margin-left:6px; padding:2px 9px; border-radius:999px; font-size:0.7rem; letter-spacing:0.04em;
  background:var(--sun, #F4B942); color:#3A2A0E; vertical-align:middle;}
@media (min-width:992px){ .crn-pwa-banner{left:auto;right:20px;bottom:20px;max-width:440px;} }
