: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}}
