:root{
  --domyra-dark:#0b1220;
  --domyra-ink:#111b34;
  --domyra-accent:#2b6cb0;
  --domyra-accent-2:#22c55e;
  --domyra-soft:#f3f6ff;
}

html, body{
  font-size:16px;
  scroll-behavior:smooth;
}

body{
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  background: #ffffff;
  color:#0f172a;
}

a{ text-decoration:none; }

.navbar-brand{
  font-weight:800;
  letter-spacing:.2px;
}

.hero{
  background:
    linear-gradient(120deg, rgba(11,18,32,.92), rgba(17,27,52,.88)),
    url("../../images/hero-digital-italy.jpg");
  background-size:cover;
  background-position:center;
  border-radius: 1.25rem;
  overflow:hidden;
}

.section-card{
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 10px 30px rgba(2,8,23,.06);
}

.badge-soft{
  background: rgba(43,108,176,.10);
  color: var(--domyra-accent);
  border: 1px solid rgba(43,108,176,.18);
  font-weight:600;
}

.kpi{
  border-radius: 1.25rem;
  background: var(--domyra-soft);
  border: 1px solid rgba(15,23,42,.08);
}

.icon-chip{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(34,197,94,.10);
  border: 1px solid rgba(34,197,94,.18);
}

.feature-item{
  padding: 1.1rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(15,23,42,.08);
  height:100%;
}

.feature-item:hover{
  transform: translateY(-2px);
  transition: .2s ease;
  box-shadow: 0 14px 34px rgba(2,8,23,.08);
}

.img-rounded{
  border-radius: 1.25rem;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 12px 30px rgba(2,8,23,.08);
}

.muted{
  color: rgba(15,23,42,.72);
}

.btn-domyra{
  background: var(--domyra-accent);
  border-color: var(--domyra-accent);
  color:#fff;
  font-weight:700;
  border-radius: 999px;
  padding: .75rem 1.1rem;
}

.btn-domyra:hover{
  background: #245a92;
  border-color:#245a92;
  color:#fff;
}

.btn-outline-domyra{
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.42);
  color:#fff;
  font-weight:700;
}

.btn-outline-domyra:hover{
  background: rgba(255,255,255,.10);
  color:#fff;
}

.small-note{
  font-size:.95rem;
}

hr.soft{
  border:0;
  border-top:1px solid rgba(15,23,42,.10);
}

.footer{
  background: #0b1220;
  color: rgba(255,255,255,.86);
  border-radius: 1.25rem;
}

.footer a{
  color: rgba(255,255,255,.86);
}

.footer a:hover{
  color:#ffffff;
}

.cookie-banner{
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 9999;
  border-radius: 1.25rem;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(15,23,42,.12);
  box-shadow: 0 12px 40px rgba(2,8,23,.14);
  padding: 1rem;
}

.cookie-banner.hidden{ display:none; }

.modal-backdrop-custom{
  position:fixed;
  inset:0;
  background: rgba(2,8,23,.66);
  z-index: 10000;
  display:none;
  align-items:center;
  justify-content:center;
  padding: 1rem;
}

.modal-backdrop-custom.show{ display:flex; }

.modal-card{
  background:#fff;
  border-radius: 1.25rem;
  max-width: 560px;
  width:100%;
  border: 1px solid rgba(15,23,42,.12);
  box-shadow: 0 20px 60px rgba(2,8,23,.22);
  overflow:hidden;
}

.modal-header{
  padding: 1rem 1.25rem;
  background: var(--domyra-soft);
  border-bottom: 1px solid rgba(15,23,42,.10);
}

.modal-body{
  padding: 1rem 1.25rem;
}

.modal-footer{
  padding: 1rem 1.25rem;
  border-top: 1px solid rgba(15,23,42,.10);
  display:flex;
  justify-content:flex-end;
  gap:.5rem;
}

.form-control, .form-select{
  border-radius: 1rem;
  padding: .8rem 1rem;
}

.card-plain{
  border:1px solid rgba(15,23,42,.08);
  border-radius: 1.25rem;
}

.table-soft{
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 1.25rem;
  overflow:hidden;
}

