/* ===== assets/css/style.css ===== */
:root {
  --casa-navy: #102a43;
  --casa-navy-2: #183f63;
  --casa-blue: #b1caea;
  --casa-blue-2: #7fa8d8;
  --casa-red: #d3372e;
  --casa-green: #22a24d;
  --casa-sand: #f5f1e8;
  --ink: #11263a;
  --muted: #61758a;
  --surface: #ffffff;
  --surface-2: #f5f8fb;
  --border: #dce5ee;
  --shadow: 0 18px 45px rgba(16, 42, 67, .10);
  --shadow-soft: 0 8px 24px rgba(16, 42, 67, .08);
  --radius-lg: 26px;
  --radius-md: 18px;
  --radius-sm: 12px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: "Segoe UI", Tahoma, Arial, sans-serif;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
body[dir="rtl"] { font-family: Tahoma, "Segoe UI", Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.container { width: min(var(--container), calc(100% - 32px)); margin-inline: auto; }
.section { padding: 76px 0; }
.section-sm { padding: 48px 0; }
.section-muted { background: var(--surface-2); }

.skip-link {
  position: fixed; inset-inline-start: 16px; top: -80px; z-index: 9999;
  background: var(--casa-navy); color: #fff; padding: 10px 14px; border-radius: 10px;
}
.skip-link:focus { top: 16px; }

.site-header {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(220,229,238,.86);
}
.header-inner {
  min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.brand { display: inline-flex; align-items: center; min-width: 224px; line-height: 0; }
.brand img { display:block; width: 250px; max-height: 54px; height: auto; object-fit: contain; }
.main-nav { display: flex; align-items: center; gap: 7px; }
.main-nav a {
  padding: 10px 13px; border-radius: 11px; color: #314b61; font-weight: 650; font-size: .95rem;
}
.main-nav a:hover, .main-nav a.active { background: #edf4fb; color: var(--casa-navy); }
.header-actions { display: flex; align-items: center; gap: 9px; }
.lang-switch, .menu-toggle {
  border: 1px solid var(--border); background: #fff; color: var(--casa-navy);
  border-radius: 12px; min-height: 42px; padding: 0 12px; font-weight: 750;
}
.menu-toggle { display: none; width: 44px; padding: 0; font-size: 1.25rem; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 46px; padding: 0 18px; border-radius: 14px; border: 1px solid transparent;
  font-weight: 750; transition: .2s ease; text-align: center;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { color: #fff; background: var(--casa-red); box-shadow: 0 10px 24px rgba(211,55,46,.22); }
.btn-primary:hover { background: #be2f28; }
.btn-secondary { background: var(--casa-navy); color: #fff; }
.btn-soft { background: #edf4fb; color: var(--casa-navy); border-color: #d8e6f4; }
.btn-outline { background: #fff; border-color: var(--border); color: var(--casa-navy); }
.btn-green { background: var(--casa-green); color: #fff; }
.btn-sm { min-height: 38px; padding: 0 13px; border-radius: 11px; font-size: .92rem; }

.hero {
  position: relative; overflow: hidden;
  padding: 84px 0 66px;
  background:
    radial-gradient(circle at 85% 10%, rgba(177,202,234,.55), transparent 30%),
    radial-gradient(circle at 10% 15%, rgba(34,162,77,.10), transparent 24%),
    linear-gradient(180deg, #f9fcff 0%, #fff 100%);
}
.hero::after {
  content: ""; position: absolute; inset: auto 0 0; height: 7px;
  background: linear-gradient(90deg, var(--casa-green) 0 33%, var(--casa-red) 33% 66%, var(--casa-blue-2) 66%);
}
.hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 54px; align-items: center; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 999px;
  background: #eef6ef; color: #18753a; font-size: .88rem; font-weight: 800; margin-bottom: 18px;
}
.hero h1 { margin: 0; font-size: clamp(2.35rem, 5vw, 4.7rem); line-height: 1.08; letter-spacing: -.045em; color: var(--casa-navy); }
.hero h1 span { color: var(--casa-red); }
.hero-lead { max-width: 680px; margin: 20px 0 26px; color: #526b80; font-size: 1.12rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-visual { position: relative; }
.hero-visual::before {
  content: ""; position: absolute; inset: 8% -8% -8% 14%; z-index: -1;
  background: linear-gradient(140deg, rgba(177,202,234,.42), rgba(34,162,77,.08)); border-radius: 40px;
}
.hero-visual img { filter: drop-shadow(0 22px 35px rgba(16,42,67,.14)); }

.search-shell {
  margin-top: 30px; display: flex; gap: 9px; max-width: 680px; padding: 8px;
  background: #fff; border: 1px solid var(--border); border-radius: 18px; box-shadow: var(--shadow-soft);
}
.search-shell input { flex: 1; min-width: 0; border: 0; outline: 0; padding: 0 12px; color: var(--ink); background: transparent; }
.search-results {
  display: none; position: absolute; z-index: 40; top: calc(100% + 8px); inset-inline: 0;
  background: #fff; border: 1px solid var(--border); border-radius: 16px; box-shadow: var(--shadow); overflow: hidden;
}
.search-wrap { position: relative; max-width: 680px; }
.search-results.open { display: block; }
.search-results a { display: block; padding: 12px 14px; border-bottom: 1px solid #eef2f6; }
.search-results a:last-child { border-bottom: 0; }
.search-results a:hover { background: #f6f9fc; }
.search-results strong { display: block; color: var(--casa-navy); }
.search-results span { color: var(--muted); font-size: .88rem; }

.quick-strip { margin-top: -26px; position: relative; z-index: 5; }
.quick-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.quick-card {
  background: #fff; border: 1px solid var(--border); border-radius: 18px; box-shadow: var(--shadow-soft);
  padding: 18px; display: flex; align-items: center; gap: 13px; transition: .2s ease;
}
.quick-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.quick-icon {
  width: 48px; height: 48px; flex: 0 0 48px; border-radius: 15px;
  display: grid; place-items: center; background: #edf4fb; color: var(--casa-navy); font-size: 1.3rem;
}
.quick-card:nth-child(2) .quick-icon { background: #fdf0ef; color: var(--casa-red); }
.quick-card:nth-child(3) .quick-icon { background: #eaf7ef; color: var(--casa-green); }
.quick-card:nth-child(4) .quick-icon { background: #f6f0fb; color: #744a9c; }
.quick-card strong { display: block; color: var(--casa-navy); }
.quick-card small { color: var(--muted); }

.section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.section-head h2, .page-hero h1 { margin: 0; color: var(--casa-navy); letter-spacing: -.03em; }
.section-head h2 { font-size: clamp(1.75rem, 3vw, 2.55rem); }
.section-head p { margin: 8px 0 0; color: var(--muted); max-width: 700px; }
.kicker { color: var(--casa-red); font-size: .87rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 850; }

.cards-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.service-card {
  position: relative; background: #fff; border: 1px solid var(--border); border-radius: var(--radius-md);
  padding: 24px; min-height: 250px; overflow: hidden; transition: .22s ease;
}
.service-card::before {
  content: ""; position: absolute; width: 110px; height: 110px; border-radius: 50%;
  inset-inline-end: -40px; top: -40px; background: rgba(177,202,234,.28);
}
.service-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: #c8d8e8; }
.card-icon {
  width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px;
  background: #edf4fb; color: var(--casa-navy); margin-bottom: 18px; font-size: 1.45rem;
}
.service-card h3 { margin: 0 0 9px; color: var(--casa-navy); font-size: 1.18rem; }
.service-card p { margin: 0 0 20px; color: var(--muted); }
.card-link { display: inline-flex; align-items: center; gap: 6px; color: var(--casa-red); font-weight: 800; }
.badge {
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 999px;
  background: #eef5fb; color: var(--casa-navy); font-size: .78rem; font-weight: 800;
}
.badge.green { background: #eaf7ef; color: #18753a; }
.badge.red { background: #fdf0ef; color: #ac2d26; }
.badge.gold { background: #fff7dd; color: #8a6813; }

.feature-band {
  border-radius: 28px; background: var(--casa-navy); color: #fff; overflow: hidden;
  display: grid; grid-template-columns: 1fr 1fr; min-height: 390px;
}
.feature-copy { padding: 48px; }
.feature-copy h2 { font-size: clamp(2rem, 4vw, 3.1rem); margin: 0 0 16px; line-height: 1.16; }
.feature-copy p { color: #cfdeea; margin: 0 0 24px; }
.feature-list { list-style: none; padding: 0; margin: 22px 0; display: grid; gap: 10px; }
.feature-list li { display: flex; gap: 10px; align-items: flex-start; }
.feature-list li::before { content: "✓"; color: #8fe0ac; font-weight: 900; }
.feature-art { padding: 32px; background: linear-gradient(145deg, rgba(177,202,234,.14), rgba(34,162,77,.10)); display: grid; place-items: center; }
.mini-dashboard { width: 100%; max-width: 460px; background: #fff; color: var(--ink); border-radius: 22px; padding: 18px; box-shadow: 0 24px 50px rgba(0,0,0,.18); }
.mini-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px; border-radius: 14px; background: #f5f8fb; margin-bottom: 10px; }
.mini-row:last-child { margin-bottom: 0; }
.mini-row strong { color: var(--casa-navy); }

.page-hero {
  padding: 58px 0 44px; background: linear-gradient(180deg, #f6faff, #fff); border-bottom: 1px solid var(--border);
}
.page-hero-grid { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; }
.page-hero h1 { font-size: clamp(2.1rem, 4vw, 3.8rem); }
.page-hero p { max-width: 760px; color: var(--muted); font-size: 1.07rem; margin: 14px 0 0; }
.page-chip { padding: 13px 16px; background: #fff; border: 1px solid var(--border); border-radius: 16px; box-shadow: var(--shadow-soft); }

.content-grid { display: grid; grid-template-columns: 1fr 360px; gap: 30px; align-items: start; }
.sidebar { position: sticky; top: 98px; display: grid; gap: 16px; }
.panel {
  background: #fff; border: 1px solid var(--border); border-radius: var(--radius-md); padding: 24px;
}
.panel.shadow { box-shadow: var(--shadow-soft); }
.panel h2, .panel h3 { color: var(--casa-navy); margin-top: 0; }
.panel p:last-child { margin-bottom: 0; }
.notice {
  border-inline-start: 5px solid var(--casa-blue-2); background: #f1f7fd; padding: 16px 18px; border-radius: 12px;
}
.notice.warning { border-color: #e6a700; background: #fff9e6; }
.notice.danger { border-color: var(--casa-red); background: #fdf1f0; }
.notice.success { border-color: var(--casa-green); background: #edf9f1; }

.step-list { counter-reset: step; list-style: none; padding: 0; margin: 0; display: grid; gap: 15px; }
.step-list li { counter-increment: step; position: relative; padding: 17px 58px 17px 18px; background: #f7f9fb; border: 1px solid #e7edf3; border-radius: 14px; }
[dir="ltr"] .step-list li { padding: 17px 18px 17px 58px; }
.step-list li::before {
  content: counter(step); position: absolute; inset-inline-start: 16px; top: 15px;
  width: 30px; height: 30px; border-radius: 10px; background: var(--casa-navy); color: #fff;
  display: grid; place-items: center; font-weight: 850;
}
.check-list { list-style: none; padding: 0; display: grid; gap: 10px; }
.check-list li { position: relative; padding-inline-start: 26px; }
.check-list li::before { content: "✓"; position: absolute; inset-inline-start: 0; color: var(--casa-green); font-weight: 900; }

.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.field { display: grid; gap: 7px; }
.field.full { grid-column: 1 / -1; }
.field label { font-weight: 750; color: #29465d; }
.field input, .field select, .field textarea {
  width: 100%; border: 1px solid #cfdbe6; background: #fff; color: var(--ink);
  border-radius: 13px; padding: 12px 13px; outline: none;
}
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--casa-blue-2); box-shadow: 0 0 0 4px rgba(127,168,216,.16); }
.field small { color: var(--muted); }
.form-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.result-box {
  margin-top: 20px; padding: 20px; border-radius: 16px; background: #f3f7fb; border: 1px solid #dbe7f2;
}
.result-box[hidden] { display: none; }
.result-value { font-size: 2rem; font-weight: 900; color: var(--casa-navy); line-height: 1.2; }
.result-meta { color: var(--muted); margin-top: 6px; }
.output-text { white-space: pre-wrap; background: #f8fafc; border: 1px solid var(--border); padding: 18px; border-radius: 14px; min-height: 180px; }

.tool-tabs, .line-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.tool-tab, .line-tab {
  border: 1px solid var(--border); background: #fff; color: var(--casa-navy); border-radius: 12px; padding: 10px 14px; font-weight: 800;
}
.tool-tab.active, .line-tab.active { background: var(--casa-navy); color: #fff; border-color: var(--casa-navy); }
.tool-panel, .line-panel { display: none; }
.tool-panel.active, .line-panel.active { display: block; }

.tool-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.tool-card { background: #fff; border: 1px solid var(--border); border-radius: 20px; padding: 24px; }
.tool-card h2, .tool-card h3 { color: var(--casa-navy); margin-top: 0; }

.transport-layout { display: grid; grid-template-columns: 1.08fr .92fr; gap: 26px; }
.map-card { background: #fff; border: 1px solid var(--border); border-radius: 22px; padding: 18px; box-shadow: var(--shadow-soft); }
#tram-map { height: 520px; border-radius: 16px; overflow: hidden; background: #e9f1f8; }
.map-legend { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.legend-item { display: inline-flex; align-items: center; gap: 7px; font-size: .88rem; color: #3d566b; }
.legend-dot { width: 11px; height: 11px; border-radius: 50%; }
.line-card { border: 1px solid var(--border); border-radius: 16px; padding: 18px; background: #fff; }
.line-head { display: flex; justify-content: space-between; gap: 14px; align-items: center; margin-bottom: 16px; }
.line-code { width: 48px; height: 48px; border-radius: 15px; display: grid; place-items: center; color: #fff; font-weight: 900; }
.line-route { font-weight: 850; color: var(--casa-navy); }
.timetable { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.time-item { background: #f6f9fc; border-radius: 12px; padding: 11px; }
.time-item small { color: var(--muted); display: block; }
.time-item strong { color: var(--casa-navy); }

.schematic { width: 100%; overflow: hidden; border: 1px solid var(--border); border-radius: 18px; background: #fbfdff; padding: 14px; }
.schematic svg { width: 100%; height: auto; }

.sources-list { display: grid; gap: 13px; }
.source-item { padding: 15px; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.source-item strong { color: var(--casa-navy); }
.source-item small { display: block; color: var(--muted); }

.cta-band {
  border-radius: 28px; padding: 36px; background: linear-gradient(110deg, var(--casa-red), #b82f28); color: #fff;
  display: flex; align-items: center; justify-content: space-between; gap: 22px;
}
.cta-band h2 { margin: 0; }
.cta-band p { margin: 6px 0 0; color: #ffe1df; }

.site-footer { background: #0c2235; color: #d8e4ee; margin-top: 70px; }
.footer-main { padding: 54px 0 34px; display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); gap: 32px; }
.footer-brand img { display:block; width: 260px; max-width:100%; height:auto; background:#fff; padding:12px 14px; border-radius:14px; filter:none; opacity:1; }
.footer-brand p { color: #abc0d0; max-width: 360px; }
.footer-col h3 { color: #fff; font-size: 1rem; margin: 0 0 14px; }
.footer-col a { display: block; color: #b9ccda; padding: 4px 0; }
.footer-col a:hover { color: #fff; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); padding: 18px 0; color: #9fb4c4; font-size: .9rem; }
.footer-bottom-inner { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }

.empty-state { padding: 30px; text-align: center; color: var(--muted); border: 1px dashed #cbd8e3; border-radius: 16px; }
.hidden { display: none !important; }
.text-muted { color: var(--muted); }
.text-red { color: var(--casa-red); }
.text-green { color: var(--casa-green); }
.mt-0 { margin-top: 0; }
.mt-1 { margin-top: 8px; }
.mt-2 { margin-top: 16px; }
.mt-3 { margin-top: 24px; }
.mb-0 { margin-bottom: 0; }
.center { text-align: center; }

@media (max-width: 1040px) {
  .main-nav { position: fixed; inset: 77px 16px auto; display: none; flex-direction: column; align-items: stretch; background: #fff; border: 1px solid var(--border); box-shadow: var(--shadow); border-radius: 18px; padding: 12px; }
  .main-nav.open { display: flex; }
  .menu-toggle { display: inline-grid; place-items: center; }
  .header-actions .btn { display: none; }
  .hero-grid, .feature-band, .transport-layout { grid-template-columns: 1fr; }
  .hero-visual { max-width: 720px; margin-inline: auto; }
  .quick-grid { grid-template-columns: repeat(2, 1fr); }
  .cards-grid { grid-template-columns: repeat(2, 1fr); }
  .content-grid { grid-template-columns: 1fr; }
  .sidebar { position: static; }
  .footer-main { grid-template-columns: repeat(2, 1fr); }
  #tram-map { height: 430px; }
}

@media (max-width: 720px) {
  .container { width: min(100% - 22px, var(--container)); }
  .brand { min-width: 176px; }
  .brand img { width: 205px; max-height: 46px; }
  .header-inner { min-height: 68px; gap: 10px; }
  .main-nav { inset-block-start: 69px; }
  .hero { padding: 54px 0 54px; }
  .hero-grid { gap: 32px; }
  .hero h1 { letter-spacing: -.025em; }
  .search-shell { flex-direction: column; }
  .search-shell .btn { width: 100%; }
  .quick-strip { margin-top: -15px; }
  .quick-grid, .cards-grid, .tool-grid, .form-grid, .footer-main { grid-template-columns: 1fr; }
  .section { padding: 56px 0; }
  .section-head { align-items: start; flex-direction: column; }
  .feature-copy { padding: 30px 24px; }
  .feature-art { padding: 24px; }
  .page-hero-grid { grid-template-columns: 1fr; }
  .page-chip { justify-self: start; }
  .field.full { grid-column: auto; }
  .cta-band { align-items: flex-start; flex-direction: column; padding: 28px 22px; }
  .timetable { grid-template-columns: 1fr; }
  #tram-map { height: 360px; }
  .footer-main { padding-top: 40px; }
}

@media print {
  .site-header, .site-footer, .btn, .tool-tabs, .page-chip { display: none !important; }
  body { color: #000; background: #fff; }
  .section, .page-hero { padding: 20px 0; }
  .panel, .tool-card, .service-card { box-shadow: none; border-color: #bbb; }
}


/* Emergency directory */
.emergency-hero {
  background:
    radial-gradient(circle at 12% 22%, rgba(211,55,46,.12), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(177,202,234,.34), transparent 30%),
    linear-gradient(180deg, #fff 0%, #f8fbff 100%);
}
.emergency-top { padding-top: 0; margin-top: -20px; position: relative; z-index: 2; }
.emergency-alert {
  display: flex; align-items: center; justify-content: space-between; gap: 22px;
  padding: 24px 26px; border: 1px solid rgba(211,55,46,.25); border-radius: var(--radius-lg);
  background: #fff; box-shadow: var(--shadow-md);
}
.emergency-alert > div:first-child { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; }
.emergency-alert strong { color: var(--casa-red); font-size: 1.15rem; }
.emergency-alert p { grid-column: 2; margin: 3px 0 0; color: var(--muted); }
.emergency-pulse { width: 13px; height: 13px; border-radius: 50%; background: var(--casa-red); box-shadow: 0 0 0 7px rgba(211,55,46,.12); }
.emergency-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.btn-emergency { background: var(--casa-red); color: #fff; border-color: var(--casa-red); }
.btn-emergency:hover { background: #b92922; color: #fff; }
.btn-emergency-dark { background: var(--casa-navy); color: #fff; border-color: var(--casa-navy); }
.btn-emergency-dark:hover { background: #071b2d; color: #fff; }
.emergency-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.emergency-card {
  overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-lg);
  background: #fff; box-shadow: var(--shadow-sm); display: flex; flex-direction: column;
}
.emergency-card::before { content: ''; display: block; height: 6px; background: var(--casa-navy); }
.emergency-card.police-card::before, .emergency-card.rescue-card::before { background: var(--casa-red); }
.emergency-card.mobile-card::before { background: var(--casa-blue); }
.emergency-card.gendarmerie-card::before { background: var(--casa-green); }
.emergency-icon { font-size: 2rem; padding: 22px 22px 0; }
.emergency-card-body { padding: 12px 22px 22px; display: flex; flex-direction: column; flex: 1; }
.emergency-card h3 { margin: 14px 0 8px; color: var(--casa-navy); }
.emergency-card p { color: var(--muted); margin: 0; min-height: 82px; }
.emergency-number {
  display: block; margin: 18px 0 14px; color: var(--casa-navy); text-decoration: none;
  font-size: clamp(2.2rem, 4vw, 3.3rem); line-height: 1; font-weight: 800; letter-spacing: .02em;
}
.emergency-number:hover { color: var(--casa-red); }
.btn-block { width: 100%; margin-top: auto; }
.danger-badge { color: #a51f19; background: #fcedeb; border-color: rgba(211,55,46,.22); }
.emergency-soft { background: #f7fafc; }
.compact-head { margin-bottom: 16px; }
.poison-panel { border-top: 5px solid var(--casa-green); }
.poison-call-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.call-tile {
  display: flex; flex-direction: column; gap: 4px; padding: 20px; border-radius: var(--radius-md);
  border: 1px solid var(--border); background: #fff; text-decoration: none; color: var(--casa-navy);
}
.call-tile:hover { border-color: var(--casa-blue); transform: translateY(-1px); }
.call-tile.primary-call { background: #edf9f1; border-color: rgba(34,162,77,.28); }
.call-tile small, .call-tile span { color: var(--muted); }
.call-tile strong { font-size: clamp(1.45rem, 3vw, 2rem); }
.corruption-band {
  display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center;
  padding: 40px; border-radius: var(--radius-lg); color: #fff;
  background: linear-gradient(135deg, var(--casa-navy), #183f62);
}
.corruption-band .kicker { color: var(--casa-blue); }
.corruption-band h2 { margin: 8px 0 12px; color: #fff; }
.corruption-band p { color: rgba(255,255,255,.76); max-width: 760px; }
.corruption-band .btn-outline { color: #fff; border-color: rgba(255,255,255,.48); }
.corruption-band .btn-outline:hover { background: #fff; color: var(--casa-navy); }
.corruption-number {
  min-width: 220px; aspect-ratio: 1; border-radius: 50%; display: flex; flex-direction: column;
  align-items: center; justify-content: center; text-align: center; border: 1px solid rgba(255,255,255,.26);
  background: rgba(255,255,255,.08);
}
.corruption-number span, .corruption-number small { color: rgba(255,255,255,.72); }
.corruption-number strong { font-size: 3.4rem; line-height: 1.05; color: #fff; }

@media (max-width: 1080px) {
  .emergency-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
  .emergency-alert { align-items: flex-start; flex-direction: column; }
  .corruption-band { grid-template-columns: 1fr; }
  .corruption-number { min-width: 180px; width: 180px; justify-self: center; }
}
@media (max-width: 720px) {
  .emergency-grid, .poison-call-grid { grid-template-columns: 1fr; }
  .emergency-card p { min-height: auto; }
  .emergency-alert, .corruption-band { padding: 24px 20px; }
  .emergency-actions { width: 100%; }
  .emergency-actions .btn { flex: 1; }
}


/* CasaPratique V3: daily dashboard, travel, CV and names */
:root { --shadow-md: 0 15px 34px rgba(16,42,67,.12); --shadow-sm: 0 7px 20px rgba(16,42,67,.08); }
.home-hero-badges { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.home-hero-badges .badge { padding:7px 11px; }
.quick-grid.six { grid-template-columns:repeat(6,1fr); }
.live-strip { padding:22px 0 0; }
.live-strip-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:14px; }
.live-tile { display:flex; align-items:center; gap:14px; min-height:104px; padding:18px; border:1px solid var(--border); border-radius:18px; background:#fff; box-shadow:var(--shadow-soft); }
.live-tile-icon { width:54px; height:54px; flex:0 0 54px; display:grid; place-items:center; border-radius:17px; background:#edf4fb; font-size:1.55rem; }
.live-tile strong { display:block; color:var(--casa-navy); font-size:1.08rem; }
.live-tile small { color:var(--muted); }

.daily-hero { background:radial-gradient(circle at 15% 20%,rgba(34,162,77,.1),transparent 28%),radial-gradient(circle at 88% 12%,rgba(177,202,234,.48),transparent 30%),linear-gradient(180deg,#f8fbff,#fff); }
.daily-controls { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:22px; }
.daily-controls select { min-width:220px; border:1px solid var(--border); border-radius:13px; padding:11px 13px; background:#fff; color:var(--ink); }
.date-banner { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:-20px; position:relative; z-index:3; }
.date-card { padding:22px; border-radius:20px; border:1px solid var(--border); background:#fff; box-shadow:var(--shadow-soft); }
.date-card small { display:block; color:var(--muted); margin-bottom:4px; }
.date-card strong { color:var(--casa-navy); font-size:1.2rem; }
.dashboard-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:24px; }
.dashboard-card { border:1px solid var(--border); border-radius:24px; background:#fff; padding:26px; box-shadow:var(--shadow-soft); }
.dashboard-card h2 { margin:0; color:var(--casa-navy); }
.dashboard-card-head { display:flex; align-items:start; justify-content:space-between; gap:16px; margin-bottom:22px; }
.weather-main { display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:center; margin-bottom:20px; }
.weather-symbol { width:94px; height:94px; border-radius:28px; display:grid; place-items:center; background:linear-gradient(145deg,#edf5fc,#fff7df); font-size:3.2rem; }
.weather-temp { font-size:3.4rem; line-height:1; font-weight:900; color:var(--casa-navy); }
.weather-condition { color:var(--muted); margin-top:6px; }
.metric-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.metric { padding:14px; border-radius:14px; background:#f5f8fb; }
.metric small { display:block; color:var(--muted); }
.metric strong { color:var(--casa-navy); font-size:1.08rem; }
.forecast-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:18px; }
.forecast-day { text-align:center; padding:13px 8px; border:1px solid var(--border); border-radius:14px; background:#fbfdff; }
.forecast-day span { display:block; font-size:1.45rem; margin:7px 0; }
.forecast-day small { color:var(--muted); }
.forecast-day strong { color:var(--casa-navy); }
.prayer-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.prayer-item { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px; border-radius:14px; background:#f5f8fb; border:1px solid transparent; }
.prayer-item.next { background:#ecf8f0; border-color:rgba(34,162,77,.32); }
.prayer-item span { color:#486176; }
.prayer-item strong { color:var(--casa-navy); font-size:1.08rem; direction:ltr; }
.next-prayer { margin-top:18px; padding:18px; border-radius:18px; color:#fff; background:linear-gradient(120deg,var(--casa-navy),var(--casa-navy-2)); }
.next-prayer small { color:#c9dbe8; }
.next-prayer strong { display:block; font-size:1.55rem; margin-top:4px; }
.loading-shimmer { opacity:.62; animation:cpPulse 1.2s ease-in-out infinite alternate; }
@keyframes cpPulse { from{opacity:.45} to{opacity:1} }

.travel-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.operator-card { border:1px solid var(--border); border-radius:22px; background:#fff; padding:24px; display:flex; flex-direction:column; min-height:300px; box-shadow:var(--shadow-soft); }
.operator-mark { width:58px; height:58px; border-radius:17px; display:grid; place-items:center; font-weight:900; color:#fff; background:var(--casa-navy); margin-bottom:18px; }
.operator-card.ctm .operator-mark { background:#df2d34; }
.operator-card.oncf .operator-mark { background:#196a55; }
.operator-card.ghazala .operator-mark { background:#bf8a25; }
.operator-card.urban .operator-mark { background:#2474b5; }
.operator-card.bus .operator-mark { background:#6c4d99; }
.operator-card h2,.operator-card h3 { margin:0 0 8px; color:var(--casa-navy); }
.operator-card p { color:var(--muted); margin:0 0 16px; }
.operator-meta { display:grid; gap:8px; margin:8px 0 18px; }
.operator-meta span { display:flex; gap:8px; align-items:flex-start; color:#415b70; }
.operator-card .form-actions { margin-top:auto; }
.booking-box { border-radius:24px; background:linear-gradient(120deg,#102a43,#183f63); color:#fff; padding:30px; }
.booking-box h2 { margin-top:0; }
.booking-box p { color:#cfdeea; }
.booking-form { display:grid; grid-template-columns:1fr 1fr auto; gap:12px; margin-top:18px; }
.booking-form input,.booking-form select { width:100%; padding:12px 13px; border:1px solid rgba(255,255,255,.24); border-radius:13px; background:rgba(255,255,255,.09); color:#fff; }
.booking-form select option { color:#102a43; background:#fff; }
.busway-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.busway-card { padding:22px; border:1px solid var(--border); border-radius:20px; background:#fff; }
.busway-code { width:58px; height:58px; display:grid; place-items:center; border-radius:18px; background:var(--casa-green); color:#fff; font-weight:900; font-size:1.1rem; }

.cv-layout { display:grid; grid-template-columns:.95fr 1.05fr; gap:24px; align-items:start; }
.cv-builder-panel { border:1px solid var(--border); border-radius:22px; background:#fff; padding:24px; box-shadow:var(--shadow-soft); }
.cv-builder-panel h2 { color:var(--casa-navy); margin-top:0; }
.cv-form-section { padding:18px 0; border-bottom:1px solid var(--border); }
.cv-form-section:last-child { border-bottom:0; }
.cv-form-section h3 { margin:0 0 13px; color:var(--casa-navy); font-size:1.05rem; }
.cv-preview-shell { position:sticky; top:96px; }
.cv-toolbar { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
.cv-paper { --cv-accent:#1f5f8b; width:100%; min-height:1120px; background:#fff; border:1px solid var(--border); box-shadow:0 18px 50px rgba(16,42,67,.15); overflow:hidden; color:#263746; }
.cv-paper.cv-modern { display:grid; grid-template-columns:34% 66%; }
.cv-sidebar { background:#11324a; color:#fff; padding:38px 28px; }
.cv-main { padding:42px 38px; }
.cv-photo { width:118px; height:118px; margin:0 auto 22px; border-radius:50%; object-fit:cover; background:#e9eff4; border:4px solid rgba(255,255,255,.8); }
.cv-name { margin:0; font-size:2.15rem; line-height:1.15; color:var(--casa-navy); }
.cv-title { margin:6px 0 0; color:var(--cv-accent); font-size:1.15rem; font-weight:800; }
.cv-section { margin-top:28px; }
.cv-section h3 { margin:0 0 12px; padding-bottom:7px; border-bottom:2px solid var(--cv-accent); color:var(--casa-navy); font-size:1.03rem; text-transform:uppercase; letter-spacing:.05em; }
.cv-sidebar .cv-section h3 { color:#fff; border-color:rgba(255,255,255,.4); }
.cv-sidebar p,.cv-sidebar li,.cv-sidebar a { color:rgba(255,255,255,.86); }
.cv-contact { display:grid; gap:8px; font-size:.92rem; word-break:break-word; }
.cv-list { margin:0; padding-inline-start:19px; }
.cv-entry { margin-bottom:17px; }
.cv-entry:last-child { margin-bottom:0; }
.cv-entry-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.cv-entry h4 { margin:0; color:var(--casa-navy); }
.cv-entry time { color:var(--muted); white-space:nowrap; font-size:.88rem; }
.cv-entry p { margin:4px 0 0; color:#536a7d; white-space:pre-line; }
.cv-paper.cv-classic { padding:46px; }
.cv-paper.cv-classic .cv-sidebar { background:transparent; color:inherit; padding:0; }
.cv-paper.cv-classic .cv-main { padding:0; }
.cv-paper.cv-classic .cv-photo { float:inline-end; width:100px; height:100px; }
.cv-paper.cv-classic .cv-sidebar p,.cv-paper.cv-classic .cv-sidebar li,.cv-paper.cv-classic .cv-sidebar a { color:#536a7d; }
.cv-paper.cv-minimal { padding:52px; }
.cv-paper.cv-minimal .cv-sidebar { background:transparent; color:inherit; padding:0; }
.cv-paper.cv-minimal .cv-main { padding:0; }
.cv-paper.cv-minimal .cv-photo { display:none; }
.cv-paper.cv-minimal .cv-sidebar p,.cv-paper.cv-minimal .cv-sidebar li,.cv-paper.cv-minimal .cv-sidebar a { color:#536a7d; }
.cv-paper.cv-minimal .cv-section h3 { border-bottom:1px solid #aab9c5; letter-spacing:.12em; }
.privacy-pill { display:flex; gap:9px; align-items:flex-start; padding:12px 14px; border-radius:14px; background:#edf8f1; color:#256c3e; margin-bottom:18px; }
.cv-print-note { margin-top:10px; color:var(--muted); font-size:.93rem; }


.names-controls { display:grid; grid-template-columns:1fr auto auto; gap:12px; align-items:center; margin-bottom:22px; }
.names-controls input,.names-controls select { width:100%; border:1px solid var(--border); background:#fff; border-radius:13px; padding:12px 13px; }
.gender-tabs { display:flex; gap:7px; }
.gender-tab { border:1px solid var(--border); background:#fff; border-radius:12px; padding:10px 14px; font-weight:800; color:var(--casa-navy); }
.gender-tab.active { color:#fff; background:var(--casa-navy); border-color:var(--casa-navy); }
.names-summary { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:16px; }
.names-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.name-card { position:relative; border:1px solid var(--border); border-radius:19px; background:#fff; padding:20px; min-height:190px; box-shadow:var(--shadow-soft); }
.name-card.girl::before,.name-card.boy::before { content:""; position:absolute; inset-inline:0; top:0; height:5px; border-radius:19px 19px 0 0; }
.name-card.girl::before { background:#d85a83; }
.name-card.boy::before { background:#377fb5; }
.name-title { display:flex; justify-content:space-between; gap:10px; align-items:start; }
.name-title h2 { margin:0; color:var(--casa-navy); font-size:1.45rem; }
.name-title small { color:var(--muted); direction:ltr; }
.name-card p { color:#526b80; margin:12px 0; }
.name-tags { display:flex; flex-wrap:wrap; gap:6px; }
.favorite-btn { width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--border); border-radius:11px; background:#fff; font-size:1.1rem; }
.favorite-btn.active { background:#fff3cf; border-color:#eed27a; }
.alphabet-strip { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:18px; }
.letter-btn { width:38px; height:38px; border-radius:11px; border:1px solid var(--border); background:#fff; color:var(--casa-navy); font-weight:800; }
.letter-btn.active { background:var(--casa-red); color:#fff; border-color:var(--casa-red); }

@media (max-width:1100px) {
  .quick-grid.six { grid-template-columns:repeat(3,1fr); }
  .travel-grid { grid-template-columns:repeat(2,1fr); }
  .names-grid { grid-template-columns:repeat(3,1fr); }
  .cv-layout,.dashboard-grid { grid-template-columns:1fr; }
  .cv-preview-shell { position:static; }
}
@media (max-width:760px) {
  .live-strip-grid,.date-banner,.travel-grid,.busway-grid { grid-template-columns:1fr; }
  .quick-grid.six { grid-template-columns:repeat(2,1fr); }
  .forecast-grid { grid-template-columns:repeat(2,1fr); }
  .names-controls { grid-template-columns:1fr; }
  .gender-tabs { overflow:auto; }
  .names-grid { grid-template-columns:repeat(2,1fr); }
  .booking-form { grid-template-columns:1fr; }
  .cv-paper.cv-modern { display:block; }
  .cv-sidebar,.cv-main { padding:28px 24px; }
  .cv-paper { min-height:auto; }
}
@media (max-width:500px) {
  .quick-grid.six,.names-grid,.metric-grid,.prayer-grid { grid-template-columns:1fr; }
  .weather-main { grid-template-columns:1fr; text-align:center; }
  .weather-symbol { margin-inline:auto; }
  .forecast-grid { grid-template-columns:repeat(2,1fr); }
}
@media print {
  body.cv-print-mode { background:#fff; }
  body.cv-print-mode > *:not(main) { display:none!important; }
  body.cv-print-mode main > *:not(.cv-print-area) { display:none!important; }
  body.cv-print-mode .cv-print-area { padding:0!important; margin:0!important; }
  body.cv-print-mode .cv-layout { display:block!important; }
  body.cv-print-mode .cv-builder-panel, body.cv-print-mode .cv-toolbar { display:none!important; }
  body.cv-print-mode .cv-preview-shell { position:static!important; }
  body.cv-print-mode .container { width:100%!important; max-width:none!important; margin:0!important; }
  body.cv-print-mode .cv-paper { width:210mm!important; min-height:297mm!important; margin:0!important; border:0!important; box-shadow:none!important; }
  @page { size:A4; margin:0; }
}

/* Final CV polish */
.cv-paper.cv-classic,.cv-paper.cv-minimal{display:flex;flex-direction:column;position:relative}
.cv-paper.cv-classic .cv-main,.cv-paper.cv-minimal .cv-main{order:1}
.cv-paper.cv-classic .cv-sidebar,.cv-paper.cv-minimal .cv-sidebar{order:2}
.cv-paper.cv-classic .cv-photo{position:absolute;inset-block-start:42px;inset-inline-end:42px;float:none}
.cv-paper.cv-classic .cv-name,.cv-paper.cv-classic .cv-title{padding-inline-end:130px}
@media print{body.cv-print-mode .privacy-pill{display:none!important}}


/* CasaPratique V5 — exact brand logo + CV-only PDF printing */
#printCv:disabled{opacity:.62;cursor:wait;transform:none}
@media (max-width:480px){.brand{min-width:158px}.brand img{width:180px;max-height:42px}}


/* CasaPratique V6 — Morocco digital services directory */
.services-hero{background:radial-gradient(circle at 12% 15%,rgba(211,55,46,.09),transparent 27%),radial-gradient(circle at 88% 25%,rgba(34,162,77,.10),transparent 27%),linear-gradient(180deg,#f6faff,#fff)}
.service-directory-toolbar{display:grid;grid-template-columns:minmax(260px,.8fr) 1.2fr;gap:24px;align-items:end}
.service-search-field{display:grid;gap:8px}.service-search-field label{font-weight:850;color:var(--casa-navy)}
.service-search-field input{width:100%;border:1px solid var(--border);background:#fff;border-radius:14px;padding:12px 14px;outline:none}.service-search-field input:focus{border-color:var(--casa-blue-2);box-shadow:0 0 0 4px rgba(127,168,216,.18)}
.service-filter-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.service-filter{border:1px solid var(--border);background:#fff;color:var(--casa-navy);border-radius:999px;padding:9px 13px;font-weight:800}.service-filter:hover,.service-filter.active{background:var(--casa-navy);color:#fff;border-color:var(--casa-navy)}
.directory-category{scroll-margin-top:100px;margin-bottom:64px}.directory-category:last-of-type{margin-bottom:0}.section-head.compact{margin-bottom:20px}.section-head.compact h2{font-size:clamp(1.45rem,2.5vw,2.05rem)}
.official-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.official-service-card{display:flex;flex-direction:column;min-height:300px;padding:22px;border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:var(--shadow-soft);transition:.2s ease}.official-service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#c8d8e8}.official-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.official-icon{width:52px;height:52px;border-radius:16px;background:#edf4fb;display:grid;place-items:center;font-size:1.45rem}.official-service-card h3{margin:0 0 10px;color:var(--casa-navy);font-size:1.16rem}.official-service-card p{margin:0 0 20px;color:var(--muted)}.external-service-link{margin-top:auto;align-self:flex-start}.service-empty{padding:34px;border:1px dashed var(--border);border-radius:18px;background:var(--surface-2);text-align:center;color:var(--muted)}
[hidden]{display:none!important}
@media(max-width:1040px){.official-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-directory-toolbar{grid-template-columns:1fr}.service-filter-tabs{justify-content:flex-start}}
@media(max-width:680px){.official-services-grid{grid-template-columns:1fr}.official-service-card{min-height:auto}.service-filter-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.service-filter{white-space:nowrap}.directory-category{margin-bottom:48px}}


/* CasaPratique V7 — converters and local file tools */
.converters-hero{background:radial-gradient(circle at 12% 18%,rgba(211,55,46,.09),transparent 28%),radial-gradient(circle at 88% 18%,rgba(34,162,77,.10),transparent 28%),linear-gradient(180deg,#f6faff,#fff)}
.converter-privacy{margin:0 0 18px}.converter-tabs{display:flex;gap:9px;overflow-x:auto;padding:3px 2px 8px;scrollbar-width:thin}.converter-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:#fff;color:var(--casa-navy);border-radius:14px;padding:11px 14px;font-weight:800;box-shadow:0 4px 13px rgba(16,42,67,.04)}.converter-tab:hover,.converter-tab.active{background:var(--casa-navy);color:#fff;border-color:var(--casa-navy)}
.converter-panel{display:none;scroll-margin-top:98px}.converter-panel.active{display:block}.converter-content-grid{grid-template-columns:minmax(0,1fr) 320px}.converter-two-cards{align-items:stretch}.converter-two-cards .tool-card{box-shadow:var(--shadow-soft)}
.drop-zone{margin-top:18px;min-height:150px;border:2px dashed #b9cad9;border-radius:20px;background:#f8fbfe;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;padding:24px;color:var(--casa-navy);transition:.2s}.drop-zone:hover{border-color:var(--casa-blue-2);background:#f2f8fd}.drop-zone strong{font-size:1.07rem}.drop-zone small{color:var(--muted)}.drop-icon{width:54px;height:54px;border-radius:17px;background:#e8f1fa;display:grid;place-items:center;font-size:1.15rem;font-weight:900;color:var(--casa-navy);margin-bottom:4px}
.upload-list{display:grid;gap:10px;margin-top:15px}.upload-item{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:12px;padding:10px;border:1px solid var(--border);border-radius:14px;background:#fff}.upload-item img{width:58px;height:52px;object-fit:cover;border-radius:10px;background:#eef2f5}.upload-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:480px;color:var(--casa-navy)}.upload-item small{display:block;color:var(--muted)}.upload-controls{display:flex;gap:5px}.upload-controls button{width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:#fff;color:var(--casa-navy);font-weight:900}.upload-controls button:disabled{opacity:.35}.upload-controls button:last-child{color:var(--casa-red)}
.conversion-status{margin-top:16px;padding:13px 15px;border-radius:13px;border:1px solid #d6e4f0;background:#f2f7fc;color:#34556e;font-weight:700}.conversion-status.success{background:#edf9f1;border-color:#c8e9d2;color:#1b713a}.conversion-status.error{background:#fff0ef;border-color:#f0cac7;color:#a32e27}.progress-track{height:10px;margin-top:14px;border-radius:999px;background:#e7eef5;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--casa-green),var(--casa-blue-2));transition:width .2s ease}
.word-preview-shell{margin-top:20px;max-height:670px;overflow:auto;padding:18px;background:#eaf0f5;border-radius:18px;border:1px solid var(--border)}.word-preview{width:794px;min-height:1123px;margin:0 auto;padding:64px 70px;background:#fff;color:#182838;box-shadow:0 12px 35px rgba(16,42,67,.16);font-family:Arial,Tahoma,sans-serif;line-height:1.55}.word-preview h1{font-size:2rem}.word-preview h2{font-size:1.55rem}.word-preview h3{font-size:1.25rem}.word-preview img{max-width:100%;height:auto}.word-preview table{width:100%;border-collapse:collapse;margin:1em 0}.word-preview th,.word-preview td{border:1px solid #cfd8e0;padding:7px;vertical-align:top}.word-preview p{margin:.55em 0}.three-fields{grid-template-columns:repeat(3,1fr)}
.svg-preview{margin-top:18px;min-height:240px;max-height:520px;overflow:auto;display:grid;place-items:center;padding:22px;border:1px solid var(--border);border-radius:18px;background-image:linear-gradient(45deg,#eef2f5 25%,transparent 25%),linear-gradient(-45deg,#eef2f5 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eef2f5 75%),linear-gradient(-45deg,transparent 75%,#eef2f5 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}.svg-preview svg{max-width:100%;max-height:450px;height:auto}
.number-results{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.language-result{padding:18px;border:1px solid var(--border);border-radius:16px;background:#f8fafc}.language-result p{font-size:1.1rem;color:var(--casa-navy);font-weight:750;margin:13px 0 0;white-space:pre-wrap}.muted{color:var(--muted)}.mt-1{margin-top:8px!important}.mt-2{margin-top:18px!important}
@media(max-width:1040px){.converter-content-grid{grid-template-columns:1fr}.converter-content-grid .sidebar{position:static}.word-preview-shell{overflow:auto}}
@media(max-width:760px){.converter-two-cards{grid-template-columns:1fr}.three-fields{grid-template-columns:1fr}.number-results{grid-template-columns:1fr}.word-preview{transform-origin:top left}.upload-item{grid-template-columns:48px minmax(0,1fr);}.upload-item img{width:48px;height:46px}.upload-controls{grid-column:1/-1;justify-content:flex-end}.upload-item strong{max-width:220px}}


/* CasaPratique V8 — Fast Local Tools & Casa Pro */
.compact-head{margin-bottom:20px}.pdf-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.compact-drop{min-height:120px;padding:18px}.compact-drop .drop-icon{width:46px;height:46px;border-radius:14px}.image-result{margin-top:18px;display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:16px;background:#f8fbfd}.image-result img{width:120px;height:90px;object-fit:contain;border-radius:12px;background:#fff;border:1px solid var(--border)}.image-result strong,.image-result small{display:block}.image-result small{margin-top:5px;color:var(--muted)}
.pro-hero{background:radial-gradient(circle at 10% 20%,rgba(11,74,139,.12),transparent 30%),radial-gradient(circle at 90% 18%,rgba(34,162,77,.10),transparent 30%),linear-gradient(180deg,#f7fbff,#fff)}.pro-app-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.pro-app-card{display:grid;grid-template-columns:96px 1fr;gap:20px;padding:28px;border:1px solid var(--border);border-radius:24px;background:#fff;box-shadow:var(--shadow-soft);transition:.2s}.pro-app-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.pro-app-icon{width:96px;height:96px;border-radius:24px;display:grid;place-items:center;font-size:1.65rem;font-weight:950;color:#fff}.cv-pro-card .pro-app-icon{background:linear-gradient(145deg,#0b4a8b,#2d7fd0)}.invoice-pro-card .pro-app-icon{background:linear-gradient(145deg,#178447,#31b86a)}.pro-app-card h2{margin:12px 0 8px;color:var(--casa-navy)}.pro-app-card p{color:var(--muted);margin:0 0 14px}
@media(max-width:900px){.pdf-mini-grid,.pro-app-grid{grid-template-columns:1fr}.pro-app-card{grid-template-columns:74px 1fr}.pro-app-icon{width:74px;height:74px;border-radius:20px}}
@media(max-width:560px){.pro-app-card{grid-template-columns:1fr}.image-result{grid-template-columns:1fr}.image-result img{width:100%;height:180px}}


/* CasaPratique V9 — CasaPrix & CasaVote Sport */
.compact-hero-grid{min-height:360px}.prices-hero{background:radial-gradient(circle at 12% 18%,rgba(34,162,77,.12),transparent 30%),radial-gradient(circle at 88% 20%,rgba(211,55,46,.10),transparent 30%),linear-gradient(180deg,#f6fbf7,#fff)}.price-hero-art{display:grid;place-items:center;min-height:260px}.market-bag{position:relative;width:220px;height:220px;border-radius:40% 40% 46% 46%;background:linear-gradient(145deg,#f7d89d,#e5b865);display:grid;place-items:center;font-size:4.5rem;box-shadow:0 25px 55px rgba(74,48,20,.17);border:8px solid rgba(255,255,255,.7)}.market-bag:before{content:"";position:absolute;top:-45px;width:92px;height:70px;border:14px solid #bf8b39;border-bottom:0;border-radius:55px 55px 0 0}.market-bag span,.market-bag i,.market-bag b{position:absolute;font-style:normal;font-weight:400;font-size:2.3rem}.market-bag span{top:35px;right:34px}.market-bag i{bottom:32px;left:28px}.market-bag b{bottom:30px;right:25px}
.community-mode-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border-radius:16px;border:1px solid var(--border);margin-bottom:22px}.community-mode-banner strong{color:var(--casa-navy)}.community-mode-banner span{color:var(--muted);font-size:.93rem}.community-mode-banner.local{background:#fff7e8;border-color:#efd49a}.community-mode-banner.cloud{background:#edf9f1;border-color:#bfe2cb}
.price-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.price-category-card{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:12px;text-align:start;padding:16px;border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft);transition:.2s}.price-category-card:hover{transform:translateY(-2px);border-color:#b8cfe0}.price-category-card>span{grid-row:1/3;width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:#eff6fb;font-size:1.6rem}.price-category-card strong{color:var(--casa-navy)}.price-category-card small{color:var(--muted)}
.price-dashboard{display:grid;grid-template-columns:270px minmax(0,1fr);gap:22px;align-items:start}.price-filters{position:sticky;top:96px;display:grid;gap:14px}.price-filters h3{margin:0}.price-filters label,.community-form label{display:grid;gap:7px;font-weight:780;color:var(--casa-navy)}.price-filters select,.community-form input,.community-form select,.community-form textarea{width:100%;border:1px solid var(--border);border-radius:13px;background:#fff;padding:11px 12px;color:var(--casa-navy);outline:none}.price-filters select:focus,.community-form input:focus,.community-form select:focus,.community-form textarea:focus{border-color:var(--casa-blue-2);box-shadow:0 0 0 4px rgba(127,168,216,.16)}.price-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.price-stat{padding:16px;border:1px solid var(--border);border-radius:16px;background:#fff}.price-stat small,.price-row small{display:block;color:var(--muted)}.price-stat strong{display:block;margin-top:7px;color:var(--casa-navy);font-size:1.25rem}.price-list{display:grid;gap:11px}.price-row{display:grid;grid-template-columns:1.4fr .9fr 1.15fr 1.05fr;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--border);border-radius:17px;background:#fff;box-shadow:0 5px 16px rgba(16,42,67,.035)}.price-row.demo-row{border-style:dashed;background:#fffdf7}.price-row strong{color:var(--casa-navy)}.price-product{display:flex;align-items:center;gap:12px}.price-product-icon{width:46px;height:46px;border-radius:14px;background:#edf5fa;display:grid;place-items:center;font-size:1.35rem}.price-value{font-size:1.12rem}.narrow-container{max-width:930px}.community-form{display:grid;gap:16px}.form-grid.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:15px}.consent-row{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;font-weight:650!important;color:var(--muted)!important}.consent-row input{width:auto!important;margin-top:4px}.form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.inline-status{color:var(--casa-green);font-weight:750}.notice-card{padding:20px 22px;border:1px solid #efd49a;border-radius:18px;background:#fff9ec}.notice-card strong{color:#8a5a0a}.notice-card p{margin:6px 0 0;color:#665230}
.sport-hero{background:radial-gradient(circle at 12% 18%,rgba(211,55,46,.12),transparent 30%),radial-gradient(circle at 88% 20%,rgba(34,162,77,.12),transparent 30%),linear-gradient(180deg,#f7fbf7,#fff)}.sport-hero-ball{width:230px;height:230px;margin:auto;border-radius:50%;display:grid;place-items:center;font-size:8rem;background:radial-gradient(circle at 35% 30%,#fff,#e8edf1 72%);box-shadow:0 28px 55px rgba(16,42,67,.17);animation:ballFloat 4s ease-in-out infinite}@keyframes ballFloat{50%{transform:translateY(-10px) rotate(5deg)}}.team-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.team-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:15px;border:1px solid var(--border);border-radius:16px;background:#fff;color:var(--casa-navy);font-size:1rem;box-shadow:var(--shadow-soft)}.team-btn.active{border-color:var(--casa-navy);box-shadow:0 0 0 3px rgba(16,42,67,.11)}.team-dot{width:18px;height:18px;border-radius:50%}.team-dot.wydad{background:#d61f2c}.team-dot.raja{background:#159447}.team-dot.morocco{background:linear-gradient(135deg,#c91624 0 50%,#12884c 50%)}
.sport-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:22px;align-items:start}.lineup-builder{overflow:hidden}.builder-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:8px}.builder-toolbar h2{margin:3px 0 0}.builder-toolbar label,.captain-row label{display:grid;gap:6px;font-weight:800;color:var(--casa-navy)}.builder-toolbar select,.captain-row select{border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#fff}.small-note{color:var(--muted);font-size:.91rem}.football-pitch{position:relative;min-height:690px;margin:18px auto;padding:20px;border:5px solid rgba(255,255,255,.9);border-radius:24px;background:repeating-linear-gradient(90deg,#248d4e 0,#248d4e 12.5%,#2a9955 12.5%,#2a9955 25%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.7),0 18px 36px rgba(16,80,44,.18);overflow:hidden}.football-pitch:before{content:"";position:absolute;inset:18px;border:2px solid rgba(255,255,255,.8)}.pitch-half-line{position:absolute;left:18px;right:18px;top:50%;border-top:2px solid rgba(255,255,255,.8)}.pitch-center-circle{position:absolute;left:50%;top:50%;width:130px;height:130px;transform:translate(-50%,-50%);border:2px solid rgba(255,255,255,.8);border-radius:50%}.pitch-box{position:absolute;left:27%;width:46%;height:16%;border:2px solid rgba(255,255,255,.8)}.pitch-box.top{top:18px;border-top:0}.pitch-box.bottom{bottom:18px;border-bottom:0}.pitch-player{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:122px;z-index:2;text-align:center}.pitch-player span{display:inline-block;margin-bottom:4px;padding:3px 8px;border-radius:999px;background:rgba(16,42,67,.82);color:#fff;font-size:.71rem;font-weight:800}.pitch-player input{width:100%;border:2px solid rgba(255,255,255,.9);border-radius:11px;padding:8px 7px;text-align:center;background:rgba(255,255,255,.94);color:#102a43;font-size:.78rem;font-weight:760;box-shadow:0 6px 14px rgba(0,0,0,.16);outline:none}.pitch-player input:focus{border-color:#ffd45b;box-shadow:0 0 0 3px rgba(255,212,91,.32)}.captain-row{max-width:330px;margin:15px 0}.sport-results{display:grid;gap:16px;position:sticky;top:96px}.sport-results .tool-card{padding:20px}.winning-lineup,.player-leaderboard{display:grid;gap:8px}.winner-row,.leader-row{display:grid;grid-template-columns:100px 1fr auto;gap:9px;align-items:center;padding:9px 10px;border-radius:12px;background:#f5f8fb}.winner-row span,.winner-row small{color:var(--muted);font-size:.83rem}.winner-row strong,.leader-row strong{color:var(--casa-navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leader-row{grid-template-columns:28px 1fr 34px}.leader-row>span{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:#e6eff7;color:var(--casa-navy);font-weight:850}.leader-row b{text-align:center;color:var(--casa-green)}.captain-result{display:flex;align-items:center;justify-content:space-between;padding:14px;border-radius:14px;background:linear-gradient(135deg,#fff5d9,#fff)}.captain-result strong{color:var(--casa-navy);font-size:1.1rem}.captain-result small{color:#9b6d09}.info-grid.three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.info-card{padding:22px;border:1px solid var(--border);border-radius:18px;background:#fff}.info-card>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--casa-navy);color:#fff;font-weight:900}.info-card h3{margin:13px 0 7px;color:var(--casa-navy)}.info-card p{margin:0;color:var(--muted)}
@media(max-width:1100px){.price-category-grid{grid-template-columns:repeat(2,1fr)}.sport-layout{grid-template-columns:1fr}.sport-results{position:static;grid-template-columns:repeat(2,1fr)}.sport-results .tool-card:first-child{grid-column:1/-1}.main-nav{gap:2px}.main-nav a{padding-inline:7px;font-size:.88rem}}
@media(max-width:900px){.price-dashboard{grid-template-columns:1fr}.price-filters{position:static;grid-template-columns:repeat(2,1fr)}.price-filters h3,.price-filters .btn{grid-column:1/-1}.price-stat-grid{grid-template-columns:repeat(2,1fr)}.price-row{grid-template-columns:1fr 1fr}.football-pitch{min-height:650px}.community-mode-banner{align-items:flex-start;flex-direction:column}.info-grid.three{grid-template-columns:1fr}}
@media(max-width:680px){.price-category-grid,.team-switch,.form-grid.two-cols,.sport-results{grid-template-columns:1fr}.price-row{grid-template-columns:1fr;padding:14px}.price-filters{grid-template-columns:1fr}.price-filters h3,.price-filters .btn{grid-column:auto}.football-pitch{min-height:610px;margin-inline:-12px;border-radius:16px}.pitch-player{width:94px}.pitch-player input{font-size:.68rem;padding:7px 4px}.pitch-player span{font-size:.62rem}.builder-toolbar{align-items:flex-start;flex-direction:column}.sport-results .tool-card:first-child{grid-column:auto}.sport-hero-ball{width:170px;height:170px;font-size:5.8rem}}

@media(max-width:1180px){
  .main-nav{position:fixed;inset:77px 16px auto;display:none;flex-direction:column;align-items:stretch;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;padding:12px;max-height:calc(100vh - 100px);overflow:auto}
  .main-nav.open{display:flex}.menu-toggle{display:inline-grid;place-items:center}.header-actions .btn{display:none}
}

/* CasaPratique Pro V10 — CasaCarte, CasaQR, CasaSpeed, CasaLink */
.digital-hero,.speed-hero{background:linear-gradient(135deg,#f7fbfd 0,#fff 54%,#f5fbf7 100%)}
.hero-tool-mark{width:180px;height:180px;border-radius:42px;display:grid;place-items:center;font-size:5.4rem;color:#fff;background:linear-gradient(145deg,var(--casa-blue),var(--casa-navy));box-shadow:0 24px 50px rgba(16,42,67,.18);transform:rotate(-4deg)}
.section-mini-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.section-mini-head h2{margin:8px 0 0}.field.full{grid-column:1/-1}.btn-lg{padding:14px 26px;font-size:1.03rem}.mt-1{margin-top:8px!important}
.card-studio-layout{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:26px;align-items:start}.card-form-panel{padding:26px}.card-preview-column{min-width:0}.preview-sticky{position:sticky;top:94px}.business-card-stage{background:radial-gradient(circle at top,#e8f1f6,#d7e4eb);border:1px solid #cbdbe4;border-radius:28px;padding:28px;box-shadow:var(--shadow-soft)}.business-card-stage canvas{display:block;width:100%;height:auto;aspect-ratio:1.8;border-radius:17px;box-shadow:0 20px 45px rgba(16,42,67,.25);background:#fff}.preview-meta{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:12px}.preview-meta span{padding:6px 10px;border-radius:999px;background:#edf4f8;color:var(--casa-navy);font-size:.79rem;font-weight:800}.logo-upload-row{display:grid;grid-template-columns:minmax(210px,.8fr) 1fr;gap:14px;align-items:center;margin-top:18px}.compact-upload{display:grid;grid-template-columns:38px 1fr;gap:0 10px;align-items:center;border:1px dashed var(--casa-blue-2);border-radius:15px;padding:12px 14px;cursor:pointer;background:#f8fbfd}.compact-upload>span{grid-row:1/3;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--casa-navy);color:#fff;font-size:1.4rem}.compact-upload b{color:var(--casa-navy)}.compact-upload small{color:var(--muted)}
.digital-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.digital-panel{display:none}.digital-panel.active{display:block}.qr-studio-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr);gap:24px;align-items:start}.qr-dynamic-fields{margin-top:18px}.qr-preview-card{position:sticky;top:96px;border:1px solid var(--border);border-radius:22px;padding:22px;background:#fff;box-shadow:var(--shadow-soft)}.qr-preview-shell{position:relative;aspect-ratio:1;border-radius:20px;overflow:hidden;background:repeating-conic-gradient(#eef3f6 0 25%,#fff 0 50%) 50%/22px 22px;border:1px solid var(--border);display:grid;place-items:center}.qr-preview-shell canvas{display:block;width:100%;height:100%}.qr-placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:12px;color:#9aaab6;font-size:5rem;text-align:center}.qr-placeholder small{font-size:.9rem;max-width:190px}.copy-line{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-top:7px}.copy-line input{min-width:0;border:1px solid var(--border);border-radius:12px;padding:11px 12px;background:#f7fafc}.short-result{margin-top:20px;padding:18px;border:1px solid var(--border);border-radius:16px;background:#f8fbfd}.short-result>label{font-weight:800;color:var(--casa-navy)}.short-stats{margin-top:10px;color:var(--muted);font-size:.87rem}
.speed-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.55fr);gap:24px;align-items:start}.speed-main{padding:30px;overflow:hidden}.speed-gauge{position:relative;max-width:500px;margin:0 auto}.speed-gauge svg{width:100%;display:block}.gauge-track,.gauge-value{fill:none;stroke-width:18;stroke-linecap:round}.gauge-track{stroke:#e7eef3}.gauge-value{stroke:url(#none);stroke:var(--casa-blue);stroke-dasharray:283;stroke-dashoffset:283;transition:stroke-dashoffset .45s ease}.gauge-center{position:absolute;left:50%;bottom:3%;transform:translateX(-50%);text-align:center}.gauge-center strong{display:block;font-size:clamp(3rem,7vw,5.6rem);line-height:.9;color:var(--casa-navy);letter-spacing:-.06em}.gauge-center>span{display:block;color:var(--casa-blue);font-weight:900;margin-top:8px}.gauge-center small{display:block;color:var(--muted);margin-top:9px}.speed-progress{height:8px;border-radius:999px;background:#e7eef3;overflow:hidden;margin:14px 0 25px}.speed-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--casa-green),var(--casa-blue),var(--casa-red));transition:width .35s ease}.speed-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.speed-metrics>div{text-align:center;padding:16px 8px;border:1px solid var(--border);border-radius:16px;background:#f9fbfc}.speed-metrics small,.speed-metrics span{display:block;color:var(--muted)}.speed-metrics strong{display:block;margin:7px 0 3px;color:var(--casa-navy);font-size:1.55rem}.speed-actions{justify-content:center;margin-top:24px}.speed-side{position:sticky;top:96px}.connection-list{display:grid;gap:10px}.connection-list>span{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--border)}.connection-list>span:last-child{border-bottom:0}.connection-list small{color:var(--muted)}.connection-list b{color:var(--casa-navy)}.feature-list.compact{gap:9px}.speed-verdict{display:flex;gap:12px;align-items:center;margin-top:20px;padding:17px 19px;border-radius:16px;border:1px solid}.speed-verdict strong{font-size:1.08rem}.speed-verdict span{color:var(--muted)}.speed-verdict.excellent{background:#effaf4;border-color:#94d6ae}.speed-verdict.excellent strong,.speed-verdict.good strong{color:var(--casa-green)}.speed-verdict.good{background:#f3fafc;border-color:#a7d7e9}.speed-verdict.medium{background:#fff9e9;border-color:#efd58b}.speed-verdict.medium strong{color:#926409}.speed-verdict.weak{background:#fff2f2;border-color:#e5a2a5}.speed-verdict.weak strong{color:var(--casa-red)}
.featured-digital-card{background:linear-gradient(145deg,#f4fbff,#fff);border-color:#b9dbea}.featured-card-card{background:linear-gradient(145deg,#fff8f8,#fff);border-color:#edc3c5}.featured-speed-card{background:linear-gradient(145deg,#f3fbf6,#fff);border-color:#bfe0cc}
@media(max-width:1050px){.card-studio-layout,.qr-studio-layout,.speed-layout{grid-template-columns:1fr}.preview-sticky,.qr-preview-card,.speed-side{position:static}.card-preview-column{order:-1}.business-card-stage{max-width:760px;margin:auto}.speed-side{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.speed-side .mt-2{margin-top:0!important}}
@media(max-width:720px){.hero-tool-mark{width:120px;height:120px;font-size:3.6rem;border-radius:30px}.card-form-panel,.speed-main{padding:19px}.logo-upload-row,.speed-side{grid-template-columns:1fr}.business-card-stage{padding:12px;border-radius:18px}.business-card-stage canvas{border-radius:11px}.speed-metrics{grid-template-columns:repeat(2,1fr)}.copy-line{grid-template-columns:1fr 1fr}.copy-line input{grid-column:1/-1}.speed-verdict{align-items:flex-start;flex-direction:column}.qr-preview-card{padding:14px}}
@media print{.card-studio-layout,.qr-studio-layout,.speed-layout{display:block}}

/* CasaLink V11 */
.casalink-turnstile{min-height:0;margin-top:14px;display:flex;justify-content:flex-start}
.casalink-recent-list{display:grid;gap:10px}
.casalink-recent-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border,#dbe7f0);border-radius:14px;background:#fff}
.casalink-recent-info{min-width:0;display:grid;gap:4px}
.casalink-recent-info a{direction:ltr;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1673a5;font-weight:700}
.casalink-recent-info small{color:#66788a}
.casalink-recent-actions{display:flex;gap:7px;flex-shrink:0}
.danger-soft{border-color:#efb3b3!important;color:#b42318!important}
@media(max-width:640px){.casalink-recent-item{align-items:stretch;flex-direction:column}.casalink-recent-actions{justify-content:flex-start}}

/* ============================================================
   CasaPratique V24.0 — Global brand + theme navigation polish
   ============================================================ */
:root{--casa-red:#c91f2b;--casa-green:#067a42}
.brand-v24{min-width:220px;width:auto;overflow:visible}
.brand-v24 img{display:block;width:auto;height:56px;max-width:238px;max-height:none;object-fit:contain}
.emergency-compact{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 11px;border:1px solid #ffd8dc;border-radius:11px;background:#fff7f8;color:#b51b27;font-weight:800;font-size:.88rem}
.site-footer-v24{margin-top:70px;background:#0c2235;color:#d8e4ee}
.footer-v24{padding:46px 0 32px;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
.footer-v24>div{display:grid;align-content:start;gap:8px}.footer-v24 h3{margin:0 0 7px;color:#fff}.footer-v24 a{color:#bcd0df;font-size:.92rem}.footer-v24 a:hover{color:#fff}
.footer-v24-brand img{display:block;width:250px;height:auto;max-height:150px;object-fit:contain;margin:-25px 0 -18px}.footer-v24-brand p{color:#bcd0df;max-width:370px;margin:0}
@media(max-width:1040px){.emergency-compact{display:none}.brand-v24{min-width:200px}.brand-v24 img{height:52px;max-width:220px}.footer-v24{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.brand-v24{min-width:168px}.brand-v24 img{height:44px;max-width:180px}.footer-v24{grid-template-columns:1fr 1fr;gap:24px}.footer-v24-brand{grid-column:1/-1}}
@media(max-width:480px){.footer-v24{grid-template-columns:1fr}.footer-v24-brand{grid-column:auto}}


/* ===== assets/css/v24-pro-v2431.css ===== */

/* CasaPratique V24.1 — PRO CLEAN / Theme-first / Speed-first */
:root{--cp-red:#c71927;--cp-red-2:#e52a35;--cp-green:#087a45;--cp-green-soft:#edf8f2;--cp-navy:#082a4d;--cp-ink:#16263a;--cp-muted:#66768a;--cp-line:#e5eaef;--cp-bg:#f6f8fa;--cp-white:#fff;--cp-shadow:0 12px 34px rgba(8,42,77,.09);--cp-radius:18px;--cp-max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.v24x{margin:0;background:#fff;color:var(--cp-ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Arabic",Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.v24x a{text-decoration:none;color:inherit}.v24x img{max-width:100%;display:block}.v24x svg.cp-icon{width:1.2em;height:1.2em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.v24x .container{width:min(calc(100% - 34px),var(--cp-max));margin-inline:auto}.skip-link{position:fixed;inset-inline-start:12px;top:12px;z-index:9999;transform:translateY(-180%);padding:9px 12px;background:#111;color:#fff;border-radius:9px}.skip-link:focus{transform:none}
/* Header */
.site-header.v24x-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(12px) saturate(140%);border-bottom:1px solid rgba(8,42,77,.08)}.v24x-header .header-inner{min-height:72px;display:flex;align-items:center;gap:18px}.v24x-header .brand-v24{display:flex;align-items:center;width:218px;min-width:170px}.v24x-header .brand-v24 img{width:100%;height:auto;max-height:58px;object-fit:contain}.v24x-header .main-nav{display:flex;align-items:center;gap:4px;margin-inline:auto}.v24x-header .main-nav a{padding:9px 12px;border-radius:11px;font-size:.9rem;font-weight:750;color:#31465d;white-space:nowrap}.v24x-header .main-nav a:hover,.v24x-header .main-nav a.active{background:#fff1f2;color:var(--cp-red)}.v24x-header .header-actions{display:flex;align-items:center;gap:8px}.v24x-header .lang-switch,.v24x-header .menu-toggle{border:1px solid #dfe5ea;background:#fff;border-radius:11px;min-width:42px;height:42px;padding:0 11px;font-weight:850;color:var(--cp-navy);cursor:pointer}.v24x-header .emergency-compact{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;border-radius:11px;background:#fff5f5;border:1px solid #ffd9dd;color:var(--cp-red);font-size:.84rem;font-weight:850}.v24x-header .menu-toggle{display:none;padding:0;place-items:center}.v24x-header .menu-toggle svg{width:21px;height:21px}
/* Hero */
.cp-hero{position:relative;overflow:hidden;background:#dceff2;min-height:570px}.cp-hero-media{position:absolute;inset:0}.cp-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.cp-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.95) 28%,rgba(255,255,255,.62) 52%,rgba(255,255,255,.10) 75%),linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.08))}[dir="ltr"] .cp-hero-media:after{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.95) 28%,rgba(255,255,255,.62) 52%,rgba(255,255,255,.10) 75%)}.cp-hero-inner{position:relative;z-index:2;min-height:570px;display:flex;align-items:center}.cp-hero-copy{width:min(640px,59%);padding:72px 0 88px}.cp-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.9);border:1px solid rgba(8,122,69,.18);color:var(--cp-green);font-size:.84rem;font-weight:850}.cp-hero h1{margin:16px 0 14px;color:var(--cp-navy);font-size:clamp(2.4rem,4.8vw,4.65rem);line-height:1.05;letter-spacing:-.048em}.cp-hero h1 .accent{color:var(--cp-red)}.cp-hero-lead{max-width:590px;margin:0 0 24px;color:#42576c;font-size:1.08rem;line-height:1.85}.cp-search{position:relative;display:flex;align-items:center;gap:8px;max-width:610px;padding:7px;background:#fff;border:1px solid #dfe6ec;border-radius:16px;box-shadow:0 15px 36px rgba(8,42,77,.12)}.cp-search .search-ico{width:43px;height:43px;display:grid;place-items:center;color:#8292a3}.cp-search input{flex:1;min-width:0;border:0;outline:0;padding:11px 2px;background:transparent;font:inherit;color:var(--cp-ink)}.cp-search .btn{border:0;background:var(--cp-red);color:#fff;border-radius:12px;padding:12px 18px;font:inherit;font-weight:850;cursor:pointer}.cp-search .btn:hover{background:#aa1521}.cp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.cp-chips a{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.9);border:1px solid rgba(8,42,77,.1);font-size:.82rem;font-weight:760;color:var(--cp-navy)}
/* Search results */
.search-results{display:none;position:absolute;z-index:20;top:calc(100% + 9px);inset-inline:0;background:#fff;border:1px solid #dfe6ec;border-radius:15px;box-shadow:0 18px 42px rgba(8,42,77,.16);overflow:hidden;text-align:start}.search-results.open{display:block}.search-results a{display:grid;gap:2px;padding:11px 14px;border-bottom:1px solid #eef2f4}.search-results a:last-child{border-bottom:0}.search-results a:hover{background:#f8fafb}.search-results strong{font-size:.9rem;color:var(--cp-navy)}.search-results span{font-size:.78rem;color:var(--cp-muted)}.search-results .empty-state{padding:14px;color:var(--cp-muted)}
/* Theme rail */
.cp-themes-wrap{position:relative;z-index:3;margin-top:-48px}.cp-themes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.cp-theme{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;min-height:104px;padding:16px;border-radius:18px;background:#fff;border:1px solid var(--cp-line);box-shadow:var(--cp-shadow);transition:transform .16s ease,border-color .16s ease}.cp-theme:hover{transform:translateY(-3px);border-color:#cfd9e2}.cp-theme-ico{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#f3f6f8;color:var(--cp-navy)}.cp-theme:nth-child(3n+1) .cp-theme-ico{background:#fff0f1;color:var(--cp-red)}.cp-theme:nth-child(3n+2) .cp-theme-ico{background:var(--cp-green-soft);color:var(--cp-green)}.cp-theme h2,.cp-theme h3{margin:0;color:var(--cp-navy);font-size:1rem}.cp-theme p{margin:4px 0 0;color:var(--cp-muted);font-size:.8rem;line-height:1.5}
/* Sections */
.cp-section{padding:66px 0}.cp-section.alt{background:var(--cp-bg);border-block:1px solid #eef2f4}.cp-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.cp-head h2{margin:0;color:var(--cp-navy);font-size:clamp(1.5rem,2.6vw,2.2rem)}.cp-head p{margin:7px 0 0;color:var(--cp-muted);max-width:720px;line-height:1.7}.cp-head>a{font-weight:850;color:var(--cp-red)}.cp-tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.cp-tool{display:flex;flex-direction:column;min-height:178px;padding:18px;border:1px solid var(--cp-line);border-radius:17px;background:#fff;transition:transform .16s ease,box-shadow .16s ease}.cp-tool:hover{transform:translateY(-2px);box-shadow:var(--cp-shadow)}.cp-tool-ico{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#f2f6f8;color:var(--cp-green);margin-bottom:13px}.cp-tool:nth-child(even) .cp-tool-ico{color:var(--cp-red);background:#fff1f2}.cp-tool h3{margin:0 0 6px;color:var(--cp-navy);font-size:1rem}.cp-tool p{margin:0;color:var(--cp-muted);font-size:.85rem;line-height:1.6}.cp-tool .more{margin-top:auto;padding-top:13px;color:var(--cp-green);font-size:.82rem;font-weight:850}.cp-split{display:grid;grid-template-columns:1.05fr .95fr;gap:20px}.cp-panel{padding:26px;border-radius:22px;border:1px solid var(--cp-line);background:#fff}.cp-panel h2,.cp-panel h3{margin-top:0;color:var(--cp-navy)}.cp-list{display:grid;gap:9px;margin-top:17px}.cp-list a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid #edf1f4;border-radius:12px;background:#fbfcfd}.cp-list a:hover{border-color:#cfd9e2}.cp-trust{background:linear-gradient(135deg,#082a4d,#0f416c);color:#fff;border:0}.cp-trust h2,.cp-trust h3{color:#fff}.cp-trust p{color:#d7e6f2}.cp-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.cp-pills span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.11);font-size:.81rem}
/* Theme landing */
.cp-theme-hero{padding:62px 0 44px;background:linear-gradient(180deg,#f7fafb,#fff);border-bottom:1px solid #eef2f4}.cp-theme-hero .back{display:inline-flex;align-items:center;gap:7px;color:var(--cp-green);font-size:.84rem;font-weight:800}.cp-theme-title{display:flex;align-items:center;gap:16px;margin-top:17px}.cp-theme-title .big-ico{width:64px;height:64px;border-radius:19px;display:grid;place-items:center;background:#fff1f2;color:var(--cp-red);box-shadow:0 10px 28px rgba(8,42,77,.07)}.cp-theme-title h1{margin:0;color:var(--cp-navy);font-size:clamp(2rem,4vw,3.4rem);line-height:1.1}.cp-theme-hero p{max-width:760px;margin:12px 80px 0 0;color:var(--cp-muted);line-height:1.8}[dir="ltr"] .cp-theme-hero p{margin:12px 0 0 80px}.cp-filterbar{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.cp-filterbar a{padding:8px 11px;border:1px solid var(--cp-line);border-radius:999px;background:#fff;font-size:.82rem;font-weight:800;color:#42566a}.cp-filterbar a:hover{color:var(--cp-red);border-color:#f2b9bf}
.cp-category{padding:48px 0}.cp-category+.cp-category{border-top:1px solid #eef2f4}.cp-category h2{margin:0 0 7px;color:var(--cp-navy);font-size:1.45rem}.cp-category>p{margin:0 0 20px;color:var(--cp-muted)}
/* Themes index */
.cp-page-hero{padding:64px 0 34px;background:linear-gradient(180deg,#f7fafb,#fff)}.cp-page-hero h1{margin:0;color:var(--cp-navy);font-size:clamp(2.2rem,4.4vw,3.8rem)}.cp-page-hero p{max-width:760px;color:var(--cp-muted);line-height:1.8}.cp-theme-index{padding:26px 0 70px}.cp-theme-index .cp-themes{margin-top:0}
/* Footer */
.site-footer-v24{background:#071f38;color:#fff;margin-top:0}.footer-v24{padding:46px 0 32px;display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:30px}.footer-v24>div{display:grid;align-content:start;gap:8px}.footer-v24 h3{margin:0 0 7px;color:#fff}.footer-v24 a{color:#bed0de;font-size:.9rem}.footer-v24 a:hover{color:#fff}.footer-v24-brand img{width:255px;height:auto;margin:0 0 8px}.footer-v24-brand p{margin:0;max-width:380px;color:#bed0de;line-height:1.7}.footer-bottom{border-top:1px solid rgba(255,255,255,.09)}.footer-bottom-inner{display:flex;justify-content:space-between;gap:16px;padding:16px 0;color:#9fb4c5;font-size:.82rem}
/* Utility */
.cp-note{padding:14px 16px;border-radius:13px;background:#fff8ed;border:1px solid #ffe4b9;color:#6b4c1c;font-size:.86rem;line-height:1.7}.cp-breadcrumb{display:flex;flex-wrap:wrap;gap:7px;align-items:center;color:#77889a;font-size:.8rem;margin-bottom:15px}.cp-breadcrumb a{color:var(--cp-green);font-weight:750}.cp-archive-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f3f5f7;color:#758392;font-size:.75rem;font-weight:800}
@media(max-width:1120px){.v24x-header .brand-v24{width:190px}.v24x-header .main-nav a{padding-inline:8px;font-size:.84rem}.cp-tool-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:930px){.v24x-header .main-nav{position:fixed;top:72px;inset-inline:16px;display:none;flex-direction:column;align-items:stretch;padding:12px;background:#fff;border:1px solid var(--cp-line);border-radius:16px;box-shadow:0 18px 44px rgba(8,42,77,.18)}.v24x-header .main-nav.open{display:flex}.v24x-header .menu-toggle{display:grid}.v24x-header .emergency-compact{display:none}.cp-hero,.cp-hero-inner{min-height:620px}.cp-hero-copy{width:68%}.cp-themes{grid-template-columns:repeat(2,1fr)}.cp-tool-grid{grid-template-columns:repeat(2,1fr)}.cp-split{grid-template-columns:1fr}.footer-v24{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.v24x-header .header-inner{min-height:66px}.v24x-header .brand-v24{width:170px}.v24x-header .main-nav{top:66px}.cp-hero{min-height:680px;background:#fff}.cp-hero-inner{min-height:680px;align-items:flex-start}.cp-hero-media{height:270px;top:auto;bottom:0}.cp-hero-media img{object-position:center}.cp-hero-media:after,[dir="ltr"] .cp-hero-media:after{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.80) 23%,rgba(255,255,255,0) 58%)}.cp-hero-copy{width:100%;padding:46px 0 305px}.cp-hero h1{font-size:2.5rem}.cp-themes-wrap{margin-top:-22px}.cp-theme{grid-template-columns:43px 1fr;min-height:94px;padding:13px}.cp-theme-ico{width:43px;height:43px}.cp-theme p{display:none}.cp-section{padding:48px 0}.cp-head{flex-direction:column;align-items:flex-start}.cp-tool-grid{grid-template-columns:1fr 1fr;gap:10px}.cp-tool{padding:15px;min-height:160px}.cp-theme-title{align-items:flex-start}.cp-theme-title .big-ico{width:55px;height:55px}.cp-theme-hero p,[dir="ltr"] .cp-theme-hero p{margin:12px 0 0}.footer-v24{grid-template-columns:1fr 1fr}.footer-v24-brand{grid-column:1/-1}.footer-bottom-inner{flex-direction:column;align-items:center;text-align:center}}
@media(max-width:470px){.container{width:min(calc(100% - 24px),var(--cp-max))}.v24x-header .brand-v24{width:152px;min-width:145px}.v24x-header .lang-switch{min-width:39px;height:39px}.cp-hero h1{font-size:2.1rem}.cp-search .btn{padding-inline:14px}.cp-themes,.cp-tool-grid{grid-template-columns:1fr}.cp-theme p{display:block}.footer-v24{grid-template-columns:1fr}.footer-v24-brand{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.cp-theme,.cp-tool{transition:none}}

/* V24.2 — Sources & transparency */
.cp-kicker{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#fff0f1;color:var(--cp-red);font-size:.78rem;font-weight:900;margin-bottom:12px}.cp-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cp-source-card{padding:22px;border:1px solid var(--cp-line);border-radius:19px;background:#fff;box-shadow:0 8px 25px rgba(8,42,77,.045)}.cp-source-card h2,.cp-source-card h3{margin:0 0 8px;color:var(--cp-navy)}.cp-source-card h2{font-size:1.12rem}.cp-source-card h3{font-size:1.1rem}.cp-source-card p{margin:0;color:var(--cp-muted);line-height:1.75}.cp-source-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#f2f7f5;color:var(--cp-green);margin-bottom:14px}.cp-source-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.cp-source-links a{padding:7px 10px;border:1px solid #e5eaee;border-radius:10px;background:#fbfcfd;color:var(--cp-navy);font-size:.78rem;font-weight:800}.cp-source-links a:hover{border-color:#d6dee4;color:var(--cp-red)}.cp-inline-link{color:var(--cp-red);font-weight:850}.cp-list-static{display:grid;gap:11px;margin-top:16px}.cp-list-static>div{display:flex;align-items:flex-start;gap:10px;color:var(--cp-muted);line-height:1.65}.cp-list-static .cp-icon{flex:0 0 18px;margin-top:3px;color:var(--cp-green)}.privacy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-license-table{border:1px solid var(--cp-line);border-radius:18px;overflow:hidden;background:#fff}.cp-license-row{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:14px;align-items:center;padding:13px 16px;border-bottom:1px solid #edf1f4}.cp-license-row:last-child{border-bottom:0}.cp-license-row a{color:var(--cp-red);font-weight:800}.cp-license-head{background:#f7f9fa;color:var(--cp-muted);font-size:.78rem;font-weight:900}.license-note{margin-top:18px}@media(max-width:900px){.cp-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.cp-source-grid,.privacy-grid{grid-template-columns:1fr}.cp-license-row{grid-template-columns:1fr;gap:4px}.cp-license-head{display:none}.cp-source-card{padding:18px}}


/* ================================================================
   CasaPratique V24.3 — Core Web Vitals + Footer Contrast
   ================================================================ */
/* Reserve the dynamically injected header before main.js executes.
   This prevents #main from being pushed down after first paint. */
[data-site-header]{display:block;min-height:72px}
@media(max-width:720px){[data-site-header]{min-height:66px}}

/* Keep the names summary geometry stable while JS fills counters. */
.names-summary{min-height:44px}

/* Footer: the supplied CasaPratique logo contains dark navy lettering,
   so a light neutral surface gives it proper contrast. */
.site-footer-v24{
  background:#f5f8f7;
  color:#17324a;
  border-top:4px solid var(--cp-red);
  box-shadow:0 -12px 36px rgba(8,42,77,.055);
}
.site-footer-v24 .footer-v24{padding-top:38px}
.site-footer-v24 .footer-v24 h3{color:#0c2235}
.site-footer-v24 .footer-v24 a{color:#40596c}
.site-footer-v24 .footer-v24 a:hover{color:var(--cp-red)}
.site-footer-v24 .footer-v24-brand img{
  width:300px;
  max-width:100%;
  max-height:158px;
  margin:0 0 12px;
  object-fit:contain;
  object-position:center;
}
.site-footer-v24 .footer-v24-brand p{color:#52697a;margin:0;line-height:1.8}
.site-footer-v24 .footer-bottom{
  margin-top:4px;
  background:#0c2235;
  color:#dce8f0;
  border-top:0;
}
.site-footer-v24 .footer-bottom-inner{color:#dce8f0}


/* ================================================================
   CasaPratique V24.3.1 — FOOTER LOGO CONTRAST HOTFIX
   Entire footer is light because the supplied logo contains navy text.
   ================================================================ */
.site-footer-v24{
  background:#f8faf9 !important;
  color:#17324a !important;
  border-top:1px solid #dfe8e4 !important;
  box-shadow:0 -10px 32px rgba(8,42,77,.05) !important;
}
.site-footer-v24 .footer-v24{
  padding-top:38px;
  padding-bottom:30px;
}
.site-footer-v24 .footer-v24 h3{
  color:#0b2a49 !important;
}
.site-footer-v24 .footer-v24 a{
  color:#425d70 !important;
}
.site-footer-v24 .footer-v24 a:hover{
  color:var(--cp-red) !important;
}
.site-footer-v24 .footer-v24-brand{
  align-content:start;
}
.site-footer-v24 .footer-v24-brand img{
  width:315px !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain;
  object-position:center;
  filter:none !important;
  opacity:1 !important;
}
.site-footer-v24 .footer-v24-brand p{
  color:#536c7c !important;
  line-height:1.8;
}
.site-footer-v24 .footer-bottom{
  background:#eef4f1 !important;
  color:#17324a !important;
  border-top:1px solid #dde7e2 !important;
  margin-top:0 !important;
}
.site-footer-v24 .footer-bottom-inner{
  color:#536c7c !important;
}
@media(max-width:720px){
  .site-footer-v24 .footer-v24-brand img{
    width:280px !important;
    margin-inline:auto !important;
  }
  .site-footer-v24 .footer-v24-brand{
    text-align:center;
  }
  .site-footer-v24 .footer-v24-brand p{
    margin-inline:auto !important;
  }
}


/* ===== assets/css/v24-hotfix-v246.css ===== */

/* CasaPratique V24.5 hotfix */
.site-header .header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px}
.site-header .main-nav{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.site-header .header-tools{display:flex;gap:10px;align-items:center}
.site-header .lang-switch{min-width:42px}
.cp-search-overlay{position:fixed;inset:0;background:rgba(7,18,32,.45);display:flex;align-items:flex-start;justify-content:center;padding:80px 16px;z-index:1200}
.cp-search-box{width:min(720px,100%);background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.15);padding:18px}
.cp-search-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.cp-search-top button{border:none;background:transparent;font-size:28px;cursor:pointer;line-height:1}
#searchInput{width:100%;padding:14px 16px;border:1px solid #d9e2ec;border-radius:14px;font-size:16px}
.cp-search-results{display:grid;gap:10px;margin-top:14px;max-height:420px;overflow:auto}
.cp-search-results a{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1px solid #e7eef5;border-radius:12px;text-decoration:none;color:#17324a;background:#fbfdff}
.cp-search-results a:hover{background:#f3f8fc}
.cp-search-results .empty{padding:12px 6px;color:#6b7c93}
.header-emergency-shortcut,.emergency-shortcut,.cp-emergency-shortcut,.quick-emergency,.header-alert{display:none!important}
.math-hero,.math-grid,.math-lab,.math-tools-grid,[class*="math-"]{box-sizing:border-box}
@media (max-width: 980px){
  .site-header .header-inner{flex-wrap:wrap}
  .site-header .main-nav{order:3;width:100%;justify-content:center}
}


/* ===== assets/css/v252-cls-zero.css ===== */

/* CasaPratique V25.2 — CLS Zero Shift Polish
   Targeted from Cloudflare field outliers: header/#main, health hero,
   CasaCompte hero and names-summary. */

/* Stable scrollbar geometry prevents small width jumps when overlays open. */
html{scrollbar-gutter:stable}

/* Reserve the injected shell height before main-v252.js executes. */
[data-site-header]{
  display:block;
  min-height:72px!important;
}
[data-site-footer]{
  display:block;
  min-height:220px;
}

/* The legacy v246 rule allowed header wrapping between breakpoints.
   Keep one fixed row; below 930px nav is already an overlay/fixed menu. */
.site-header .header-inner,
.site-header.v24x-header .header-inner{
  flex-wrap:nowrap!important;
  min-height:72px!important;
}
.site-header .brand-v24 img{
  aspect-ratio:620/319;
}
@media(max-width:930px){
  [data-site-header]{min-height:72px!important}
  .site-header .main-nav{position:fixed!important}
}
@media(max-width:720px){
  [data-site-header]{min-height:66px!important}
  .site-header .header-inner,
  .site-header.v24x-header .header-inner{min-height:66px!important}
}

/* Reserve hero copy geometry on the field-report outliers. */
.health-hero .page-hero-grid{
  min-height:220px;
  align-items:center;
}
.health-hero .page-hero-grid>div:first-child{
  min-height:170px;
}
.cc-hero .cc-hero-grid{
  min-height:190px;
}
.cc-hero .cc-hero-grid>div:first-child{
  min-height:150px;
}

/* Names summary can change after data/language initialization. */
.names-summary{
  min-height:58px!important;
  align-content:center;
}

/* Avoid interaction delay from the browser's double-tap gesture heuristic. */
button,
.btn,
[role="button"]{
  touch-action:manipulation;
}

/* Result containers should not shift because of late borders/fonts. */
.inline-status,
.health-result,
.v248-result{
  contain:layout style;
}

/* Keep decorative tool marks from affecting measured hero geometry. */
.hero-tool-mark,
.cc-hero-badge{
  contain:layout paint;
}

@media(max-width:720px){
  [data-site-footer]{min-height:300px}
  .health-hero .page-hero-grid{
    min-height:250px;
  }
  .health-hero .page-hero-grid>div:first-child{
    min-height:210px;
  }
  .cc-hero .cc-hero-grid{
    min-height:210px;
  }
  .cc-hero .cc-hero-grid>div:first-child{
    min-height:185px;
  }
  .names-summary{
    min-height:76px!important;
  }
}


/* ===== assets/css/v254-global.css ===== */

/* CasaPratique V25.3 — global share + fast color controls */
.cp-share-fab{
  position:fixed;
  inset-inline-start:18px;
  bottom:18px;
  z-index:9990;
  width:48px;height:48px;
  border:1px solid rgba(16,42,67,.14);
  border-radius:16px;
  display:grid;place-items:center;
  background:#102a43;
  color:#fff;
  box-shadow:0 12px 28px rgba(16,42,67,.20);
  cursor:pointer;
  touch-action:manipulation;
}
.cp-share-fab:hover{transform:translateY(-1px)}
.cp-share-fab svg{width:21px;height:21px}
.cp-share-fab .cp-share-label{
  position:absolute;
  inset-inline-start:58px;
  white-space:nowrap;
  padding:6px 9px;
  border-radius:8px;
  background:#102a43;
  color:#fff;
  font-size:11px;
  font-weight:800;
  opacity:0;
  pointer-events:none;
  transform:translateX(-4px);
  transition:.15s ease;
}
html[dir="rtl"] .cp-share-fab .cp-share-label{transform:translateX(4px)}
.cp-share-fab:hover .cp-share-label{opacity:1;transform:none}

.cp-share-backdrop{
  position:fixed;inset:0;z-index:9998;
  background:rgba(10,27,39,.42);
  backdrop-filter:blur(3px);
  opacity:0;pointer-events:none;
  transition:opacity .16s ease;
}
.cp-share-backdrop.open{opacity:1;pointer-events:auto}
.cp-share-sheet{
  position:fixed;
  z-index:9999;
  inset-inline-start:18px;
  bottom:78px;
  width:min(390px,calc(100vw - 24px));
  padding:14px;
  border:1px solid #dbe5eb;
  border-radius:20px;
  background:#fff;
  box-shadow:0 24px 60px rgba(16,42,67,.24);
  opacity:0;
  transform:translateY(10px) scale(.98);
  pointer-events:none;
  transition:.16s ease;
}
.cp-share-sheet.open{opacity:1;transform:none;pointer-events:auto}
.cp-share-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:12px}
.cp-share-head b{display:block;color:#102a43;font-size:16px}
.cp-share-head small{display:block;margin-top:3px;color:#6b8191;line-height:1.45}
.cp-share-close{
  width:36px;height:36px;border:0;border-radius:10px;
  background:#f1f5f7;color:#526b7d;font-size:20px;cursor:pointer
}
.cp-share-native{
  width:100%;min-height:44px;border:0;border-radius:11px;
  margin-bottom:9px;background:#0b7a57;color:#fff;font-weight:900;cursor:pointer
}
.cp-share-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.cp-share-item{
  min-height:72px;border:1px solid #dce6ed;border-radius:12px;
  display:grid;place-items:center;align-content:center;gap:5px;
  background:#fff;color:#173b53;text-decoration:none;font-size:11px;font-weight:850;cursor:pointer
}
.cp-share-item:hover{background:#f6f9fb}
.cp-share-item span:first-child{font-size:20px}
.cp-share-toast{
  position:fixed;z-index:10000;left:50%;bottom:24px;
  transform:translate(-50%,12px);
  opacity:0;pointer-events:none;
  padding:9px 13px;border-radius:999px;background:#102a43;color:#fff;
  font-size:12px;font-weight:850;transition:.16s ease
}
.cp-share-toast.show{opacity:1;transform:translate(-50%,0)}

/* Static quick color controls — no JS-created layout */
.cp-color-quick{
  display:flex;gap:7px;flex-wrap:wrap;align-items:center;
  margin-top:8px;
}
.cp-color-quick button{
  width:34px;height:34px;border-radius:50%;
  border:3px solid #fff;
  box-shadow:0 0 0 1px #cbd8e0;
  background:var(--swatch);
  cursor:pointer;
  touch-action:manipulation;
}
.cp-color-quick button.active{box-shadow:0 0 0 3px rgba(11,122,87,.22)}
.cp-color-custom{
  display:inline-flex;align-items:center;gap:7px;
  min-height:38px;padding:4px 8px;
  border:1px solid #d8e3e9;border-radius:10px;background:#fff;
  color:#536c7e;font-size:11px;font-weight:800
}
.cp-color-custom input[type="color"]{
  width:30px!important;height:30px!important;min-height:30px!important;
  padding:1px!important;border:0!important;border-radius:8px!important;background:transparent!important
}

@media(max-width:720px){
  .cp-share-fab{inset-inline-start:12px;bottom:12px;width:46px;height:46px;border-radius:15px}
  .cp-share-fab .cp-share-label{display:none}
  .cp-share-sheet{
    inset-inline:8px;
    bottom:8px;
    width:auto;
    border-radius:20px 20px 14px 14px;
    padding:14px 12px calc(14px + env(safe-area-inset-bottom));
  }
  .cp-share-grid{grid-template-columns:repeat(3,1fr)}
  body.invoice-app .cp-share-fab{bottom:80px}
}


/* ==========================================================
   V25.4 — Iconify + explicit social sharing
   ========================================================== */
iconify-icon{
  display:inline-block;
  width:1em;
  height:1em;
  vertical-align:-.125em;
  flex:0 0 auto;
}

/* Old generic FAB is replaced by an explicit social dock. */
.cp-share-fab{display:none!important}

.cp-social-dock{
  position:fixed;
  inset-inline-start:16px;
  bottom:16px;
  z-index:9988;
  display:flex;
  flex-direction:column;
  gap:7px;
}
.cp-social-btn{
  min-height:45px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 11px;
  border:1px solid rgba(16,42,67,.12);
  border-radius:13px;
  box-shadow:0 10px 25px rgba(16,42,67,.13);
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  touch-action:manipulation;
}
.cp-social-btn iconify-icon{font-size:21px}
.cp-social-btn.whatsapp{
  background:#0b8f57;
  border-color:#0b8f57;
  color:#fff;
}
.cp-social-btn.facebook{
  background:#1877f2;
  border-color:#1877f2;
  color:#fff;
}
.cp-social-btn.more{
  background:#102a43;
  border-color:#102a43;
  color:#fff;
}
.cp-social-btn:hover{transform:translateY(-1px)}

/* Share sheet uses proper Iconify brand icons */
.cp-share-item iconify-icon{
  font-size:23px;
}
.cp-share-item.whatsapp iconify-icon{color:#25D366}
.cp-share-item.facebook iconify-icon{color:#1877F2}
.cp-share-item.telegram iconify-icon{color:#229ED9}
.cp-share-item.linkedin iconify-icon{color:#0A66C2}
.cp-share-item.x iconify-icon{color:#111}
.cp-share-item.email iconify-icon{color:#617789}
.cp-share-item.copy iconify-icon{color:#102a43}

/* Generic Iconify card icon */
.cp-iconify-card{
  display:grid;
  place-items:center;
}
.cp-iconify-card iconify-icon{
  font-size:1em;
}

/* Strong visible labels; no icon-only ambiguity. */
.cp-social-btn span{white-space:nowrap}

@media(max-width:720px){
  .cp-social-dock{
    inset-inline:8px;
    bottom:8px;
    display:grid;
    grid-template-columns:1.18fr 1.18fr .72fr;
    gap:6px;
    padding:6px;
    border:1px solid #dce6ed;
    border-radius:16px;
    background:rgba(255,255,255,.97);
    box-shadow:0 14px 34px rgba(16,42,67,.14);
    backdrop-filter:blur(12px);
  }
  .cp-social-btn{
    min-height:44px;
    justify-content:center;
    padding:7px 8px;
    border-radius:11px;
    box-shadow:none;
  }
  .cp-social-btn iconify-icon{font-size:20px}
  .cp-social-btn.more span{display:none}
  body.invoice-app .cp-social-dock{bottom:72px}
  body.invoice-app .cp-share-sheet{bottom:128px}
}


/* ===== assets/css/v256-mobile-first.css ===== */

/* CasaPratique V25.6 — Mobile First + Iconify Homogeneous
   Conservative global hardening + targeted hub/mobile polish. */

:root{
  --cp-mobile-gap:12px;
  --cp-touch:46px;
}

/* Core width safety */
html,body{max-width:100%;overflow-x:clip}
main,section,.container{min-width:0}
img,video,canvas,svg{max-width:100%}
input,select,textarea,button{max-width:100%;box-sizing:border-box}
iconify-icon{
  display:inline-block;
  width:1em;
  height:1em;
  flex:0 0 auto;
  vertical-align:-.125em;
}

/* Unified Iconify icon holders */
.cp-theme-ico iconify-icon,
.cp-tool-ico iconify-icon,
.big-ico iconify-icon,
.theme-icon iconify-icon,
.create-icon iconify-icon,
.tool-badge-v18 iconify-icon,
.cp-section-icon iconify-icon{
  font-size:1.35em;
}
.cp-tool-ico,.cp-theme-ico,.big-ico,.theme-icon,.create-icon{
  overflow:hidden;
}
.cp-tool-ico iconify-icon,.cp-theme-ico iconify-icon,.big-ico iconify-icon{
  width:1em;height:1em
}
.cp-tool-ico{
  display:grid!important;
  place-items:center;
}

/* Section headings with Iconify */
.cp-section-title-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.cp-section-title-row h2{margin:0!important}
.cp-section-icon{
  width:38px;height:38px;
  display:grid;place-items:center;
  border-radius:11px;
  background:#eef5f8;
  color:#275d73;
  font-size:20px;
}

/* Shared header: desktop clean, mobile real menu */
.v24x-header .nav-ico{
  display:none;
  font-size:18px;
}
.v24x-header .header-tools{
  margin-inline-start:auto;
}
.v24x-header .menu-toggle-v256{
  display:none;
  width:42px;height:42px;
  border:1px solid #dfe5ea;
  background:#fff;
  color:#102a43;
  border-radius:11px;
  place-items:center;
  cursor:pointer;
}
.v24x-header .menu-toggle-v256 iconify-icon,
.v24x-header #searchOpen iconify-icon{
  font-size:20px;
}
.cp-nav-backdrop-v256{
  position:fixed;
  inset:0;
  z-index:980;
  background:rgba(9,25,38,.35);
  backdrop-filter:blur(2px);
  opacity:0;
  pointer-events:none;
  transition:opacity .16s ease;
}
.cp-nav-backdrop-v256.open{
  opacity:1;
  pointer-events:auto;
}

/* Search overlay: keyboard/mobile friendly */
.cp-search-overlay{
  padding:82px 14px 20px!important;
}
.cp-search-box{
  max-height:min(620px,calc(100dvh - 104px));
  overflow:auto;
  overscroll-behavior:contain;
}
.cp-search-box input[type="search"]{
  min-height:48px;
  font-size:16px;
}

/* Main hub card icon alignment */
.cp-theme.has-v256-icon{
  grid-template-columns:48px minmax(0,1fr)!important;
}
.cp-tool.has-v256-icon .cp-tool-ico{
  margin-bottom:12px;
}

/* Horizontal category filters on small screens */
.cp-filterbar{
  scrollbar-width:none;
}
.cp-filterbar::-webkit-scrollbar{display:none}

/* Social dock must never cover the final content on phones */
@media(max-width:720px){
  body:not(.invoice-app){padding-bottom:72px}
  body.invoice-app{padding-bottom:138px!important}
}

/* General touch safety */
@media(max-width:760px){
  input,select,textarea{
    font-size:16px!important; /* prevents iOS focus zoom */
  }
  button,.btn,a.cp-tool,a.cp-theme,.quick-chip{
    touch-action:manipulation;
  }
  button,.btn{
    min-height:44px;
  }
}

/* ----------------------------------------------------------
   TABLET / PHONE HEADER
   ---------------------------------------------------------- */
@media(max-width:930px){
  [data-site-header]{min-height:66px!important}
  .site-header .header-inner,
  .site-header.v24x-header .header-inner{
    min-height:66px!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
  }
  .v24x-header .brand-v24{
    width:150px!important;
    min-width:132px!important;
  }
  .v24x-header .brand-v24 img{
    width:100%!important;
    max-height:49px!important;
  }
  .v24x-header .header-tools{
    gap:6px!important;
    margin-inline-start:auto;
  }
  .v24x-header .lang-switch{
    min-width:40px!important;
    width:40px;
    height:40px!important;
    padding:0!important;
  }
  .v24x-header .menu-toggle-v256{
    display:grid;
    width:40px;height:40px;
  }

  /* override legacy hidden/wrapped nav with a real mobile panel */
  .site-header .main-nav,
  .v24x-header .main-nav{
    position:fixed!important;
    z-index:1002!important;
    top:74px!important;
    inset-inline:10px!important;
    width:auto!important;
    max-height:calc(100dvh - 92px)!important;
    overflow:auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    padding:10px!important;
    margin:0!important;
    border:1px solid #dce6ed!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 24px 60px rgba(16,42,67,.22)!important;
    transform:translateY(-8px) scale(.985);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .15s ease,transform .15s ease,visibility .15s;
  }
  .site-header .main-nav.open,
  .v24x-header .main-nav.open{
    transform:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .v24x-header .main-nav a{
    min-height:46px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px!important;
    border-radius:11px!important;
    font-size:.92rem!important;
    white-space:normal!important;
  }
  .v24x-header .main-nav .nav-ico{
    display:grid;
    width:30px;height:30px;
    place-items:center;
    border-radius:9px;
    background:#f2f6f8;
    color:#275d73;
  }
  .v24x-header .main-nav a.active .nav-ico{
    background:#fff0f1;
    color:#c1272d;
  }
}

/* ----------------------------------------------------------
   MAIN 6 PAGES — smartphone optimization
   ---------------------------------------------------------- */
@media(max-width:720px){
  .container{
    width:min(calc(100% - 24px),var(--cp-max))!important;
  }

  /* Homepage hero: shorter and clearer on phone */
  .cp-hero,.cp-hero-inner{
    min-height:590px!important;
  }
  .cp-hero-media{
    height:220px!important;
  }
  .cp-hero-copy{
    width:100%!important;
    padding:30px 0 245px!important;
  }
  .cp-hero h1{
    margin-top:12px!important;
    font-size:clamp(2rem,10vw,2.6rem)!important;
    line-height:1.08!important;
  }
  .cp-hero-lead{
    margin-bottom:16px!important;
    font-size:.98rem!important;
    line-height:1.7!important;
  }
  .cp-search{
    max-width:none!important;
    border-radius:14px!important;
    padding:5px!important;
  }
  .cp-search .search-ico{
    width:38px!important;height:38px!important;
  }
  .cp-search .btn{
    min-height:42px!important;
    padding:10px 13px!important;
  }
  .cp-chips{
    gap:6px!important;
  }
  .cp-chips a{
    padding:6px 8px!important;
    font-size:.76rem!important;
  }

  /* Home themes: 2 compact columns on regular smartphones */
  .cp-themes-wrap{
    margin-top:-16px!important;
  }
  .cp-themes-wrap .cp-themes{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .cp-themes-wrap .cp-theme{
    min-height:105px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:8px!important;
    padding:12px!important;
    border-radius:15px!important;
  }
  .cp-themes-wrap .cp-theme-ico{
    width:38px!important;height:38px!important;
    border-radius:11px!important;
    margin:0!important;
  }
  .cp-themes-wrap .cp-theme h2,
  .cp-themes-wrap .cp-theme h3{
    font-size:.9rem!important;
    line-height:1.25!important;
  }
  .cp-themes-wrap .cp-theme p{
    display:none!important;
  }

  /* Main category pages */
  .cp-theme-hero{
    padding:28px 0 20px!important;
  }
  .cp-breadcrumb{
    overflow-x:auto;
    white-space:nowrap;
    scrollbar-width:none;
    padding-bottom:3px;
  }
  .cp-breadcrumb::-webkit-scrollbar{display:none}
  .cp-theme-title{
    gap:10px!important;
    margin-top:12px!important;
  }
  .cp-theme-title .big-ico{
    width:48px!important;height:48px!important;
    border-radius:14px!important;
  }
  .cp-theme-title h1{
    font-size:clamp(1.8rem,8.5vw,2.35rem)!important;
  }
  .cp-theme-hero p,
  [dir="ltr"] .cp-theme-hero p{
    margin:9px 0 0!important;
    font-size:.94rem!important;
    line-height:1.7!important;
  }
  .cp-filterbar{
    flex-wrap:nowrap!important;
    overflow-x:auto;
    margin-inline:-12px!important;
    padding:3px 12px 7px!important;
    scroll-snap-type:x proximity;
  }
  .cp-filterbar a{
    flex:0 0 auto;
    min-height:39px;
    display:flex;
    align-items:center;
    scroll-snap-align:start;
  }

  .cp-category{
    padding-block:30px!important;
  }
  .cp-category h2{
    font-size:1.35rem!important;
  }
  .cp-section-title-row{
    margin-bottom:11px;
  }
  .cp-section-icon{
    width:36px;height:36px;
  }

  /* Tool cards become horizontal and compact on phone */
  .cp-category .cp-tool-grid,
  .cp-section .cp-tool-grid{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .cp-category .cp-tool,
  .cp-section .cp-tool{
    position:relative;
    min-height:104px!important;
    padding:13px 14px 13px 62px!important;
    border-radius:14px!important;
  }
  [dir="rtl"] .cp-category .cp-tool,
  [dir="rtl"] .cp-section .cp-tool{
    padding:13px 62px 13px 14px!important;
  }
  .cp-category .cp-tool .cp-tool-ico,
  .cp-section .cp-tool .cp-tool-ico{
    position:absolute;
    inset-inline-start:13px;
    top:14px;
    width:38px!important;height:38px!important;
    margin:0!important;
    border-radius:11px!important;
  }
  .cp-category .cp-tool h3,
  .cp-section .cp-tool h3{
    margin:0 0 4px!important;
    font-size:.96rem!important;
  }
  .cp-category .cp-tool p,
  .cp-section .cp-tool p{
    font-size:.79rem!important;
    line-height:1.5!important;
  }
  .cp-category .cp-tool .more,
  .cp-section .cp-tool .more{
    padding-top:7px!important;
    font-size:.76rem!important;
  }

  /* Themes page: 1 compact row-like card per theme */
  .themes-v253 .cp-page-hero{
    padding:20px 0 15px!important;
  }
  .themes-v253 .cp-theme-index{
    padding:12px 0 36px!important;
  }
  .themes-v253 .cp-themes{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .themes-v253 .cp-theme{
    min-height:0!important;
    border-radius:15px!important;
  }
  .themes-v253 .theme-accent{
    width:5px!important;
    height:auto!important;
    position:absolute;
    inset-block:0;
    inset-inline-start:0;
  }
  .themes-v253 .cp-theme{
    position:relative;
  }
  .themes-v253 .theme-body{
    padding:13px 14px!important;
  }
  .themes-v253 .theme-top{
    float:inline-start;
    margin:0 0 0 11px!important;
  }
  [dir="ltr"] .themes-v253 .theme-top{
    margin:0 11px 0 0!important;
  }
  .themes-v253 .theme-icon{
    width:42px!important;height:42px!important;
    border-radius:12px!important;
  }
  .themes-v253 .theme-arrow{
    display:none!important;
  }
  .themes-v253 .cp-theme h2{
    font-size:1rem!important;
    margin:1px 0 3px!important;
  }
  .themes-v253 .cp-theme p{
    font-size:.76rem!important;
    line-height:1.45!important;
  }
  .themes-v253 .theme-tags{
    display:none!important;
  }

  /* Sections and footer */
  .cp-section{
    padding:38px 0!important;
  }
  .cp-head{
    margin-bottom:15px!important;
  }
  .site-footer-v24{
    padding-top:4px;
  }
  .footer-v24{
    grid-template-columns:1fr 1fr!important;
    gap:20px 14px!important;
  }
  .footer-v24-brand{
    grid-column:1/-1!important;
  }
}

/* Very small phones */
@media(max-width:360px){
  .container{width:min(calc(100% - 18px),var(--cp-max))!important}
  .v24x-header .brand-v24{width:132px!important;min-width:118px!important}
  .cp-themes-wrap .cp-themes{grid-template-columns:1fr!important}
  .cp-themes-wrap .cp-theme{
    min-height:82px!important;
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    align-items:center!important;
  }
  .footer-v24{grid-template-columns:1fr!important}
  .footer-v24-brand{grid-column:auto!important}
}

/* Generic phone hardening for common tool layouts */
@media(max-width:720px){
  .data-grid,
  .ct-form,
  .v248-form{
    grid-template-columns:1fr!important;
  }
  .data-actions,
  .v248-action-row,
  .ct-actions{
    gap:7px!important;
  }
  .data-actions .btn,
  .v248-action-row .v248-btn,
  .ct-actions .ct-btn{
    min-height:46px;
  }
  .quick-chips{
    flex-wrap:nowrap!important;
    overflow-x:auto;
    scrollbar-width:none;
    padding-bottom:3px;
  }
  .quick-chips::-webkit-scrollbar{display:none}
  .quick-chip{flex:0 0 auto}
  .table-v18{
    font-size:.84rem;
  }
}


/* V25.6 Iconify homogeneous alignment */
.create-icon iconify-icon,
.ct-card .icon iconify-icon{
  font-size:24px;
}
.ct-card .icon{
  color:#275d73;
}
.facture-topbar button iconify-icon,
.facture-mobile-actions button iconify-icon,
.casacarte-v252 .btn iconify-icon{
  margin-inline-end:6px;
  font-size:1.15em;
}
.cp-icon{
  width:1em!important;
  height:1em!important;
}


/* ===== assets/css/trust-v257.css ===== */
/* CasaPratique V25.7 — Trust / Policy / AdSense polish */
.trust-hero{padding:34px 0 28px;background:radial-gradient(circle at 84% 12%,rgba(11,122,87,.08),transparent 29%),radial-gradient(circle at 12% 2%,rgba(193,39,45,.06),transparent 25%),linear-gradient(180deg,#fff,#f8fafb);border-bottom:1px solid #e2e9ee}
.trust-kicker{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:#eef7f3;color:#0b7a57;font-size:12px;font-weight:900}
.trust-hero h1{margin:12px 0 8px;max-width:860px;color:#102a43;font-size:clamp(32px,4vw,50px);line-height:1.15}.trust-hero p{max-width:860px;margin:0;color:#607687;line-height:1.85}.trust-updated{display:flex;align-items:center;gap:7px;margin-top:14px;color:#718596;font-size:12px}
.trust-main{padding:26px 0 58px;background:#f7f9fb}.trust-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.38fr);gap:18px;align-items:start}.trust-content{display:grid;gap:13px}
.trust-card{padding:20px;border:1px solid #dce6ed;border-radius:18px;background:#fff;box-shadow:0 9px 28px rgba(16,42,67,.045)}.trust-card h2{display:flex;align-items:center;gap:9px;margin:0 0 10px;color:#102a43;font-size:20px}.trust-card h2 iconify-icon{color:#0b7a57;font-size:22px}.trust-card h3{margin:16px 0 7px;color:#173b53;font-size:15px}.trust-card p,.trust-card li{color:#536c7d;line-height:1.85;font-size:14px}.trust-card p:last-child{margin-bottom:0}.trust-list{margin:8px 0 0;padding-inline-start:22px}.trust-list li+li{margin-top:6px}
.trust-note{padding:13px 14px;border:1px solid #d5e7de;border-radius:13px;background:#f1f8f5;color:#315f4c;line-height:1.7;font-size:13px}.trust-note.warn{border-color:#ecdcae;background:#fff9ea;color:#725b19}
.trust-sidebar{position:sticky;top:88px;display:grid;gap:12px}.trust-nav,.trust-contact-box{padding:15px;border:1px solid #dce6ed;border-radius:17px;background:#fff}.trust-nav strong,.trust-contact-box strong{display:block;margin-bottom:9px;color:#102a43}.trust-nav a{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border-radius:10px;color:#36556c;text-decoration:none;font-size:13px;font-weight:800}.trust-nav a:hover{background:#f2f6f8}.trust-nav a.active{background:#edf8f3;color:#0b7a57}.trust-contact-box a{display:flex;align-items:center;gap:8px;margin-top:8px;color:#0b6f51;text-decoration:none;font-weight:900;overflow-wrap:anywhere}
.trust-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.trust-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;border:1px solid #d6e1e8;border-radius:11px;background:#fff;color:#173b53;text-decoration:none;font-weight:900;cursor:pointer}.trust-btn.primary{background:#102a43;border-color:#102a43;color:#fff}.trust-btn.green{background:#0b7a57;border-color:#0b7a57;color:#fff}
.trust-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.trust-link-card{min-height:92px;padding:13px;border:1px solid #dfe7ec;border-radius:13px;background:#fbfdfe;text-decoration:none}.trust-link-card iconify-icon{font-size:22px;color:#275d73}.trust-link-card b{display:block;margin:7px 0 3px;color:#173b53}.trust-link-card span{color:#6a7f8f;font-size:12px;line-height:1.5}
.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:12px}.contact-field{display:grid;gap:6px}.contact-field.full{grid-column:1/-1}.contact-field span{color:#40596c;font-size:12px;font-weight:900}.contact-field input,.contact-field select,.contact-field textarea{width:100%;min-height:46px;padding:11px 12px;border:1px solid #d3dfe7;border-radius:10px;background:#fff;color:#17364d;font:inherit;box-sizing:border-box}.contact-field textarea{min-height:150px;resize:vertical}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{outline:3px solid rgba(11,122,87,.11);border-color:#0b7a57}.contact-status{min-height:20px;margin-top:8px;color:#0b7a57;font-size:12px;font-weight:800}
.cp-trust-rail{padding:20px 0 46px;background:#f7f9fb}.cp-trust-rail-inner{display:grid;grid-template-columns:1.35fr repeat(4,minmax(0,.65fr));gap:9px;align-items:stretch}.cp-trust-intro,.cp-trust-mini{border:1px solid #dce6ed;border-radius:15px;background:#fff}.cp-trust-intro{padding:15px}.cp-trust-intro strong{display:block;color:#102a43;margin-bottom:4px}.cp-trust-intro span{color:#677d8d;font-size:12px;line-height:1.55}.cp-trust-mini{min-height:84px;display:grid;align-content:center;justify-items:start;gap:6px;padding:12px;color:#173b53;text-decoration:none;font-size:12px;font-weight:900}.cp-trust-mini iconify-icon{font-size:21px;color:#0b7a57}.cp-trust-mini:hover{background:#f4f9f7;border-color:#c9ded4}
.site-footer-v24 .footer-trust-links{display:flex;gap:9px 12px;flex-wrap:wrap;margin-top:8px}.site-footer-v24 .footer-trust-links a{font-size:11px;color:#5d7384}.site-footer-v24 .footer-independent{margin-top:7px;color:#718596;font-size:11px;line-height:1.55}
@media(max-width:900px){.trust-grid{grid-template-columns:1fr}.trust-sidebar{position:static;grid-template-columns:1fr 1fr}.cp-trust-rail-inner{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-trust-intro{grid-column:1/-1}}
@media(max-width:620px){.trust-hero{padding:22px 0 18px}.trust-hero h1{font-size:30px}.trust-main{padding:12px 0 40px}.trust-card{padding:15px;border-radius:15px}.trust-sidebar{grid-template-columns:1fr}.trust-links{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr}.contact-field.full{grid-column:auto}.trust-actions{display:grid}.trust-btn{width:100%}.cp-trust-rail{padding:12px 0 34px}.cp-trust-rail-inner{grid-template-columns:1fr 1fr;gap:7px}.cp-trust-intro{grid-column:1/-1}.cp-trust-mini{min-height:76px}}


/* ===== assets/css/v258-adaptive-device.css ===== */

/* CasaPratique V25.8 — Adaptive PC + Mobile auto-adjust */
:root{--cp-fluid-max:1320px}
body.v24x{font-size:clamp(15px,.18vw + 14.3px,16px)}
.container{width:min(calc(100% - clamp(18px,3vw,42px)),var(--cp-fluid-max))!important;margin-inline:auto}
.cp-page-hero,.cp-theme-hero{padding-block:clamp(26px,4vw,60px)!important}
.cp-page-hero h1,.cp-theme-title h1{line-height:1.08}
.cp-page-hero p,.cp-theme-hero p{max-width:860px}
.cp-theme-index,.cp-category{padding-block:clamp(18px,3vw,46px)!important}
.cp-section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cp-tool-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr))!important;gap:clamp(10px,1.2vw,16px)!important;align-items:stretch}
.cp-tool{min-height:clamp(172px,22vw,210px)!important;padding:clamp(16px,1.5vw,20px)!important;border-radius:18px!important}
.cp-tool h3{font-size:clamp(17px,1.1vw,20px)!important;line-height:1.35!important}
.cp-tool p{font-size:clamp(13px,.35vw + 12px,14px)!important;line-height:1.65!important}
.cp-tool .more{margin-top:auto;padding-top:10px;font-size:13px!important}

/* Themes overview */
.themes-v253 .cp-theme-index{padding-block:clamp(18px,3vw,56px)!important}
.themes-v253 .cp-themes{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))!important;gap:clamp(12px,1.25vw,18px)!important;align-items:stretch}
.themes-v253 .cp-theme{min-height:clamp(208px,24vw,250px)!important;border-radius:20px!important}
.themes-v253 .theme-body{padding:clamp(16px,1.5vw,22px)!important;display:flex;flex-direction:column;height:calc(100% - 5px)}
.themes-v253 .theme-top{margin-bottom:12px!important}
.themes-v253 .theme-icon{width:clamp(42px,3.1vw,50px)!important;height:clamp(42px,3.1vw,50px)!important;font-size:clamp(20px,1.4vw,24px)!important}
.themes-v253 .theme-arrow{width:34px;height:34px}
.themes-v253 .cp-theme h2{font-size:clamp(18px,1.1vw + 14px,22px)!important;line-height:1.25!important}
.themes-v253 .cp-theme p{font-size:clamp(13px,.3vw + 12px,14px)!important;line-height:1.72!important;display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.themes-v253 .theme-tags{margin-top:auto;padding-top:12px}
.themes-v253 .theme-tags span{font-size:11px!important;padding:6px 8px!important}

/* Better desktop density */
@media (min-width: 1450px){
  :root{--cp-fluid-max:1380px}
  .themes-v253 .cp-themes{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* Tablet */
@media (max-width: 1024px){
  .container{width:min(calc(100% - 28px),var(--cp-fluid-max))!important}
  .cp-tool-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))!important}
  .themes-v253 .cp-themes{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))!important}
}

/* Mobile */
@media (max-width: 720px){
  .container{width:min(calc(100% - 20px),var(--cp-fluid-max))!important}
  .cp-page-hero,.cp-theme-hero{padding-block:22px 18px!important}
  .cp-page-hero h1{font-size:clamp(28px,8vw,34px)!important}
  .cp-theme-title{gap:12px!important;align-items:flex-start!important}
  .cp-theme-title .big-ico{width:50px!important;height:50px!important;border-radius:14px!important}
  .cp-theme-title h1{font-size:clamp(28px,7vw,34px)!important}
  .cp-filterbar{gap:7px!important;overflow:auto;padding-bottom:2px;scrollbar-width:none}
  .cp-filterbar::-webkit-scrollbar{display:none}
  .cp-filterbar a{white-space:nowrap}
  .cp-tool-grid{grid-template-columns:1fr!important}
  .cp-tool{min-height:0!important}
  .themes-v253 .cp-themes{grid-template-columns:1fr!important;gap:10px!important}
  .themes-v253 .cp-theme{min-height:0!important;border-radius:16px!important}
  .themes-v253 .cp-theme p{-webkit-line-clamp:initial;overflow:visible}
}

/* Wide phones: allow 2 small cards where useful */
@media (min-width: 540px) and (max-width: 720px){
  .cp-tool-grid[data-compact="2"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* ===== assets/css/v259-smart-responsive.css ===== */

/* CasaPratique V25.9 — Smart Responsive Release
   PC / Tablet / Phone auto-adjustment + mobile navigation polish */

:root{
  --cp-bottom-nav-h:64px;
  --cp-page-inline:clamp(12px,2.6vw,28px);
}

/* ---------- Header polish ---------- */
.site-header.v24x-header{
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid #e5ebef;
}
.site-header.v24x-header .header-inner{
  width:min(calc(100% - 28px),1320px);
  margin-inline:auto;
}
.v24x-header .main-nav a{
  transition:background-color .14s ease,color .14s ease;
}
.v24x-header .main-nav a:hover{
  background:#f4f7f9;
}
.v24x-header .main-nav a.active{
  background:#fff0f1;
  color:#c1272d;
}
.v24x-header .header-tools button{
  box-shadow:none;
}

/* ---------- Equal-height cards on desktop ---------- */
.cp-tool-grid,
.cp-themes{
  align-items:stretch!important;
}
.cp-tool{
  height:100%;
  display:flex!important;
  flex-direction:column!important;
}
.cp-tool .more{
  margin-top:auto!important;
}
.themes-v253 .cp-theme{
  height:100%;
}
.themes-v253 .theme-body{
  height:100%;
  display:flex;
  flex-direction:column;
}
.themes-v253 .theme-tags{
  margin-top:auto!important;
}

/* /themes must use ONE icon system only */
.themes-v253 .cp-theme{
  display:block!important;
  grid-template-columns:none!important;
}
.themes-v253 .cp-theme > .cp-theme-ico{
  display:none!important;
}

/* Better desktop / large laptop sizing */
@media(min-width:1100px){
  .themes-v253 .cp-themes{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    max-width:1220px;
    margin-inline:auto;
  }
  .themes-v253 .cp-theme{
    min-height:220px!important;
  }
  .cp-tool-grid{
    grid-template-columns:repeat(auto-fit,minmax(235px,1fr))!important;
  }
}

/* ---------- Mobile bottom navigation ---------- */
.cp-bottom-nav-v259{
  display:none;
}
@media(max-width:760px){
  html{
    scroll-padding-top:74px;
  }
  body.v24x:not(.invoice-app){
    padding-bottom:calc(var(--cp-bottom-nav-h) + env(safe-area-inset-bottom) + 14px)!important;
  }

  /* Sticky compact topbar */
  [data-site-header]{
    min-height:62px!important;
  }
  .site-header.v24x-header{
    position:sticky;
    top:0;
    z-index:1100;
  }
  .site-header.v24x-header .header-inner{
    width:100%!important;
    min-height:62px!important;
    padding-inline:10px!important;
    gap:6px!important;
  }
  .v24x-header .brand-v24{
    width:136px!important;
    min-width:118px!important;
  }
  .v24x-header .brand-v24 img{
    max-height:44px!important;
  }
  .v24x-header .header-tools{
    gap:5px!important;
  }
  .v24x-header .lang-switch,
  .v24x-header .menu-toggle-v256{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    border-radius:10px!important;
  }

  /* Mobile menu becomes a clean sheet under header */
  .site-header .main-nav,
  .v24x-header .main-nav{
    top:68px!important;
    inset-inline:8px!important;
    max-height:calc(100dvh - 146px)!important;
    padding:8px!important;
    border-radius:15px!important;
  }
  .v24x-header .main-nav a{
    min-height:44px!important;
    padding:9px 10px!important;
  }

  /* Bottom nav */
  .cp-bottom-nav-v259{
    position:fixed;
    z-index:1090;
    inset-inline:8px;
    bottom:max(8px,env(safe-area-inset-bottom));
    min-height:56px;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:4px;
    padding:5px;
    border:1px solid #dbe4e9;
    border-radius:17px;
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(16px);
    box-shadow:0 14px 34px rgba(16,42,67,.16);
  }
  .cp-bottom-nav-v259 a,
  .cp-bottom-nav-v259 button{
    min-width:0;
    min-height:46px!important;
    display:grid;
    place-items:center;
    align-content:center;
    gap:2px;
    padding:4px 2px;
    border:0;
    border-radius:11px;
    background:transparent;
    color:#637887;
    text-decoration:none;
    font:inherit;
    cursor:pointer;
  }
  .cp-bottom-nav-v259 iconify-icon{
    font-size:20px;
  }
  .cp-bottom-nav-v259 span{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:9.5px;
    font-weight:850;
  }
  .cp-bottom-nav-v259 a.active{
    background:#eef7f3;
    color:#0b7a57;
  }
  .cp-bottom-nav-v259 button.active{
    background:#fff0f1;
    color:#c1272d;
  }

  /* Keep the always-visible social buttons, but move them above bottom nav */
  .cp-social-dock{
    inset-inline-start:8px!important;
    bottom:78px!important;
    display:flex!important;
    flex-direction:column!important;
    width:auto!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    gap:6px!important;
  }
  .cp-social-btn{
    width:42px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0!important;
    border-radius:13px!important;
    display:grid!important;
    place-items:center!important;
    box-shadow:0 9px 20px rgba(16,42,67,.13)!important;
  }
  .cp-social-btn span{
    display:none!important;
  }
  .cp-social-btn iconify-icon{
    font-size:20px!important;
  }
  .cp-share-sheet{
    bottom:78px!important;
  }

  /* Smart page spacing */
  .cp-page-hero,
  .cp-theme-hero{
    padding-top:22px!important;
    padding-bottom:17px!important;
  }
  .cp-category{
    padding-block:24px!important;
  }
  .cp-section{
    padding-block:30px!important;
  }
  .cp-section-title-row{
    margin-bottom:10px!important;
  }

  /* Tool cards: predictable phone rhythm */
  .cp-category .cp-tool,
  .cp-section .cp-tool{
    min-height:98px!important;
    border-radius:14px!important;
  }
}

/* Phones 430–760: balanced cards */
@media(min-width:430px) and (max-width:760px){
  .cp-tool-grid[data-compact="2"]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .cp-tool-grid[data-compact="2"] .cp-tool{
    min-height:148px!important;
    padding:14px!important;
  }
  .cp-tool-grid[data-compact="2"] .cp-tool .cp-tool-ico{
    position:static!important;
    width:38px!important;
    height:38px!important;
    margin-bottom:8px!important;
  }
  .cp-tool-grid[data-compact="2"] .cp-tool,
  [dir="rtl"] .cp-tool-grid[data-compact="2"] .cp-tool{
    padding:14px!important;
  }
}

/* Very small phones */
@media(max-width:390px){
  .cp-bottom-nav-v259{
    inset-inline:5px;
    padding:4px;
    gap:2px;
  }
  .cp-bottom-nav-v259 span{
    font-size:9px;
  }
  .v24x-header .brand-v24{
    width:126px!important;
  }
}

/* ---------- Themes page: adaptive, no narrow text columns ---------- */
@media(max-width:760px){
  .themes-v253 .cp-themes{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .themes-v253 .cp-theme{
    min-height:0!important;
  }
  .themes-v253 .theme-body{
    padding:14px!important;
  }
  .themes-v253 .theme-top{
    margin-bottom:8px!important;
  }
  .themes-v253 .theme-tags{
    display:flex!important;
    margin-top:10px!important;
    padding-top:0!important;
  }
}

/* Tablet themes */
@media(min-width:761px) and (max-width:1099px){
  .themes-v253 .cp-themes{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .themes-v253 .cp-theme{
    min-height:205px!important;
  }
}


/* ===== assets/css/v270-trilingual.css ===== */

/* CasaPratique V27.0 — AR / FR / EN */
.lang-group-v270{
  display:flex;
  align-items:center;
  gap:2px;
  padding:3px;
  border:1px solid #dce5eb;
  border-radius:11px;
  background:#f7fafb;
}
.lang-group-v270 button{
  min-width:34px;
  height:34px;
  min-height:34px!important;
  padding:0 7px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#607687;
  font:inherit;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
  touch-action:manipulation;
}
.lang-group-v270 button.active{
  background:#102a43;
  color:#fff;
  box-shadow:0 3px 10px rgba(16,42,67,.12);
}
html[lang="en"] body,
html[lang="fr"] body{direction:ltr}
html[lang="ar"] body{direction:rtl}

@media(max-width:760px){
  .lang-group-v270{
    gap:1px;
    padding:2px;
  }
  .lang-group-v270 button{
    min-width:29px;
    width:29px;
    height:34px;
    padding:0;
    font-size:9px;
  }
}


/* ===== assets/css/v272-public-clean.css ===== */

/* CasaPratique V27.2 — Public UI clean */
.hero-single-v272{
  grid-template-columns:minmax(0,1fr)!important;
}
.hero-single-v272 > :first-child{
  max-width:900px;
}
.data-grid.source-detail-removed{
  grid-template-columns:minmax(0,1fr)!important;
}
.data-grid.source-detail-removed > :first-child{
  width:100%;
  max-width:none;
}
@media(min-width:900px){
  .data-grid.source-detail-removed > :first-child{
    max-width:1050px;
    margin-inline:auto;
  }
}



/* ===== CasaPratique V28 static core polish ===== */
:root{
  --cp-red:#c1272d;
  --cp-green:#0b7a57;
  --cp-navy:#102a43;
  --cp-text:#17364d;
  --cp-muted:#6b7f8f;
  --cp-border:#dce6ed;
  --cp-surface:#ffffff;
  --cp-bg:#f7f9fb;
  --cp-radius:16px;
  --cp-shadow:0 10px 30px rgba(16,42,67,.06);
}
html{scroll-behavior:smooth}
body{background:var(--cp-bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.cp-result-share-v28{
  position:fixed;z-index:1085;inset-inline-end:16px;bottom:16px;
  display:none;align-items:center;gap:8px;min-height:44px;padding:9px 13px;
  border:1px solid rgba(11,122,87,.18);border-radius:999px;background:#0b7a57;color:#fff;
  box-shadow:0 12px 30px rgba(16,42,67,.16);font:inherit;font-size:12px;font-weight:900;cursor:pointer;
}
.cp-result-share-v28.show{display:flex}
.cp-result-share-v28 iconify-icon{font-size:18px}
@media(max-width:760px){
  .cp-result-share-v28{inset-inline-end:8px;bottom:78px;max-width:calc(100vw - 70px)}
  .cp-result-share-v28 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* ==========================================================
   V28.3 — Universal result sharing
   ========================================================== */
.cp-result-share-inline-wrap-v283{
  display:flex;
  justify-content:flex-end;
  margin:10px 0 0;
}
html[dir="rtl"] .cp-result-share-inline-wrap-v283{
  justify-content:flex-start;
}
.cp-result-share-inline-v283{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:9px 13px;
  border:1px solid #cfe0d8;
  border-radius:11px;
  background:#eef8f3;
  color:#08734f;
  font:inherit;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  touch-action:manipulation;
}
.cp-result-share-inline-v283:hover{
  background:#e3f3eb;
  border-color:#afd2c1;
}
.cp-result-share-inline-v283 iconify-icon{
  font-size:18px;
}
/* V28 old floating result button is no longer used */
.cp-result-share-v28{display:none!important}

@media(max-width:620px){
  .cp-result-share-inline-wrap-v283{
    display:grid;
  }
  .cp-result-share-inline-v283{
    width:100%;
    min-height:46px;
    font-size:13px;
  }
}
