/* ==========================================================================
   Cookie consent banner — calator.md
   Culori preluate din site: navy #21303d, verde #0c6, fundal deschis #f7f7f7
   ========================================================================== */
:root{
  --cc-navy:#21303d;
  --cc-green:#0c6;
  --cc-green-dark:#07a456;
  --cc-bg:#fff;
  --cc-muted:#f7f7f7;
  --cc-border:#e1e1e1;
  --cc-text:#21303d;
  --cc-text-soft:#556270;
  --cc-radius:10px;
  --cc-font:'Source Sans Pro', Arial, sans-serif;
}

#cc-root{font-family:var(--cc-font);}
#cc-root *{box-sizing:border-box;}

.cc-overlay{
  position:fixed; z-index:9998; inset:0;
  background:rgba(33,48,61,.75);
}

.cc-box{
  position:fixed; z-index:9999;
  left:50%; top:50%; transform:translate(-50%,-50%);
  width:94%; max-width:480px; max-height:88vh; overflow-y:auto;
  background:var(--cc-bg); color:var(--cc-text);
  border-radius:var(--cc-radius);
  box-shadow:0 20px 60px rgba(33,48,61,.35);
  padding:32px 30px 26px;
}

.cc-box h2{
  margin:0 0 16px; padding:0;
  font-size:26px; line-height:1.25; font-weight:700;
  color:var(--cc-navy);
}

.cc-box p{
  margin:0 0 14px; padding:0;
  font-size:15px; line-height:1.5; color:var(--cc-text-soft);
}

.cc-links a{color:var(--cc-green); text-decoration:underline;}
.cc-links a:hover{color:var(--cc-green-dark);}

.cc-actions{
  display:flex; flex-wrap:wrap; gap:10px; margin-top:20px;
}

.cc-btn{
  flex:1 1 auto; min-width:110px;
  height:46px; padding:0 18px;
  font-family:var(--cc-font); font-size:15px; font-weight:700;
  text-transform:none; letter-spacing:.2px;
  border-radius:6px; cursor:pointer;
  transition:opacity .15s ease;
}
.cc-btn:hover{opacity:.9;}

.cc-btn-primary{
  border:1px solid var(--cc-green-dark);
  background:var(--cc-green); color:#fff;
}
.cc-btn-outline{
  border:1px solid var(--cc-navy);
  background:#fff; color:var(--cc-navy);
}
.cc-btn-ghost{
  border:1px solid var(--cc-border);
  background:#fff; color:var(--cc-text-soft);
}

/* --- Panou setări / categorii --- */
.cc-settings h2{margin-bottom:6px;}
.cc-settings > p.cc-sub{margin-bottom:18px;}

.cc-cat{
  display:flex; align-items:flex-start; gap:14px;
  padding:14px 0; border-top:1px solid var(--cc-border);
}
.cc-cat:first-of-type{border-top:none;}
.cc-cat-body{flex:1 1 auto;}
.cc-cat-title{
  margin:0 0 4px; font-size:16px; font-weight:700; color:var(--cc-navy);
}
.cc-cat-desc{margin:0; font-size:14px; line-height:1.45; color:var(--cc-text-soft);}

.cc-switch{
  position:relative; flex:0 0 auto;
  width:46px; height:26px; margin-top:2px;
}
.cc-switch input{
  position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer;
}
.cc-switch .cc-track{
  position:absolute; inset:0; border-radius:999px;
  background:#ccd3d8; transition:background .15s ease;
}
.cc-switch .cc-thumb{
  position:absolute; top:3px; left:3px; width:20px; height:20px;
  border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.3);
  transition:transform .15s ease;
}
.cc-switch input:checked + .cc-track{background:var(--cc-green);}
.cc-switch input:checked + .cc-track + .cc-thumb{transform:translateX(20px);}
.cc-switch input:disabled + .cc-track{background:#a9d9c4; cursor:not-allowed;}
.cc-switch input:disabled{cursor:not-allowed;}

/* --- Buton flotant de redeschidere --- */
.cc-reopen{
  position:fixed; z-index:9997; left:18px; bottom:18px;
  width:48px; height:48px; border-radius:50%;
  border:1px solid var(--cc-green-dark); background:var(--cc-navy);
  color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 14px rgba(33,48,61,.4);
}
.cc-reopen svg{width:24px; height:24px;}
.cc-reopen:hover{background:var(--cc-green);}

/* --- Placeholder pentru harta Google Maps blocată --- */
.cc-maps-embed{position:relative;}
.cc-maps-placeholder{
  position:absolute; inset:0; z-index:2;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:10px; text-align:center; padding:20px;
  background:var(--cc-muted); border-radius:3px;
  font-family:var(--cc-font); color:var(--cc-text-soft); font-size:14px;
}
.cc-maps-placeholder button{
  height:38px; padding:0 16px; border-radius:6px; cursor:pointer;
  border:1px solid var(--cc-green-dark); background:var(--cc-green); color:#fff;
  font-family:var(--cc-font); font-size:14px; font-weight:700;
}

@media only screen and (max-width:480px){
  .cc-box{padding:24px 18px 20px;}
  .cc-box h2{font-size:22px;}
  .cc-actions{flex-direction:column;}
  .cc-btn{width:100%;}
}
