/*
Theme Name: HappyTravel End Shop
Theme URI: https://happytravelendshop.it
Description: Tema child a blocchi per agenzia viaggi e vendita di pacchetti turistici, basato su Extendable e compatibile con WooCommerce.
Author: HappyTravel End Shop
Author URI: https://happytravelendshop.it
Template: extendable
Version: 1.3.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: happytravel
Tags: full-site-editing, block-patterns, e-commerce, travel, wide-blocks
*/

:root{--ht-shadow:0 18px 50px rgba(9,35,62,.12);--ht-radius:24px}
html{scroll-behavior:smooth}
body{overflow-x:hidden}
a{text-underline-offset:.18em}
.ht-sticky-header{position:sticky;top:0;z-index:1000;backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(12,49,79,.08)}
.ht-hero{position:relative;overflow:hidden}
.ht-hero:after{content:"";position:absolute;inset:auto -8% -45% auto;width:520px;height:520px;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}
.ht-search-card{position:relative;z-index:3;margin-top:-58px!important;box-shadow:var(--ht-shadow);border-radius:var(--ht-radius)}
.ht-card{overflow:hidden;border-radius:var(--ht-radius);box-shadow:0 12px 36px rgba(9,35,62,.09);transition:transform .25s ease,box-shadow .25s ease;background:#fff}
.ht-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px rgba(9,35,62,.16)}
.ht-card img{transition:transform .45s ease}.ht-card:hover img{transform:scale(1.04)}
.ht-pill{border-radius:999px!important}
.ht-destination{min-height:330px;display:flex;align-items:flex-end;overflow:hidden;position:relative;border-radius:var(--ht-radius)}
.ht-destination:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(2,20,36,.82) 100%)}
.ht-destination>*{position:relative;z-index:2}
.ht-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#eaf7fb;font-size:26px}
.ht-section-title{max-width:760px}
.ht-section-title strong{color:#ff7a45}
.ht-form .wp-block-search__inside-wrapper{padding:7px;border:1px solid #d7e3ea;border-radius:999px;background:#fff}
.ht-form .wp-block-search__input{border:0!important;padding-left:18px}
.ht-form .wp-block-search__button{border-radius:999px;padding:12px 22px}
.woocommerce ul.products li.product,.wc-block-grid__product{border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 10px 32px rgba(9,35,62,.09);padding-bottom:18px!important}
.woocommerce ul.products li.product img{margin-bottom:14px}.woocommerce-loop-product__title,.woocommerce ul.products li.product .price,.woocommerce ul.products li.product .button{margin-left:18px!important;margin-right:18px!important}
.woocommerce ul.products li.product .button,.wp-block-button__link,.wc-block-components-button{border-radius:999px!important}
.ht-footer a{text-decoration:none}.ht-footer a:hover{text-decoration:underline}
@media(max-width:781px){.ht-search-card{margin-top:-28px!important}.ht-hero{min-height:auto!important}.ht-destination{min-height:270px}.ht-mobile-center{text-align:center}.ht-mobile-center .wp-block-buttons{justify-content:center}}

/* Live booking activity ticker */
@keyframes htPulse{0%{box-shadow:0 0 0 0 rgba(23,180,91,.45)}70%{box-shadow:0 0 0 10px rgba(23,180,91,0)}100%{box-shadow:0 0 0 0 rgba(23,180,91,0)}}
@media(max-width:600px){.ht-booking-live{padding:22px 18px}.ht-live-plane{display:none}.ht-live-item{grid-template-columns:42px 1fr}.ht-live-badge{display:none}.ht-live-copy strong{font-size:.95rem}.ht-live-footer{display:block}.ht-live-footer span{display:block;margin-top:6px}}

/* Professional moving destinations and booking activity */
.ht-booking-gallery{max-width:1180px;margin:0 auto;padding:30px;border:1px solid #dce8ef;border-radius:28px;background:#fff;box-shadow:0 24px 70px rgba(9,35,62,.13);overflow:hidden}
.ht-live-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}
.ht-live-heading h2{margin:.3rem 0;font-size:clamp(1.65rem,3.2vw,2.65rem);line-height:1.08;color:#0d2942}
.ht-live-heading p{margin:0;color:#587083;max-width:760px}
.ht-live-kicker{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:#16834b;text-transform:uppercase;font-size:.75rem;letter-spacing:.1em}
.ht-live-dot{width:10px;height:10px;border-radius:50%;background:#17b45b;box-shadow:0 0 0 0 rgba(23,180,91,.45);animation:htPulse 1.8s infinite}
.ht-gallery-controls{display:flex;gap:10px;flex:0 0 auto}
.ht-gallery-controls button{width:46px;height:46px;border:1px solid #d7e5ed;border-radius:50%;background:#fff;color:#0b5f97;font-size:1.25rem;cursor:pointer;transition:transform .2s,background .2s,color .2s,border-color .2s}
.ht-gallery-controls button:hover,.ht-gallery-controls button:focus-visible{transform:translateY(-2px);background:#086aa8;color:#fff;border-color:#086aa8}
.ht-gallery-viewport{overflow:hidden;border-radius:22px;background:#0c2940}
.ht-gallery-track{display:flex;transition:transform .8s cubic-bezier(.2,.78,.25,1);will-change:transform}
.ht-gallery-slide{min-width:100%;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);min-height:430px;background:#fff}
.ht-gallery-image-wrap{position:relative;min-height:430px;overflow:hidden;background:#dbeaf1}
.ht-gallery-image{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transform:scale(1.035);transition:transform 6s ease}
.ht-gallery-slide[aria-hidden="false"] .ht-gallery-image{transform:scale(1.12)}
.ht-gallery-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,25,40,.04),rgba(7,25,40,.12)),linear-gradient(0deg,rgba(7,25,40,.42),transparent 45%)}
.ht-gallery-tag{position:absolute;left:24px;bottom:22px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.92);color:#0e3857;font-size:.78rem;font-weight:800;backdrop-filter:blur(8px)}
.ht-gallery-content{display:flex;flex-direction:column;justify-content:center;padding:42px;background:linear-gradient(145deg,#fff 0%,#f4fafc 100%)}
.ht-gallery-eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#0870ad}
.ht-gallery-content h3{margin:12px 0 10px;font-size:clamp(1.65rem,3vw,2.55rem);line-height:1.08;color:#0e2a43}
.ht-gallery-content p{margin:0 0 22px;color:#546f82}
.ht-gallery-content p strong{color:#193a54}
.ht-gallery-meta{display:grid;gap:9px;margin-bottom:28px;color:#436275;font-size:.9rem}
.ht-gallery-meta span:before{content:'✓';display:inline-grid;place-items:center;width:20px;height:20px;margin-right:9px;border-radius:50%;background:#e2f4ea;color:#147347;font-size:.72rem;font-weight:900}
.ht-gallery-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;width:max-content;max-width:100%;padding:13px 18px;border-radius:12px;background:#ff8a1f;color:#fff!important;text-decoration:none;font-weight:800;box-shadow:0 10px 24px rgba(255,138,31,.23);transition:transform .2s,box-shadow .2s}
.ht-gallery-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(255,138,31,.3)}
.ht-gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:18px}
.ht-gallery-dots{display:flex;align-items:center;gap:8px}
.ht-gallery-dot{width:9px;height:9px;padding:0;border:0;border-radius:999px;background:#bdd0db;cursor:pointer;transition:width .3s,background .3s}
.ht-gallery-dot.is-active{width:30px;background:#0870ad}
.ht-live-footer{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap;color:#60788a;font-size:.82rem}
@media(max-width:860px){.ht-gallery-slide{grid-template-columns:1fr}.ht-gallery-image-wrap{min-height:320px}.ht-gallery-content{padding:30px}.ht-gallery-slide{min-height:auto}}
@media(max-width:600px){.ht-booking-gallery{padding:20px 16px;border-radius:20px}.ht-live-heading{align-items:flex-end}.ht-live-heading h2{font-size:1.65rem}.ht-live-heading p{font-size:.88rem}.ht-gallery-controls button{width:40px;height:40px}.ht-gallery-image-wrap{min-height:270px}.ht-gallery-content{padding:26px 22px}.ht-gallery-content h3{font-size:1.7rem}.ht-gallery-bottom{align-items:flex-start}.ht-live-footer{display:none}.ht-gallery-tag{left:16px;bottom:16px}.ht-gallery-meta{font-size:.84rem}}
@media(prefers-reduced-motion:reduce){.ht-gallery-track,.ht-gallery-image,.ht-gallery-controls button,.ht-gallery-cta{transition:none!important}.ht-live-dot{animation:none!important}}


/* Compatibility wrapper for WordPress templates saved in the Site Editor */
.ht-booking-auto-wrap{padding:70px 24px 20px}
@media(max-width:600px){.ht-booking-auto-wrap{padding:42px 12px 12px}}
