:root{
  color-scheme:light;
}

html[data-theme="dark"]{
  color-scheme:dark;
  --ink:#eff9fa;
  --muted:#9fb3b7;
  --teal:#20d0db;
  --teal-dark:#30c6d0;
  --deep:#020f12;
  --deep-2:#072329;
  --paper:#071317;
  --soft:#0b1d22;
  --line:#1b383f;
  --shadow:0 18px 45px rgba(0,0,0,.28);
}

body,
.site-header,
.service-card,
.price-card,
.booking-form,
.about-cards article,
.testimonial-track article,
.form-grid input,
.form-grid select,
.form-grid textarea,
.btn-outline,
.theme-toggle{
  transition:background-color .28s ease,color .28s ease,border-color .28s ease,box-shadow .28s ease;
}

.theme-toggle{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:42px;
  height:42px;
  padding:0;
  border:1px solid var(--line);
  border-radius:50%;
  background:var(--paper);
  color:var(--ink);
  box-shadow:0 7px 18px rgba(6,42,47,.07);
  cursor:pointer;
  font-size:18px;
  line-height:1;
}

.theme-toggle:hover{
  border-color:var(--teal);
  transform:translateY(-1px);
}

html[data-theme="dark"] body{background:#071317;color:var(--ink)}
html[data-theme="dark"] .site-header{background:rgba(7,19,23,.92);border-color:rgba(255,255,255,.07)}
html[data-theme="dark"] .nav-links{background:#071317}
html[data-theme="dark"] .menu-toggle span{background:var(--ink)}
html[data-theme="dark"] .btn-outline{background:#0a1a1f;color:var(--teal);border-color:#247680}
html[data-theme="dark"] .soft-section{background:#0b1d22}
html[data-theme="dark"] .wave-light{color:#071317}
html[data-theme="dark"] .service-card,
html[data-theme="dark"] .price-card,
html[data-theme="dark"] .booking-form,
html[data-theme="dark"] .about-cards article,
html[data-theme="dark"] .testimonial-track article{background:#0d2025;border-color:#1b383f;box-shadow:0 12px 30px rgba(0,0,0,.18)}
html[data-theme="dark"] .booking-note{background:#0d2025;border-color:#1b383f}
html[data-theme="dark"] .form-grid input,
html[data-theme="dark"] .form-grid select,
html[data-theme="dark"] .form-grid textarea{background:#09191d;color:#eff9fa;border-color:#28464d}
html[data-theme="dark"] .form-grid input::placeholder,
html[data-theme="dark"] .form-grid textarea::placeholder{color:#71898f}
html[data-theme="dark"] option{background:#09191d;color:#eff9fa}
html[data-theme="dark"] .gallery-placeholder{box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
html[data-theme="dark"] .footer{background:linear-gradient(120deg,#010b0d,#041b20)}

/* Componentes do orçamento */
html[data-theme="dark"] .temperament-picker,
html[data-theme="dark"] .booking-extras{background:linear-gradient(180deg,#0d2025,#0a191e);border-color:#24434a}
html[data-theme="dark"] .temperament-option,
html[data-theme="dark"] .extra-option{background:#0a191e;border-color:#29474e}
html[data-theme="dark"] .temperament-option:has(input:checked),
html[data-theme="dark"] .extra-option:has(input:checked){background:rgba(32,208,219,.09)}
html[data-theme="dark"] .pet-price-summary{background:linear-gradient(120deg,#020d10,#06242a)}
html[data-theme="dark"] .growth-option{background:#0d2025;border-color:#24434a}
html[data-theme="dark"] .booking-prefill{background:linear-gradient(120deg,rgba(32,208,219,.12),#0d2025);border-color:#28565f}
html[data-theme="dark"] .booking-prefill__remove{background:#0a191e;border-color:#29474e;color:#a9bdc1}

/* Cards por porte e tabela expandida */
html[data-theme="dark"] .size-price-card{
  --card-bg:#0d2025;
  background:linear-gradient(145deg,#10262b 2%,#0a191d 100%);
  border-color:#28515a;
  box-shadow:0 14px 34px rgba(0,0,0,.22);
}
html[data-theme="dark"] .size-price-card__media::after{background:linear-gradient(90deg,#0d2025 0%,transparent 38%)}
html[data-theme="dark"] .size-price-card__button{background:rgba(7,19,23,.78);border-color:#31545c;color:#d8f7f9}
html[data-theme="dark"] .size-price-card__button:hover{background:#10252a}
html[data-theme="dark"] .size-price-details{background:#0d2025;border-color:#28515a;box-shadow:0 18px 45px rgba(0,0,0,.28)}
html[data-theme="dark"] .size-price-details__head{background:linear-gradient(135deg,rgba(32,208,219,.09),#0d2025);border-color:#24434a}
html[data-theme="dark"] .size-price-details__close{background:#09191d;border-color:#29474e;color:#a9bdc1}
html[data-theme="dark"] .size-service-item{background:#09191d;border-color:#29474e;color:var(--ink)}
html[data-theme="dark"] .size-service-item.is-selected{background:rgba(32,208,219,.09)}
html[data-theme="dark"] .size-package-item{background:linear-gradient(145deg,#10252a,#0a1a1f);border-color:#28515a}
html[data-theme="dark"] .size-price-details__foot{background:#09191d;border-color:#24434a}

/* Táxi Dog */
html[data-theme="dark"] .taxi-dog-panel{background:linear-gradient(135deg,rgba(32,208,219,.08),#0a191e);border-color:#24434a}
html[data-theme="dark"] .taxi-result{background:#09191d;border-color:#29474e}
html[data-theme="dark"] .taxi-result.is-success{background:rgba(32,208,219,.07)}
html[data-theme="dark"] .taxi-result.is-error{background:#2a1517;border-color:#67333a}
html[data-theme="dark"] .taxi-result.is-outside{background:#282315;border-color:#655b32}

/* Preview do Instagram */
.instagram-preview{
  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(320px,1.28fr);
  gap:24px;
  margin-top:34px;
  padding:20px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  box-shadow:0 18px 40px rgba(0,0,0,.14);
}

.instagram-preview__info{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:12px 10px 12px 14px;
}

.instagram-preview__badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.09);
  color:#d9edef;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.instagram-preview__badge::before{
  content:'◎';
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:7px;
  background:linear-gradient(135deg,#7b4cff,#e53b78 55%,#ff9d32);
  color:#fff;
  font-size:14px;
}

.instagram-preview__info h3{
  margin:13px 0 6px;
  color:#fff;
  font-family:Montserrat,sans-serif;
  font-size:25px;
}

.instagram-preview__info p{
  margin:0 0 17px;
  color:#b9ced1;
  font-size:12px;
  line-height:1.55;
}

.instagram-preview__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 15px;
  border-radius:12px;
  background:linear-gradient(135deg,#7b4cff,#d83b80 58%,#f17a37);
  color:#fff;
  font-size:11px;
  font-weight:800;
  box-shadow:0 9px 22px rgba(158,49,133,.22);
}

.instagram-preview__embed{
  position:relative;
  min-height:310px;
  max-height:390px;
  overflow:auto;
  overscroll-behavior:contain;
  border-radius:18px;
  background:#fff;
  scrollbar-width:thin;
}

.instagram-preview__embed .instagram-media{
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  border:0!important;
}

.instagram-preview__embed iframe.instagram-media-rendered{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}

.instagram-preview__fallback{
  display:none;
  min-height:310px;
  place-items:center;
  padding:28px;
  text-align:center;
  background:linear-gradient(135deg,#fafafa,#f1f1f1);
  color:#333;
}

.instagram-preview.embed-unavailable .instagram-preview__fallback{display:grid}
.instagram-preview.embed-unavailable .instagram-media{display:none!important}
.instagram-preview__fallback strong{display:block;margin-bottom:5px;font-size:14px}
.instagram-preview__fallback span{display:block;color:#6d6d6d;font-size:11px;line-height:1.5}

@media (max-width:980px){
  .theme-toggle{margin-left:auto}
  .nav-cta+.theme-toggle{margin-left:0}
  .instagram-preview{grid-template-columns:1fr;gap:12px}
  .instagram-preview__info{padding:8px}
}

@media (max-width:650px){
  .theme-toggle{width:36px;height:36px;font-size:16px;margin-left:auto}
  .menu-toggle{margin-left:0!important}
  .instagram-preview{margin-top:22px;padding:12px;border-radius:18px}
  .instagram-preview__info{padding:8px 5px 10px}
  .instagram-preview__info h3{font-size:21px;margin-top:10px}
  .instagram-preview__info p{font-size:11px;margin-bottom:13px}
  .instagram-preview__link{min-height:39px;font-size:10px}
  .instagram-preview__embed{min-height:300px;max-height:345px;border-radius:14px}
  .instagram-preview__fallback{min-height:300px;padding:20px}
}
