/*
Theme Name: ESTOF 3 Astra Child 3.7.1
Theme URI: https://estof.it/
Description: Tema child Astra ESTOF 3. Ricerca, promo, hotel, escursioni e assistenza locale, con integrazioni ESTOF ordinate nel tema.
Author: ESTOF
Author URI: https://estof.it/
Template: astra
Version: 3.7.21
Text Domain: estof-3-astra-child
Requires at least: 6.0
Requires PHP: 7.4
*/

:root {
  --estof-ink:#0b2538;
  --estof-blue:#007fa8;
  --estof-sky:#e9f8fc;
  --estof-coral:#ff5d4a;
  --estof-sand:#f5efe6;
  --estof-white:#fff;
  --estof-border:rgba(11,37,56,.12);
  --estof-shadow:0 18px 45px rgba(10,44,66,.12);
  --estof-radius:22px;
}

/* Base generale. */
body {
  color:var(--estof-ink);
  background:linear-gradient(180deg,#f5efe6 0%,#e6d7c3 60%,#f5efe6 100%);
}

/*
 * Header: Astra rimane l'unico proprietario del markup.
 * Il child theme non crea barre, loghi o menu alternativi.
 */
#masthead { position:relative !important; inset:auto !important; transform:none !important; }

/* Neutralizza solamente il clone sticky di Astra/Astra Pro. */
#ast-fixed-header,
.ast-sticky-active #ast-fixed-header,
.ast-header-sticked,
.site-header.ast-sticky-active {
  position:relative !important;
  top:auto !important;
  inset:auto !important;
  transform:none !important;
}
#ast-fixed-header { display:none !important; }

/* Rifinitura leggera dell'Header Builder Astra, senza alterarne il layout. */
.site-header .site-branding {
  display:flex;
  align-items:baseline;
  gap:10px;
  flex-wrap:wrap;
}
.site-title a {
  font-family:"Poppins","Montserrat",sans-serif;
  font-weight:700;
  font-size:clamp(26px,4vw,40px);
  letter-spacing:.6px;
  color:#111;
  text-decoration:none;
  line-height:1.2;
  text-shadow:0 1px 0 rgba(255,255,255,.5),0 2px 3px rgba(0,0,0,.18);
}
.site-description {
  margin:0;
  color:#1f1f1f;
  font-family:"Poppins","Montserrat",sans-serif;
  font-size:14px;
  font-weight:600;
  line-height:1;
  letter-spacing:.4px;
  opacity:1;
}
@media (max-width:768px) {
  .site-header .site-branding { flex-direction:column;align-items:flex-start;gap:2px; }
  .site-description { font-size:13px;color:#555; }
}

/* Pulsanti ESTOF: scope dedicato, senza sovrascrivere ogni button di WordPress. */
.estof-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:#ff7a00;
  color:#fff !important;
  border:0;
  font-weight:800;
  padding:14px 22px;
  border-radius:999px;
  text-decoration:none !important;
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;
  box-shadow:0 6px 18px rgba(255,122,0,.3);
}
.estof-btn:hover {
  background:#e66d00;
  color:#fff !important;
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(255,122,0,.4);
}
.estof-btn-wa { background:#25d366; box-shadow:0 6px 18px rgba(37,211,102,.3); }
.estof-btn-wa:hover { background:#1ebe5d; }

/* Ticker ESTOF. */
.estof-ticker {
  display:flex;
  align-items:center;
  gap:12px;
  padding:6px 12px;
  background:#111;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}
.estof-ticker__label {
  flex:0 0 auto;
  font-weight:800;
  letter-spacing:.5px;
  white-space:nowrap;
  padding:6px 10px;
  background:#d40000;
  border-radius:6px;
  font-size:13px;
  line-height:1;
}
.estof-ticker__viewport { flex:1; min-width:0; overflow:hidden; }
.estof-ticker__track {
  display:flex;
  align-items:center;
  gap:18px;
  width:max-content;
  animation:estofTickerMove 45s linear infinite;
}
.estof-ticker:hover .estof-ticker__track { animation-play-state:paused; }
.estof-ticker__item {
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:#fff;
  min-width:260px;
}
.estof-ticker__thumb { width:34px; height:34px; border-radius:6px; object-fit:cover; flex:0 0 34px; }
.estof-ticker__title {
  font-weight:700;
  font-size:13px;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:420px;
  opacity:.95;
}
@keyframes estofTickerMove { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@media (prefers-reduced-motion:reduce) { .estof-ticker__track { animation:none; } }

/* Pagina Transfer (ID 4137): tabella leggibile anche su mobile. */
@media (max-width:768px) {
  .page-id-4137 .entry-content { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .page-id-4137 table { width:100%; border-collapse:collapse; font-size:13px; min-width:650px; }
  .page-id-4137 table th,
  .page-id-4137 table td { padding:6px 8px; white-space:nowrap; }
}
.page-id-4137 table tr:first-child th { position:relative; padding-bottom:10px; }
.page-id-4137 table tr:first-child th:nth-child(1)::after { content:"نوع"; }
.page-id-4137 table tr:first-child th:nth-child(2)::after { content:"تاريخ"; }
.page-id-4137 table tr:first-child th:nth-child(3)::after { content:"ساعة"; }
.page-id-4137 table tr:first-child th:nth-child(4)::after { content:"عائلة"; }
.page-id-4137 table tr:first-child th:nth-child(5)::after { content:"فندق"; }
.page-id-4137 table tr:first-child th:nth-child(6)::after { content:"بالغون"; }
.page-id-4137 table tr:first-child th:nth-child(7)::after { content:"أطفال"; }
.page-id-4137 table tr:first-child th:nth-child(8)::after { content:"رحلة"; }
.page-id-4137 table tr:first-child th:nth-child(9)::after { content:"شركة طيران"; }
.page-id-4137 table tr:first-child th:last-child::after { content:"هاتف"; }
.page-id-4137 table tr:first-child th::after {
  display:block;
  direction:rtl;
  font-size:11px;
  margin-top:2px;
}

@media (max-width:700px) {
  .estof-topline-inner { justify-content:center; text-align:center; }
  .estof-topline-links { display:none; }
}
@media (max-width:600px) {
  .estof-ticker { padding:6px 10px; }
  .estof-ticker__item { min-width:220px; }
  .estof-ticker__title { max-width:240px; }
}

/* La v3.4 non genera un ticker aggiuntivo. Se vecchi snippet ne producono più di uno, mostra solo il primo. */
#masthead + .estof-ticker ~ .estof-ticker,
.estof-ticker + .estof-ticker { display:none !important; }

/* Catalogo escursioni editoriale. */
.estof-excursions-catalog{background:#fff;overflow:hidden}
.estof-catalog-hero{padding:92px 0;background:linear-gradient(135deg,#073047,#087f9d);color:#fff}
.estof-catalog-hero span{font-size:12px;font-weight:900;letter-spacing:.18em}
.estof-catalog-hero h1{max-width:980px;margin:12px 0 18px;color:#fff;font-size:clamp(42px,6vw,78px);line-height:.98;letter-spacing:-.055em}
.estof-catalog-hero p{max-width:760px;color:rgba(255,255,255,.86);font-size:19px}
.estof-offer-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:950px){.estof-offer-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.estof-offer-grid.three{grid-template-columns:1fr}.estof-catalog-hero{padding:62px 0}}


/* ESTOF 3.5: header Astra pulito, non sticky, con menu più leggibile. */
.ast-primary-header-bar,.site-primary-header-wrap{position:relative!important;top:auto!important}
.main-header-menu>.menu-item>a{font-weight:750;letter-spacing:.01em}
.main-header-menu>.menu-item>a:hover,.main-header-menu>.current-menu-item>a{color:var(--estof-coral)!important}

/* Titolo hero su una riga quando lo spazio desktop lo consente. */
@media(min-width:1180px){.estof-hero-copy h1{white-space:nowrap;font-size:clamp(44px,5.1vw,72px)}}

/* Blocchi recuperati dalla vecchia home: recensioni, listino, banner, assicurazione, lavoro. */
.estof-legacy-block{padding:72px 0}
.estof-legacy-content{background:#fff;border:1px solid var(--estof-border);border-radius:24px;padding:clamp(18px,3vw,38px);box-shadow:var(--estof-shadow);overflow:hidden}
.estof-legacy-content img{max-width:100%;height:auto}
.estof-legacy-content .wp-block-columns{gap:18px}
.estof-logitravel-block .estof-legacy-content{background:linear-gradient(180deg,#fff,#f7fbfc)}
.estof-price-list-block .estof-legacy-content{overflow-x:auto}
.estof-price-list-block table{min-width:680px;width:100%;border-collapse:collapse}
.estof-price-list-block th,.estof-price-list-block td{padding:12px;border:1px solid rgba(11,37,56,.12)}

.estof-catalog-nav{display:flex;gap:10px;flex-wrap:wrap;padding-top:28px}
.estof-catalog-nav a{display:inline-flex;padding:11px 16px;border-radius:999px;background:#eef7fa;color:var(--estof-ink);font-weight:800;text-decoration:none}
.estof-catalog-nav a:hover{background:var(--estof-blue);color:#fff}




/* ESTOF 3.7.1 — titolo mobile indivisibile e nuova sezione Nancy separata. */
.estof-hero-location{
  display:inline-block!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
@media(max-width:650px){
  .estof-home-v3 .estof-hero-copy h1{
    max-width:100%!important;
    font-size:clamp(30px,9vw,39px)!important;
    line-height:1.03!important;
    letter-spacing:-.045em!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    text-wrap:balance!important;
  }
  .estof-home-v3 .estof-hero-location{
    display:inline-block!important;
    white-space:nowrap!important;
    font-size:.94em!important;
  }
}


/* 3.7.19: correzioni desktop home stampate inline da functions.php per superare cache CSS. */
