/* Hotel Cecil Roma - CSS di supporto al design system (variante chiara) */

/* crop atmosferici (anti-brief: mai full-frame interni fino al reshoot) */
.cec-crop{overflow:hidden;}
.cec-crop img{width:100%;height:100%;object-fit:cover;display:block;}
.cec-card .cec-crop{aspect-ratio:3/4.1;width:100%;}
.cec-crop--classic img{transform:scale(1.6);transform-origin:28% 48%;}
.cec-crop--superior img{transform:scale(1.65);transform-origin:62% 50%;}
.cec-crop--deluxe img{transform:scale(1.5);transform-origin:50% 45%;}
.cec-crop--suite img{transform:scale(1.7);transform-origin:60% 32%;}
.cec-crop--targa{aspect-ratio:4/3;max-height:440px;}
.cec-crop--targa img{transform:scale(2.2);transform-origin:90% 20%;}

/* strip camere a scorrimento orizzontale */
.cec-strip{overflow-x:auto;flex-wrap:nowrap!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#CBBEA8 transparent;padding-bottom:8px;}
.cec-card{flex:0 0 300px;scroll-snap-align:start;}
.cec-card.cec-wide{flex-basis:430px;}
@media(max-width:767px){.cec-card{flex-basis:78vw;}.cec-card.cec-wide{flex-basis:84vw;}}

/* meta manifesto */
.cec-meta{border-top:1px solid #CBBEA8;padding-top:28px;}
.cec-meta b{color:#95474A;font-weight:600;}

/* ticker del quartiere */
.cec-ticker{overflow:hidden;border-top:1px solid #CBBEA8;border-bottom:1px solid #CBBEA8;}
.cec-ticker .elementor-heading-title{display:inline-flex;white-space:nowrap;width:max-content;animation:cecTick 46s linear infinite;}
.cec-ticker .elementor-heading-title span{margin-right:72px;}
@keyframes cecTick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* liste con hairline */
ul.cec-dist,ul.cec-perks{list-style:none;margin:0;padding:0;}
ul.cec-dist li,ul.cec-perks li{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #CBBEA8;padding:13px 0;}
ul.cec-dist b{color:#95474A;font-weight:600;}
ul.cec-perks li{justify-content:flex-start;}
ul.cec-perks li::before{content:"";display:block;width:14px;height:1px;background:#95474A;margin-top:.75em;flex:0 0 auto;}

/* colonne */
.cec-half{width:calc(50% - 36px);}
@media(max-width:767px){.cec-half{width:100%;}}
.cec-fcol{flex:1 1 0;}
.cec-fh{font-weight:600;text-transform:uppercase;letter-spacing:2px;font-size:11px;color:#2C2521;}
.cec-fcol a{color:#7E766B;text-decoration:none;}
.cec-fcol a:hover{color:#95474A;}

/* daisy */
.cec-daisy{border-top:1px solid #CBBEA8;border-bottom:1px solid #CBBEA8;}
.cec-daisy-ph{max-width:340px;}

/* pannello glass terrazza */
.cec-glass{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}

/* booking bar fissa */
.cec-bookbar{position:fixed!important;left:50%;bottom:22px;transform:translateX(-50%);z-index:999;width:auto!important;max-width:calc(100vw - 28px);border:1px solid #CBBEA8;border-radius:999px;box-shadow:0 18px 44px rgba(124,57,60,.18);}
.cec-bookbar p{margin:0;line-height:1.3;}
@media(max-width:767px){.cec-bookbar{width:calc(100vw - 28px)!important;justify-content:space-between;}}

/* --- header: trasparente sull'hero, crema allo scroll (.cec-scrolled) --- */
.cec-header{position:fixed!important;top:0;left:0;right:0;width:100%!important;z-index:100;background:transparent;border-bottom:1px solid transparent;transition:background .35s ease,border-color .35s ease;}
.elementor-sticky__spacer{display:none!important;}
.cec-header .elementor-heading-title,.cec-header .elementor-heading-title a{color:#FCFAF4!important;transition:color .35s ease;}
.cec-header .elementor-nav-menu a{color:#FCFAF4!important;transition:color .35s ease;}
.cec-header .e--pointer-underline .elementor-item:before{background-color:#FCFAF4!important;}
.cec-header .elementor-button{color:#FCFAF4!important;border-color:rgba(252,250,244,.8)!important;transition:color .35s ease,border-color .35s ease,background .3s ease;}
.cec-header .elementor-button:hover{background:rgba(252,250,244,.14)!important;}
.cec-header .elementor-menu-toggle{color:#FCFAF4;}
.cec-header .elementor-element-cechdrn{margin-left:auto;}

.cec-header.cec-scrolled{background:#F7F3EB!important;border-bottom-color:#CBBEA8!important;}
.cec-header.cec-scrolled .elementor-heading-title,.cec-header.cec-scrolled .elementor-heading-title a{color:#2C2521!important;}
.cec-header.cec-scrolled .elementor-nav-menu a{color:#2C2521!important;}
.cec-header.cec-scrolled .elementor-nav-menu a:hover{color:#95474A!important;}
.cec-header.cec-scrolled .e--pointer-underline .elementor-item:before{background-color:#95474A!important;}
.cec-header.cec-scrolled .elementor-button{color:#95474A!important;border-color:#95474A!important;}
.cec-header.cec-scrolled .elementor-button:hover{background:#95474A!important;color:#FCFAF4!important;}
.cec-header.cec-scrolled .elementor-menu-toggle{color:#2C2521;}

/* accessibilita: riduzione movimento */
@media (prefers-reduced-motion:reduce){
  .cec-ticker .elementor-heading-title{animation:none;}
  .elementor-invisible{visibility:visible!important;}
  .animated{animation:none!important;}
}