/* --- Colorful sections & cards --- */
.section-pad{ margin-top: 1.25rem; }
.section-inner{ border-radius: 1.25rem; }
.section-soft{
  background: linear-gradient(180deg, #f3f6ff, #ffffff);
  border-radius: 1.25rem;
  border: 1px solid rgba(15, 23, 42, .08);
}
.section-surface{
  background: linear-gradient(135deg, rgba(43,108,176,.10), rgba(34,197,94,.10));
  border-radius: 1.25rem;
  border: 1px solid rgba(15, 23, 42, .10);
}
.section-ink{
  background:
    radial-gradient(900px 420px at 15% 25%, rgba(34,197,94,.25), transparent 60%),
    radial-gradient(700px 420px at 85% 30%, rgba(59,130,246,.28), transparent 55%),
    linear-gradient(120deg, #0b1220, #111b34);
  border-radius: 1.25rem;
  border: 1px solid rgba(255,255,255,.10);
}
.section-gradient-a{
  background:
    radial-gradient(900px 420px at 25% 25%, rgba(250,204,21,.30), transparent 55%),
    radial-gradient(800px 420px at 80% 35%, rgba(168,85,247,.30), transparent 55%),
    linear-gradient(120deg, #0b1220, #111b34);
  border-radius: 1.25rem;
  border: 1px solid rgba(255,255,255,.10);
}
.text-white-75{ color: rgba(255,255,255,.78); }

.color-card{
  border-radius: 1.25rem;
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 12px 30px rgba(15, 23, 42, .08);
}
.color-card .icon-bubble{
  width: 46px; height: 46px;
  border-radius: 14px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(15,23,42,.08);
}
.color-card--sun{ background: linear-gradient(135deg, rgba(250,204,21,.35), rgba(255,255,255,.85)); }
.color-card--sea{ background: linear-gradient(135deg, rgba(59,130,246,.28), rgba(255,255,255,.85)); }
.color-card--violet{ background: linear-gradient(135deg, rgba(168,85,247,.26), rgba(255,255,255,.85)); }
.color-card--mint{ background: linear-gradient(135deg, rgba(34,197,94,.24), rgba(255,255,255,.85)); }

.glass{
  border-radius: 1.25rem;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.07);
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
}

.mini-callout{
  border-radius: 1.25rem;
  border: 1px solid rgba(15, 23, 42, .10);
  box-shadow: 0 10px 22px rgba(15,23,42,.08);
}
.mini-callout--blue{ background: linear-gradient(135deg, rgba(59,130,246,.18), #ffffff); }
.mini-callout--green{ background: linear-gradient(135deg, rgba(34,197,94,.18), #ffffff); }
.mini-callout--amber{ background: linear-gradient(135deg, rgba(245,158,11,.18), #ffffff); }
.mini-callout--violet{ background: linear-gradient(135deg, rgba(168,85,247,.18), #ffffff); }

.alert-domyra{
  background: linear-gradient(135deg, rgba(59,130,246,.10), rgba(34,197,94,.10));
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 1.25rem;
  color: #0f172a;
}
.img-stack{ position: relative; }
.stack-badge{
  position:absolute;
  left: 14px; bottom: 14px;
  padding: .6rem .75rem;
  border-radius: 999px;
  background: rgba(11,18,32,.86);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.90);
  font-size: .95rem;
}

.section-chip{
  background: #ffffff;
  border-radius: 1.25rem;
  border: 1px solid rgba(15, 23, 42, .10);
  box-shadow: 0 10px 22px rgba(15,23,42,.08);
}

.faq-item{
  border-radius: 1.25rem;
  border: 1px solid rgba(15, 23, 42, .10);
  background: #ffffff;
  box-shadow: 0 10px 22px rgba(15,23,42,.08);
}
.faq-item summary{
  cursor:pointer;
  list-style:none;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary:after{
  content: " +";
  font-weight: 900;
}
.faq-item[open] summary:after{ content:" −"; }

.pill{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding: .45rem .75rem;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.10);
  background: #ffffff;
  font-size: .95rem;
  color:#0f172a;
}

.cta-band{
  border-radius: 1.25rem;
  border: 1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(900px 420px at 20% 30%, rgba(34,197,94,.30), transparent 60%),
    radial-gradient(700px 420px at 80% 30%, rgba(59,130,246,.30), transparent 55%),
    linear-gradient(120deg, #0b1220, #111b34);
}

.shadow-soft{ box-shadow: 0 18px 50px rgba(15,23,42,.16); }
