/* The header and the footer of the site pages: the same structure and texts
   as WordPress; Uncode's stylesheet is not copied, this is ours. */
body.sito { margin: 0; font-family: "REM", "Helvetica Neue", Arial, sans-serif; color: #0d1e34; background: #fff; }
/* the promise bar and the header as Uncode paints them on WordPress (9/11/2026, the eye comparison; measured in the
   browser at 1440 and 390 on 10/11): the top menu is #141618 (style-color-wayh-bg), 55 px tall with a 12 px bold white
   line (37 on a phone); the menu container #082444 (style-color-933584-bg) is 115 px tall (104), across the whole width
   with 36 px at the sides, the logo 60 px (50) at the left edge, the white upper-case menu 11 px with .55 px of spacing
   and 14 px between the items (13 px on a phone), the flag at the right edge; the logo file is the same */
.sito-topbar { background: #141618; color: #fff; text-align: center; padding: 20px 36px; font-size: 12px; line-height: 15px; }
.sito-header { background: #082444; box-shadow: 0 4px 10px -10px rgba(0, 0, 0, .6); position: relative; z-index: 20; }
.sito-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 115px; max-width: none; padding: 0 36px; }
.sito-logo { height: 60px; width: auto; display: block; }
.sito-menu ul { list-style: none; display: flex; align-items: center; gap: 0; margin: 0; padding: 0; }
.sito-menu li a { padding: 0 14px; }
.sito-menu li:first-child a { padding-left: 0; }
.sito-menu a { color: #fff; text-decoration: none; font-weight: 600; font-size: 11px; letter-spacing: .55px; text-transform: uppercase; }
.sito-menu a:hover { color: #e89820; }
.sito-menu-book { display: inline-block; background: #e89820; color: #0b1829; padding: 10px 26px; border-radius: 8px; font-weight: 800; font-size: 14px; letter-spacing: .4px; line-height: 11px; }
.wpml-ls-flag { display: inline-block; vertical-align: middle; }
/* on a phone the menu folds behind the three lines, as Uncode's mobile menu; no script: a checkbox */
.sito-menu-toggle { position: absolute; opacity: 0; pointer-events: none; }
.sito-menu-button { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; cursor: pointer; }
.sito-menu-button span, .sito-menu-button span::before, .sito-menu-button span::after { display: block; width: 18px; height: 2px; background: #fff; content: ''; position: relative; }
.sito-menu-button span::before { position: absolute; top: -6px; }
.sito-menu-button span::after { position: absolute; top: 6px; }
.sito-menu-toggle:focus-visible + .sito-menu-button { outline: 2px solid #e89820; outline-offset: 2px; }
@media (min-width: 960px) { .sito-menu-toggle { display: none; } }
@media (min-width: 960px) { .sito-menu li.wpml-ls-item a { padding: 0 0 0 18px; } }
@media (max-width: 959px) {
  .sito-topbar { padding: 11px 18px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .sito-topbar__rest { display: none; }
  .sito-header-inner { flex-wrap: wrap; min-height: 104px; }
  .sito-logo { height: 50px; }
  .sito-menu-button { display: flex; margin-right: -12px; }
  .sito-menu { display: none; width: 100%; padding: 6px 0 18px; }
  .sito-menu ul { flex-direction: column; align-items: flex-start; gap: 0; }
  .sito-menu a { font-size: 13px; letter-spacing: .65px; }
  .sito-menu li a { display: block; padding: 9px 0; }
  .sito-menu-toggle:checked ~ .sito-menu { display: block; }
}
/* the footer as Uncode paints it on WordPress (10/11/2026, measured in the browser at 1440 and 390 px): the row
   style-back_color-113563-bg (#111d29; the English pages use the top-menu colour #141618), quad padding of 108 px,
   a 12-column grid with 72 px gutters (the claim on 4 columns, two empty, three menus of 2; below, six of 2 with
   the logo in the first), titles 14 px on 1.2, texts 15 px on 26.25, 36 px between a title and its text, 18
   between two paragraphs, a 1 px line at 25 % white 90 px under the upper row and 90 over the lower one (54 on
   a phone); between 600 and 959 px the three menus stand on three columns; under 960 everything else stacks
   with 36 px over each column, and the Italian logo column is hidden (tablet-hidden mobile-hidden) */
.sito-footer { background: #111d29; color: #fff; padding: 108px 72px; margin: 0; font-size: 15px; line-height: 26.25px; overflow: hidden; }
html[lang|="en"] .sito-footer { background: #141618; }  /* the page writes lang="en-US" */
.sito-footer a { color: #fff; text-decoration: none; }
.sito-footer a:hover { color: #006cff; }  /* .style-dark a:hover, the Uncode accent */
.sito-footer .h2 { font-size: 29px; line-height: 1.2; font-weight: 600; margin: 0; }
.sito-footer .h2 span { display: block; }
.sito-footer .h6 { font-size: 14px; line-height: 1.2; font-weight: 600; letter-spacing: normal; margin: 2px 0 36px; }
.sito-footer .text-uppercase { text-transform: uppercase; }
.sito-footer .font-weight-700 { font-weight: 700; }
.sito-footer-top, .sito-footer-bottom { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 72px; }
.sito-footer-top .h2 { grid-column: 1 / span 4; }
.sito-footer-top .sito-footer-col, .sito-footer-bottom .sito-footer-col { grid-column: span 2; }
.sito-footer-top .h2 + .sito-footer-col { grid-column: 7 / span 2; }
.sito-footer-bottom { margin-top: 90px; padding-top: 90px; border-top: 1px solid rgba(255, 255, 255, .25); }
.sito-footer .menu { list-style: none; margin: 0; padding: 0; }
.sito-footer p { margin: 0; }
.sito-footer p + p { margin-top: 18px; }
.sito-footer .sito-footer-col p span { display: block; }
.sito-footer strong { font-weight: 600; }
.sito-footer .sito-footer-chat { color: #3366ff; }
.sito-footer .flags_o { vertical-align: middle; }
.sito-footer-logo img { display: block; width: 87%; height: auto; }
.sito-social a { display: inline-block; padding-right: 19px; font-size: 18px; line-height: 21px; }
/* WordPress writes the system font inline on the address, which overflows its column (171 px in 156): the footer clips */
.sito-footer a[href^="mailto:"] { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; }
@media (max-width: 959px) {
  .sito-footer { padding: 72px 36px; }
  .sito-footer-top, .sito-footer-bottom { display: block; }
  .sito-footer-col { padding-top: 36px; }
  .sito-footer-logo { padding-top: 0; }
  .sito-footer-bottom { margin-top: 54px; padding-top: 54px; }
  .sito-footer .mobile-hidden { display: none; }
}
@media (min-width: 600px) and (max-width: 959px) {
  .sito-footer-top { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 36px; }
  .sito-footer-top .h2 { grid-column: 1 / -1; }
  .sito-footer-top .sito-footer-col, .sito-footer-top .h2 + .sito-footer-col { grid-column: auto; }
}
.ibw-badges-intro { font-size: 14px; font-weight: 700; letter-spacing: .04em; color: #808080; margin: 2px 0 10px; }
.ibw-badges-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; justify-content: flex-end; }
.ibw-badge { display: inline-flex; align-items: center; background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; box-shadow: 0 1px 2px rgba(0, 0, 0, .06); padding: 7px 11px; font-size: 12px; font-weight: 500; gap: 8px; color: #000; }

/* ── Tour page («Pagina Tour»): the rules template_test.php prints inline
   (video reviews, Trustpilot line, sticky booking bar, mobile CTA) and the
   two styles it writes as attributes (type pills, booking lead). ── */
.itl-tp .itl-tp-types{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.itl-tp .itl-tp-type{font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#0B1829;background:rgba(232,152,32,1);border:1px solid rgba(232,152,32,0.35);padding:4px 12px;border-radius:20px}
.itl-tp .sidebar-booking-card--funnel{display:flex;flex-direction:column;gap:10px}
.itl-tp .sidebar-booking-card--funnel .btn-gold-lg{background:#E89820;border-color:#E89820;color:#fff;justify-content:center;text-align:center}
.itl-tp .sidebar-booking-card--funnel .btn-ghost-sm{text-align:center}
.itl-tp .sidebar-booking-lead{margin:0;font-size:.9rem}
/* the tour request form in the booking card (the Bokun tours, 10/11/2026): one field per row in the 360 px column */
.itl-tp .sidebar-booking-card--request{padding:20px;display:flex;flex-direction:column;gap:16px}
.itl-tp .sidebar-booking-card--request #itlreq_form .itlr_row_2{grid-template-columns:1fr;gap:0}
.itl-tp .sidebar-booking-card--request #itlreq_form .itlr_row_2>.itlr_row{margin-bottom:18px}
.itl-tp .sidebar-booking-card--request #itlreq_form .itlr_row_2>.itlr_row:last-child{margin-bottom:0}
.itl-tp .itl-video-reviews-sub{margin:0 0 14px;font-size:.9rem;color:#5a6b7f}
.itl-video-reviews{display:flex;flex-direction:column;gap:14px;margin-bottom:18px}
.itl-vr{position:relative;border-radius:14px;overflow:hidden;cursor:pointer;aspect-ratio:16/9;background:#0d1e34}
.itl-vr img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.itl-vr:hover img{transform:scale(1.04)}
.itl-vr-play{position:absolute;inset:0;margin:auto;width:58px;height:58px;border-radius:50%;background:rgba(13,30,52,.82) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M8 5v14l11-7z"/></svg>') center/26px no-repeat;box-shadow:0 4px 18px rgba(0,0,0,.35)}
.itl-vr:hover .itl-vr-play{background-color:#E89820}
.itl-vr-label{position:absolute;left:10px;bottom:10px;right:10px;color:#fff;font-size:.82rem;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.8)}
.itl-vr iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.itl-vr-native video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#0d1e34}
.itl-vr-native{cursor:default}
.itl-vr-native .itl-vr-label{pointer-events:none;bottom:52px}
.itl-trust-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f4f7fb;border-radius:12px;padding:14px 16px;font-size:.9rem;color:#33435a}
.itl-trust-line .itl-trust-star{color:#00b67a;font-size:1.25rem;line-height:1}
.itl-trust-line a{font-weight:700;white-space:nowrap}
@media (max-width: 900px){
  .itl-tp .cta-bar-btns{display:flex;flex-direction:column;align-items:stretch;gap:10px}
  .itl-tp .cta-bar-btns a{width:100%;display:flex;align-items:center;justify-content:center;text-align:center;margin:0}
  .itl-tp .cta-bar-text{text-align:center}
  .itl-sticky-book{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#0d1e34;padding:10px 14px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -6px 18px rgba(13,30,52,.3)}
  .itl-sticky-book a{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:#E89820;color:#fff;font-weight:700;border-radius:10px;padding:14px;text-decoration:none;font-size:16px}
  body.has-sticky-book{padding-bottom:78px}
  body.has-sticky-book .itl-tp-mobile-booking{display:none}
}
@media (max-width: 1020px){ .itl-tp .sticky-col .sidebar-booking-card--request{display:flex} }
@media (min-width: 901px){ .itl-sticky-book{display:none} }

/* «Day Trips from Florence» (template-day-trips-hub.php keeps these rules inline) */
.itl-dt-hub{max-width:1200px;margin:0 auto;padding:48px 20px 80px}
.itl-dt-intro{max-width:820px;margin:34px auto 40px;text-align:center;color:#5a6b7f;line-height:1.6}
.itl-dt-intro b{color:#0d1e34}
.itl-dt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:26px;margin:0 0 60px}
.itl-dt-card{display:block;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 6px 24px rgba(13,30,52,.08);transition:transform .25s,box-shadow .25s;color:inherit;text-decoration:none}
.itl-dt-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(13,30,52,.14)}
.itl-dt-card figure{margin:0;aspect-ratio:16/10;overflow:hidden;background:#0d1e34}
.itl-dt-card img{width:100%;height:100%;object-fit:cover;display:block}
.itl-dt-card .itl-dt-body{padding:18px 20px 22px}
.itl-dt-card h3{margin:0 0 8px;font-size:1.25rem;color:#0d1e34}
.itl-dt-card p{margin:0 0 12px;font-size:.95rem;color:#5a6b7f;line-height:1.45}
.itl-dt-card .itl-dt-meta{font-weight:700;color:#0d1e34;font-size:.95rem}
.itl-dt-card .itl-dt-meta .fa-arrow-right{color:#E89820;margin-left:6px}
@media (max-width:640px){
  .itl-dt-grid{gap:18px;margin:0 0 40px}
  .itl-dt-card h3{font-size:1.15rem}
}
.itl-dt-sec{max-width:900px;margin:0 auto 54px}
.itl-dt-sec h2{font-size:1.8rem;color:#0d1e34;margin:0 0 18px}
.itl-dt-why{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.itl-dt-why article{background:#f4f7fb;border-radius:14px;padding:18px}
.itl-dt-why i{color:#E89820;font-size:1.3rem;margin-bottom:10px;display:block}
.itl-dt-why h3{margin:0 0 6px;font-size:1.02rem;color:#0d1e34}
.itl-dt-why p{margin:0;font-size:.9rem;color:#5a6b7f}
.itl-dt-steps{counter-reset:step;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.itl-dt-steps div{background:#fff;border:1px solid #e3eaf3;border-radius:14px;padding:18px}
.itl-dt-steps b{display:block;color:#0d1e34;margin-bottom:6px}
.itl-dt-steps p{margin:0;font-size:.9rem;color:#5a6b7f}
.itl-dt-faq details{border-bottom:1px solid #e3eaf3;padding:14px 0}
.itl-dt-faq summary{font-weight:700;color:#0d1e34;cursor:pointer}
.itl-dt-faq p{color:#5a6b7f;margin:10px 0 0}
.itl-dt-cta{background:#0d1e34;color:#fff;border-radius:18px;padding:34px;text-align:center}
.itl-dt-cta h2{color:#fff;margin:0 0 10px}
.itl-dt-cta p{color:#c7d3e2;margin:0 0 18px}
.itl-dt-cta a{display:inline-block;background:#E89820;color:#0d1e34;font-weight:800;padding:13px 28px;border-radius:10px;text-decoration:none}
