/* Domhun — one shared visual system. Photographs tell the destination; surfaces support reading. */
html.tp.tp-v4{--rd-bg:#092d29;--rd-card:#123e36;--rd-line:#e5c98c38;--rd-gold:#f4cc83;--rd-text:#fcf7e9;--rd-muted:#bad0c8;--rd-radius:22px;color-scheme:dark;background:var(--rd-bg)!important}
html.tp.tp-v4 body{display:block!important;margin:0!important;padding:calc(16px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-left)) calc(112px + env(safe-area-inset-bottom))!important;background:radial-gradient(ellipse at 80% 0,#17534a 0,transparent 650px),var(--rd-bg)!important;color:var(--rd-text)!important;font:15px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important}
html.tp.tp-v4 body *,html.tp.tp-v4 body *::before,html.tp.tp-v4 body *::after{box-sizing:border-box}
html.tp.tp-v4 body [hidden]{display:none!important}
html.tp.tp-v4 body #casa-global-background{display:none!important}
html.tp.tp-v4 body>main,html.tp.tp-v4 body>.container,html.tp.tp-v4 body>.shell{max-width:1160px!important;width:100%!important;margin:24px auto 0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;backdrop-filter:none!important;overflow:visible!important}
html.tp.tp-v4 body :is(h1,.cr-title){font:500 clamp(34px,4.6vw,56px)/1.08 Georgia,serif!important;color:#fff7e6!important;letter-spacing:-.035em!important;text-align:left!important;margin:0 0 15px!important;text-shadow:none!important;text-wrap:balance}
html.tp.tp-v4 body :is(h2,h3,.cr-card-title){font-family:inherit!important;color:#fff5dd!important;font-weight:600!important;line-height:1.3!important;letter-spacing:-.02em!important}
html.tp.tp-v4 body :is(.cr-lead,.lead,.library-sub,.map-lead){color:#c5dad0!important;font-size:15px!important;line-height:1.6!important;text-align:left!important;margin:0!important;max-width:650px!important;text-shadow:none!important}
html.tp.tp-v4 body p{line-height:1.6}
html.tp.tp-v4 body a{color:inherit}
html.tp.tp-v4 body svg.tp-icon{display:block!important;width:18px!important;height:18px!important;stroke:currentColor!important;stroke-width:1.5!important;stroke-linecap:round;stroke-linejoin:round;fill:none!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:none!important;flex-shrink:0}
html.tp.tp-v4 body .tp-inline-icon,html.tp.tp-v4 body .tp-icon-wrap{display:inline-flex!important;align-items:center;justify-content:center;vertical-align:-.15em;font-size:14px!important;width:18px;height:18px;margin-right:5px;background:none!important;border:0!important;padding:0!important;box-shadow:none!important;backdrop-filter:none!important}
html.tp.tp-v4 body :is(.glass-bubble,.service-icon,.cr-card-icon,.intro-icon,.card-icon,.utility-icon,.tool-icon){display:grid!important;place-items:center!important;width:28px!important;height:28px!important;min-width:28px!important;flex:0 0 28px!important;font-size:16px!important;border-radius:9px!important;background:#e2bc7312!important;border:1px solid #eacb8640!important;box-shadow:none!important;color:var(--rd-gold)!important}
html.tp.tp-v4 body :is(.arrow,.service-chevron,.cr-arrow){display:grid!important;place-items:center!important;width:25px!important;height:25px!important;min-width:25px!important;border-radius:50%!important;background:#fff8df12!important;border:1px solid #fff2c932!important;box-shadow:none!important;font-size:15px!important}
html.tp.tp-v4 body :is(.arrow,.service-chevron,.cr-arrow) svg{width:13px!important;height:13px!important}
/* Shared shell */
html.tp.tp-v4 body .tp-topbar{width:100%!important;max-width:1160px!important;position:relative;z-index:30;display:flex!important;align-items:center!important;gap:14px!important;margin:auto!important;min-height:78px;padding:9px 15px!important;border:1px solid #f2e4b873!important;border-radius:22px!important;background:linear-gradient(125deg,#175e4b75,#08658545)!important;box-shadow:0 15px 40px #001d2833,inset 0 1px #fff5ca73!important;backdrop-filter:blur(18px) saturate(1.35);-webkit-backdrop-filter:blur(18px) saturate(1.35)}
html.tp.tp-v4 body .tp-brand{display:flex!important;align-items:center;gap:8px;flex:1!important;min-width:0!important;text-decoration:none!important;color:#fff5df!important;font-size:16px!important;font-weight:650;line-height:1.25!important;text-align:left!important}
html.tp.tp-v4 body .tp-brand img.casa-logo{display:block!important;width:60px!important;height:60px!important;min-width:60px!important;max-width:60px!important;flex:0 0 60px!important;object-fit:contain!important;margin:0!important;filter:none!important;border:0!important;background:none!important;box-shadow:none!important;border-radius:0!important;position:static!important;transform:none!important}
html.tp.tp-v4 body .tp-brand small{display:block;font-size:8px;letter-spacing:.18em;color:#e6d8ad;margin-top:5px}
html.tp.tp-v4 body :is(.cr-logo,.casa-logo):not(.tp-brand img){display:none!important}
html.tp.tp-v4 body .cr-top-controls{display:none!important}
html.tp.tp-v4 body .cr-brand{display:none!important}
html.tp.tp-v4 body .tp-desktop-links{display:flex;gap:23px;font-size:13px}.tp-desktop-links a{text-decoration:none}
html.tp.tp-v4 body .tp-topbar :is(.lang-switch,.cr-lang-switch,.tp-language){display:flex!important;gap:3px!important;position:static!important;margin:0!important;padding:3px!important;border:1px solid #f4dc9d45!important;border-radius:13px!important;background:#002e3430!important;box-shadow:none!important}
html.tp.tp-v4 body .tp-topbar :is(.lang-btn,.cr-lang-btn,.lang){min-width:39px!important;min-height:44px!important;margin:0!important;padding:5px!important;border:0!important;border-radius:10px!important;background:none!important;box-shadow:none!important;font-size:11px!important;color:#fff4d8!important}
html.tp.tp-v4 body .tp-topbar :is(.lang-btn,.cr-lang-btn,.lang).active{background:#edc580!important;color:#173e30!important}
html.tp.tp-v4 body .tp-icon-button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid #eadcaa66;border-radius:13px;background:#fff4cf0d;color:#fff3d6;cursor:pointer}
html.tp.tp-v4 body .tp-language-toggle{display:none}
html.tp.tp-v4 body .tp-staging{display:block;max-width:1160px;margin:7px auto 0;font-size:8px;letter-spacing:.15em;text-align:right;color:#d8cda9}
html.tp.tp-v4 body .tp-dock{position:fixed!important;z-index:50!important;left:50%!important;transform:translateX(-50%)!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:3px!important;width:min(470px,calc(100% - 24px))!important;padding:6px!important;border:1px solid #f8e4ad91!important;border-radius:22px!important;background:linear-gradient(115deg,#0a493bbf,#07516db3)!important;box-shadow:0 10px 35px #001c3559,inset 0 1px #fff4d687!important;backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3)}
html.tp.tp-v4 body .tp-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:49px;text-decoration:none;border-radius:15px;border:1px solid transparent;font-size:10px;color:#fff3d6}
html.tp.tp-v4 body .tp-dock a[aria-current=page]{background:#f0cc7930;border-color:#ffdf9a52;color:#ffe1a5}
html.tp.tp-v4 body .tp-dock svg{width:17px!important;height:17px!important}
html.tp.tp-v4 body .tp-menu{width:min(820px,calc(100% - 24px));max-height:87dvh;background:#0d3932;color:#fff7e2;border:1px solid #eaca8b;border-radius:26px;padding:26px;box-shadow:0 30px 90px #00151ba8}
html.tp.tp-v4 body .tp-menu::backdrop{background:#001c2880;backdrop-filter:blur(7px)}
html.tp.tp-v4 body .tp-menu-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.tp-menu-head h2{margin:0}
html.tp.tp-v4 body .tp-menu input{width:100%;margin-bottom:18px}
html.tp.tp-v4 body .tp-menu-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
html.tp.tp-v4 body .tp-menu-links a{display:flex;align-items:center;gap:9px;padding:13px 10px;border:1px solid #e5c78c35;border-radius:12px;background:#f1d9a40a;text-decoration:none;font-size:13px;min-height:48px}
/* Reading surfaces: no photograph underneath paragraphs. */
html.tp.tp-v4 body :is(.cr-card,.info-card,.contact-card,.detail-section,.detail-box,.casa-form-card,.tool-card,.intro-box,.filter-box,.cr-filter-box,.assistant,.planner,.beach-quiz-launch,.stay-item,.box,.step,.contact-box,.cr-notice,.notice,.casa-form,.tp-home-utilities>.glass-box){background:var(--rd-card)!important;border:1px solid var(--rd-line)!important;border-radius:var(--rd-radius)!important;box-shadow:0 12px 25px #001c231a!important;backdrop-filter:none!important;color:var(--rd-text)!important}
html.tp.tp-v4 body :is(.cr-card,.info-card,.detail-section,.detail-box,.casa-form-card,.tool-card,.intro-box,.filter-box,.cr-filter-box){padding:22px!important}
html.tp.tp-v4 body :is(.beach-card,.place-card,.act,.mall,.market-card,.religious-card){background:#103d36!important;border:1px solid #d6c39340!important;border-radius:23px!important;overflow:hidden!important;box-shadow:0 12px 25px #001c2126!important}
html.tp.tp-v4 body :is(.beach-photo,.place-photo,.act-photo,.market-photo,.religious-photo,.mall-photo){height:250px!important;min-height:0!important;filter:none!important;background-size:cover!important;background-position:center!important}
html.tp.tp-v4 body :is(.cr-btn,.cr-filter-btn,.filter-btn,.action,.casa-tool-btn,.pill,.activity-tab,.choice-option,.quiz-option,.quiz-submit,.quiz-reset,.copy-btn,.casa-primary-btn,.casa-secondary-btn,.problem-choice){min-height:44px!important;padding:10px 14px!important;border:1px solid #e9cd8d55!important;border-radius:12px!important;font-size:13px!important;background:#fff3d50a!important;color:#fff3d9!important;box-shadow:none!important;line-height:1.35!important}
html.tp.tp-v4 body :is(.cr-btn-primary,.casa-primary-btn,.filter-btn.active,.cr-filter-btn.active,.activity-tab.active,.choice-option.selected,.quiz-option.selected,.chips input:checked+span,#show){background:#ebc47f!important;border-color:#f2d6a4!important;color:#163b2e!important;font-weight:650!important}
html.tp.tp-v4 body :is(input[type=search],input[type=text],input[type=time],textarea,select,.search,.time-input){background:#062a25!important;border:1px solid #c8c29d69!important;border-radius:13px!important;color:#fff5df!important;font:inherit!important;min-height:46px!important;padding:12px!important;box-shadow:none!important}
html.tp.tp-v4 body input::placeholder{color:#adbfb4!important}
html.tp.tp-v4 body :is(.choice-modal,.modal-content,.quiz-modal,.quiz-panel,.install-modal-card){background:#103d35!important;border:1px solid #e5c78c!important;border-radius:24px!important;box-shadow:0 30px 100px #001c248c!important}
html.tp.tp-v4 body :is(.cr-back,.back-link){display:inline-flex!important;align-items:center;gap:7px;font-size:12px!important;text-decoration:none;min-height:44px!important;margin:0 0 17px!important;padding:8px 13px!important;background:#e7ca8410!important;color:#e8ddbc!important;border:1px solid #e0cc9650!important;border-radius:12px!important;box-shadow:none!important}
html.tp.tp-v4 body .tp-page-intro{display:flex;align-items:flex-end;position:relative;isolation:isolate;overflow:hidden;min-height:380px;padding:0;border-radius:26px;border:1px solid #e6d3a456;background:#143d34;margin:0 0 25px;text-align:left}
html.tp.tp-v4 body .tp-intro-photo{position:absolute!important;inset:0!important;z-index:-1!important;width:100%!important;height:100%!important;min-height:100%!important;border:0!important;border-radius:0!important;margin:0!important;background-size:cover!important;background-position:center!important;filter:none!important;box-shadow:none!important}
html.tp.tp-v4 body .tp-intro-photo::after{content:''!important;position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,#072c207d 75%,#062b27b0)!important}
html.tp.tp-v4 body .tp-intro-copy{padding:30px;width:100%;position:relative;z-index:2}
html.tp.tp-v4 body .tp-page-intro :is(.cr-lead,.lead,.library-sub){color:#fff4e1!important;max-width:650px!important}
html.tp.tp-v4 body .tp-eyebrow{font-size:9px!important;letter-spacing:.23em!important;color:#f4d590!important;margin:0 0 15px!important;font-weight:600!important}
html.tp.tp-v4 body .tp-page-intro.rd-editorial-intro{min-height:0;background:none;border:0;border-bottom:1px solid #e4ce9342;border-radius:0;padding-bottom:23px;margin-bottom:26px;overflow:visible}
html.tp.tp-v4 body .rd-editorial-intro .tp-intro-copy{padding:8px 0}
html.tp.tp-v4 body :is(.ex-grid,.cards-container,.stay-tools-menu){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
html.tp.tp-v4 body :is(.ex-card,.card-link){position:relative!important;isolation:isolate;display:flex!important;align-items:flex-start!important;flex-direction:column!important;justify-content:flex-end!important;gap:9px!important;min-height:145px!important;padding:20px!important;border-radius:22px!important;border:1px solid var(--rd-line)!important;background:#154639!important;box-shadow:none!important;overflow:hidden!important;text-decoration:none!important;color:var(--rd-text)!important;text-align:left!important}
html.tp.tp-v4 body :is(.ex-card,.card-link)::before,html.tp.tp-v4 body :is(.ex-card,.card-link)::after{content:none!important}
html.tp.tp-v4 body :is(.ex-card,.card-link)[data-tp-photo]{min-height:220px!important;background:linear-gradient(180deg,transparent 20%,#062b2399),var(--tp-photo) center/cover!important}
html.tp.tp-v4 body :is(.ex-card,.card-link)>.glass-bubble{margin-bottom:auto!important}
html.tp.tp-v4 body :is(.ex-card strong,.service-title){font-size:20px!important;line-height:1.2!important;font-weight:600!important;text-align:left!important;max-width:100%!important;color:#fff8e8!important}
html.tp.tp-v4 body :is(.ex-meta,.service-copy small){font-size:12px!important;color:#d1dfd3!important;line-height:1.4!important}
html.tp.tp-v4 body :is(.ex-card,.card-link)>.arrow,html.tp.tp-v4 body .service-chevron{position:absolute!important;right:15px!important;top:18px!important}
/* Home composition: one photographic stage, followed by distinct modules. */
html.tp.tp-v4 body.home-page{background:#092e29!important}
html.tp.tp-v4 body .rd-home-stage{position:relative;isolation:isolate;margin:-127px -18px 26px;padding:137px 18px 24px;background:linear-gradient(180deg,#062a3b22,#063b2520 65%,#092e29 100%),url('/guest/assets/images/ai-generated-v44/casa-premium.jpg') center top/cover no-repeat;border-radius:0 0 35px 35px}
html.tp.tp-v4 body .tp-home-hero{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:center;gap:35px;min-height:275px;margin:20px 0 26px}
html.tp.tp-v4 body .tp-hero-copy{min-width:0}
html.tp.tp-v4 body .casa-home-header{padding:0!important;margin:0!important;background:none!important;border:0!important;text-align:left!important;box-shadow:none!important}
html.tp.tp-v4 body .casa-home-header h1{font-size:66px!important;line-height:1.04!important;margin:0!important;color:#fff9e9!important;text-shadow:0 3px 18px #001f31aa!important}
html.tp.tp-v4 body .casa-home-header h1::after{content:' 2.0';font-size:.52em;color:#ffdc8b}
html.tp.tp-v4 body .tp-kicker{font-size:9px;letter-spacing:.23em;color:#fff3cb;margin:0 0 15px;text-shadow:0 1px 8px #003832}
html.tp.tp-v4 body .tp-hero-tagline{font:italic 26px/1.25 Georgia,serif;color:#fff3d7;margin:20px 0 0;text-shadow:0 2px 12px #003425}
html.tp.tp-v4 body .tp-weather{padding:17px;border:1px solid #fff2d6a3;border-radius:22px;background:linear-gradient(130deg,#0051444a,#0a648b66);box-shadow:0 15px 35px #00354140,inset 0 1px #fff8ce83;backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25);min-width:0}
html.tp.tp-v4 body .tp-weather-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.02em;color:#fff0c9}
html.tp.tp-v4 body .tp-live-dot{width:4px;height:4px;border-radius:50%;background:#f4d38d}
html.tp.tp-v4 body .tp-weather-current{display:flex;align-items:center;gap:14px;margin:12px 0}
html.tp.tp-v4 body .tp-weather-temperature{display:flex;gap:8px;align-items:center}
html.tp.tp-v4 body #weather-temp{font-size:46px!important;line-height:1!important;font-weight:450!important;color:white!important}
html.tp.tp-v4 body #weather-icon{color:#fbd386;font-size:25px!important;display:flex}
html.tp.tp-v4 body #weather-icon .tp-inline-icon{margin:0}
html.tp.tp-v4 body #weather-icon svg{width:24px!important;height:24px!important}
html.tp.tp-v4 body .tp-weather-state strong{font-size:13px;color:white}.tp-weather-state>span{display:none}
html.tp.tp-v4 body .tp-weather-clock{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #fff2c938;padding:6px 0 9px;font-size:11px;color:#fff3d8}
html.tp.tp-v4 body .tp-weather-clock #eu-time{font-size:13px!important;line-height:1.2!important}
html.tp.tp-v4 body .tp-weather-forecast-title{font-size:9px;margin:9px 0 5px;color:#fff1cc}
html.tp.tp-v4 body .tp-weather #hourly-forecast{display:flex!important;gap:5px!important;overflow-x:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;scrollbar-width:none;margin:0!important}
html.tp.tp-v4 body .tp-weather .hourly-item{display:flex!important;flex:0 0 calc((100% - 15px)/4)!important;min-width:0!important;flex-direction:column!important;align-items:center;gap:4px!important;padding:4px 1px!important;background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important}
html.tp.tp-v4 body .tp-weather .hourly-time{font-size:9px!important;color:#e9ebd9!important}
html.tp.tp-v4 body .tp-weather .hourly-temp{font-size:12px!important;color:white!important}
html.tp.tp-v4 body .tp-weather .hourly-icon{display:flex;height:17px!important;align-items:center;font-size:14px!important}.tp-weather .hourly-icon .tp-inline-icon{margin:0!important}
html.tp.tp-v4 body .tp-weather-details{font-size:11px;border-top:1px solid #ffffff30;padding-top:4px;margin-top:7px}.tp-weather-details summary{font-size:9px;cursor:pointer;line-height:22px}.tp-weather-details>div{display:grid;grid-template-columns:1fr auto;gap:5px;font-size:10px}.tp-weather-details .info-value{font-size:11px!important}
html.tp.tp-v4 body .tp-original-weather[hidden]{display:none!important}
html.tp.tp-v4 body .tp-primary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:0 0 16px}
html.tp.tp-v4 body .tp-primary-card{display:flex;flex-direction:column;align-items:flex-start;position:relative;min-height:220px;border:1px solid #fff3d7a6;border-radius:23px;padding:20px;gap:8px;color:#fff8e9;text-decoration:none;background:linear-gradient(180deg,transparent 20%,#092b279e),var(--tp-photo) center/cover;box-shadow:0 12px 25px #00313435;overflow:hidden}
html.tp.tp-v4 body .tp-primary-card>.tp-icon{margin-bottom:auto!important;width:20px!important;height:20px!important}
html.tp.tp-v4 body .tp-primary-card strong{font-size:24px;line-height:1.2;text-shadow:0 1px 8px #002d38}
html.tp.tp-v4 body .tp-primary-card>span{font-size:12px;line-height:1.4;text-shadow:0 1px 8px #002d38}
html.tp.tp-v4 body .tp-primary-card>b{display:grid;place-items:center;position:absolute;right:15px;top:15px;width:27px;height:27px;border:1px solid #fff7;border-radius:50%;background:#ffffff25;backdrop-filter:blur(8px)}
html.tp.tp-v4 body .rd-house-photo-pending{background:linear-gradient(135deg,#8c6540,#392f23)!important}
html.tp.tp-v4 body .rd-essentials{background:linear-gradient(135deg,#99703f,#4c4530)!important}
html.tp.tp-v4 body .tp-shortcuts{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}
html.tp.tp-v4 body .tp-shortcuts a{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;min-height:68px;padding:13px 3px;font-size:12px;border:1px solid #fff2cb83;border-radius:17px;background:#0c554252;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);text-decoration:none;color:#fff5d9}
html.tp.tp-v4 body .tp-glass{background:#113f35;border:1px solid #d6bd853b;border-radius:23px;padding:24px;margin:24px 0}
html.tp.tp-v4 body .tp-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.tp-section-head h2{font-size:22px;margin:0}.tp-section-head>a{font-size:12px;color:var(--rd-gold)!important;text-decoration:none}
html.tp.tp-v4 body .tp-conditions{background:linear-gradient(125deg,#124c3c,#074344)}
html.tp.tp-v4 body .tp-conditions-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
html.tp.tp-v4 body .tp-condition{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:14px;border:1px solid #d6c69a3d;border-radius:15px;background:#002c241c;min-width:0}
html.tp.tp-v4 body .tp-condition>span{font-size:11px;color:#c6d9ca;line-height:1.3}.tp-condition>strong,.tp-condition>#water-temp,.tp-condition>#weather-wind{font-size:23px!important;color:#fff7df!important;line-height:1.2!important}
html.tp.tp-v4 body .tp-condition .tp-icon-wrap{color:#e9c785}
html.tp.tp-v4 body .tp-note{font-size:10px;color:#adc9bd;line-height:1.6;margin:16px 0 0}#tp-tide-state{color:#e8d09a!important;text-align:right}
html.tp.tp-v4 body .tp-experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
html.tp.tp-v4 body .tp-experience{display:flex;align-items:flex-end;padding:17px;min-height:210px;border-radius:19px;border:1px solid #e7dcb94d;background:linear-gradient(180deg,transparent 30%,#062c2fbb),var(--tp-photo) center/cover;color:#fff8e7;font-size:20px;line-height:1.2;font-weight:600;text-decoration:none}
html.tp.tp-v4 body :is(.tp-experience,.ex-card)[href*="ristoranti/"]{background-position:center,85% center!important}
html.tp.tp-v4 body .tp-secondary-services{grid-template-columns:repeat(4,minmax(0,1fr))!important}
html.tp.tp-v4 body .tp-welcome-details{font-size:12px;color:#aac6b9;margin:20px 0}.tp-welcome-details :is(.welcome-msg,.subtitle){font:inherit!important;margin:0!important}
/* Itineraries, cards and library share spacing; content keeps its own visual identity. */
html.tp.tp-v4 body .planner{padding:18px!important}
html.tp.tp-v4 body .pick{background:#17483b!important;border:1px solid #d9c38c33!important;border-radius:16px!important;padding:16px!important;box-shadow:none!important}.pick::before,.pick::after{display:none!important}
html.tp.tp-v4 body .chips span{min-height:40px;display:inline-flex;align-items:center;font-size:12px!important;background:#ffffff09!important;border-color:#dec98b40!important}
html.tp.tp-v4 body #random{background:#d5bd8520!important;border-color:#d5bd8570!important;color:#fff0c6!important}
html.tp.tp-v4 body .tp-rating{display:inline-flex}.tp-rating svg{width:11px!important;height:11px!important}.tp-rating.is-filled svg{fill:#e9c77e!important}.tp-rating:not(.is-filled){opacity:.3}
html.tp.tp-v4 body.tp-library{--rd-bg:#1a302b;--rd-card:#273e34;background:radial-gradient(ellipse at top,#364b36,transparent 700px),#1a302b!important}
html.tp.tp-v4 body.tp-library :is(.pub-list,.book-list,.edition-list){display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:23px!important;margin-top:20px!important}
html.tp.tp-v4 body.tp-library :is(.publication,.book,.edition){display:flex!important;flex-direction:column!important;align-items:stretch!important;position:relative;gap:14px!important;padding:16px!important;background:#f0e8d5!important;border:1px solid #f8efdc!important;border-radius:18px!important;box-shadow:0 15px 25px #001f2429!important;color:#243c30!important;text-decoration:none!important;min-width:0!important;overflow:hidden!important}
html.tp.tp-v4 body.tp-library :is(.publication-preview,.edition-preview){display:flex!important;justify-content:center!important;align-items:center!important;position:relative!important;width:100%!important;height:250px!important;min-height:250px!important;max-width:none!important;flex:none!important;aspect-ratio:auto!important;background:#dfd5bd!important;border:0!important;border-radius:9px!important;overflow:hidden!important}
html.tp.tp-v4 body.tp-library :is(.publication-preview,.edition-preview)>:is(img,canvas){display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;border:0!important;background:#dfd5bd!important}
html.tp.tp-v4 body.tp-library .book-cover{display:block;width:100%!important;max-width:none!important;height:250px!important;min-height:250px!important;max-height:none!important;object-fit:contain!important;background:#dfd5bd!important;border-radius:8px!important;box-shadow:0 9px 14px #52391430!important;flex:none!important}
html.tp.tp-v4 body.tp-library .preview-fallback,html.tp.tp-v4 body.tp-library .book-fallback.show{display:grid!important;place-items:center!important;height:250px;width:100%;background:#dfd5bd;color:#546e50}
html.tp.tp-v4 body.tp-library .preview-ready>.preview-fallback,html.tp.tp-v4 body.tp-library .tp-cover-loaded .preview-fallback{display:none!important}
html.tp.tp-v4 body.tp-library .item-copy{display:flex!important;flex-direction:column!important;flex:1!important;gap:5px!important;min-width:0!important;width:100%!important;padding:0!important;text-align:left!important}
html.tp.tp-v4 body.tp-library .item-title{display:block!important;color:#203a2e!important;font-size:15px!important;line-height:1.4!important;font-weight:650!important;white-space:normal!important;overflow:visible!important;-webkit-line-clamp:unset!important}
html.tp.tp-v4 body.tp-library :is(.item-meta,.item-author,.item-source,.edition-date){color:#5c6753!important;font-size:11px!important;line-height:1.5!important;white-space:normal!important}
html.tp.tp-v4 body.tp-library :is(.badge,.new-mark){position:static!important;align-self:flex-start!important;color:#3e5339!important;background:#345c3211!important;border:1px solid #65734740!important;border-radius:7px!important;font-size:10px!important;padding:5px 8px!important}
html.tp.tp-v4 body.tp-library :is(.publication,.book,.edition)>.cr-arrow{display:none!important}
html.tp.tp-v4 body.tp-library .summary{background:none!important;padding:0!important;border:0!important;box-shadow:none!important;color:#cbb88b!important;letter-spacing:.12em;font-size:10px;margin:20px 0}
html.tp.tp-v4 body.tp-library .library-menu{grid-template-columns:repeat(3,minmax(0,1fr))!important}
html.tp.tp-v4 body.tp-library .library-menu>.ex-card{min-height:170px!important;background:#304a3a!important;border-color:#d8c38a55!important}
html.tp.tp-v4 body.tp-library .library-menu>.ex-card>strong{font-size:24px!important}
html.tp.tp-v4 body .tp-reading-shelf{margin:20px 0 30px;padding:25px 0;border-block:1px solid #ddc99738;background:none;box-shadow:none}
html.tp.tp-v4 body .tp-shelf-books{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}
html.tp.tp-v4 body .tp-shelf-book{display:flex;flex-direction:column;gap:9px;color:#fff0d1;text-decoration:none;min-width:0}
html.tp.tp-v4 body .tp-shelf-book img{width:100%;height:250px;object-fit:contain;border-radius:5px;filter:drop-shadow(0 14px 9px #001d2873)}
html.tp.tp-v4 body .tp-shelf-book strong{font-size:14px;font-weight:550;line-height:1.4}.tp-shelf-book>span{font-size:11px;color:#bcbda0}
html.tp.tp-v4 body.tp-library .masthead-local{max-width:270px!important;background:#faf1dd!important;border-radius:12px!important;padding:16px!important;margin:15px 0!important}
html.tp.tp-v4 body.tp-library .masthead-local img{max-width:100%!important;max-height:70px!important;object-fit:contain!important}
html.tp.tp-v4 body.tp-library .cr-country,html.tp.tp-v4 body.tp-library .cr-sub{text-align:left!important;color:#d8c59f!important}
html.tp.tp-v4 body :is(.cr-footer,footer,.footer){color:#b6c4ae!important;font-size:11px!important;border-color:#d6c89630!important;margin-top:42px!important;padding-top:25px!important;text-shadow:none!important}
html.tp.tp-v4 body #casa-network-status{position:static!important;display:block!important;width:max-content!important;max-width:100%;margin:16px auto 0!important;background:none!important;border:0!important;box-shadow:none!important;font-size:9px!important;color:#a2b9ac!important}
html.tp.tp-v4 body :is(.casa-home-header,.cr-brand)[hidden]{display:none!important}
@media(min-width:900px){html.tp.tp-v4 body :is(.beach-list,.place-grid,.activity-list,.market-grid,.mall-grid,.religious-grid,.contact-list,.stay-list){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important}html.tp.tp-v4 body :is(.beach-card,.place-card,.act,.mall,.market-card){margin:0!important}.rd-home-stage{border-radius:30px!important}}
@media(max-width:899px){html.tp.tp-v4 body .tp-desktop-links{display:none!important}html.tp.tp-v4 body :is(.ex-grid,.cards-container,.stay-tools-menu){grid-template-columns:repeat(2,minmax(0,1fr))!important}html.tp.tp-v4 body .tp-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}html.tp.tp-v4 body .tp-conditions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}html.tp.tp-v4 body.tp-library :is(.pub-list,.book-list,.edition-list){grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:767px){
 html.tp.tp-v4 body{padding:calc(10px + env(safe-area-inset-top)) 13px calc(103px + env(safe-area-inset-bottom))!important;font-size:14px!important}
 html.tp.tp-v4 body .tp-topbar{gap:4px!important;padding:7px!important;min-height:68px!important;flex-wrap:nowrap!important;border-radius:19px!important}
 html.tp.tp-v4 body .tp-brand{font-size:12px!important;gap:3px!important}.tp-brand small{font-size:6px!important;letter-spacing:.12em!important}
 html.tp.tp-v4 body .tp-brand img.casa-logo{width:54px!important;height:54px!important;min-width:54px!important;max-width:54px!important;flex-basis:54px!important}
 html.tp.tp-v4 body .tp-language-toggle{display:block!important;width:43px;min-height:44px;flex:0 0 43px;background:#fff5d310;border:1px solid #fff3ce59;border-radius:12px;color:#fff4dc;font-size:11px}
 html.tp.tp-v4 body .tp-topbar>.tp-icon-button{width:34px;height:44px;border:0;background:none}
 html.tp.tp-v4 body .tp-topbar :is(.lang-switch,.cr-lang-switch,.tp-language){display:none!important;position:absolute!important;right:0!important;top:calc(100% + 8px)!important;width:230px!important;z-index:40!important;background:#0a443cef!important;border:1px solid #dfc490!important;padding:8px!important;backdrop-filter:blur(20px)}
 html.tp.tp-v4 body .tp-topbar.tp-lang-open :is(.lang-switch,.cr-lang-switch,.tp-language){display:flex!important}
 html.tp.tp-v4 body .tp-topbar :is(.lang-btn,.cr-lang-btn,.lang){min-width:49px!important}
 html.tp.tp-v4 body .tp-staging{font-size:7px;margin-top:6px}
 html.tp.tp-v4 body>main,html.tp.tp-v4 body>.container{margin-top:20px!important}
 html.tp.tp-v4 body .rd-home-stage{margin:-110px -13px 23px;padding:116px 13px 24px;background-position:47% top}
 html.tp.tp-v4 body .tp-home-hero{grid-template-columns:minmax(0,1fr) 142px;gap:13px;min-height:228px;margin:15px 0 20px}
 html.tp.tp-v4 body .casa-home-header h1{font-size:35px!important;letter-spacing:-.045em!important}
 html.tp.tp-v4 body .tp-kicker{font-size:7px;letter-spacing:.15em;line-height:1.7;margin-bottom:12px}
 html.tp.tp-v4 body .tp-hero-tagline{font-size:19px;line-height:1.2;margin-top:15px}
 html.tp.tp-v4 body .tp-weather{padding:10px 9px;border-radius:19px}
 html.tp.tp-v4 body .tp-weather-top{font-size:8px}.tp-live-dot{display:none}
 html.tp.tp-v4 body .tp-weather-current{flex-wrap:wrap;gap:3px;margin:9px 0 5px}
 html.tp.tp-v4 body #weather-temp{font-size:35px!important}
 html.tp.tp-v4 body .tp-weather-state strong{font-size:10px}.tp-weather-state{width:100%}
 html.tp.tp-v4 body .tp-weather-clock{font-size:9px;padding:6px 0}.tp-weather-clock #eu-time{font-size:11px!important}
 html.tp.tp-v4 body .tp-weather-forecast-title{font-size:8px;margin:7px 0 3px}
 html.tp.tp-v4 body .tp-weather .hourly-item{flex-basis:calc((100% - 10px)/3)!important;gap:3px!important}
 html.tp.tp-v4 body .tp-weather .hourly-time{font-size:8px!important}.tp-weather .hourly-temp{font-size:10px!important}
 html.tp.tp-v4 body .tp-weather-details summary{font-size:8px;line-height:20px}
 html.tp.tp-v4 body .tp-primary-grid{gap:11px;margin-bottom:13px}
 html.tp.tp-v4 body .tp-primary-card{min-height:155px;padding:15px 12px;gap:7px;border-radius:21px}
 html.tp.tp-v4 body .tp-primary-card strong{font-size:21px}.tp-primary-card>span{font-size:11px!important;line-height:1.3!important}
 html.tp.tp-v4 body .tp-shortcuts{gap:6px}.tp-shortcuts a{font-size:9px!important;min-height:61px!important;border-radius:14px!important;padding:10px 2px!important}
 html.tp.tp-v4 body .tp-glass{padding:19px;margin:23px 0}
 html.tp.tp-v4 body .tp-conditions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 html.tp.tp-v4 body .tp-condition{padding:13px}.tp-condition>strong{font-size:22px!important}
 html.tp.tp-v4 body .tp-section-head{gap:10px;align-items:center;margin-bottom:16px}.tp-section-head h2{font-size:19px!important}.tp-section-head>a{font-size:10px!important;white-space:nowrap}
 html.tp.tp-v4 body .tp-experience-grid{gap:9px}.tp-experience{min-height:163px!important;padding:12px 9px!important;font-size:14px!important;border-radius:16px!important}
 html.tp.tp-v4 body .tp-secondary-services{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html.tp.tp-v4 body :is(.ex-grid,.cards-container,.stay-tools-menu){gap:12px!important}
 html.tp.tp-v4 body :is(.ex-card,.card-link){padding:17px!important;min-height:135px!important;border-radius:19px!important}
 html.tp.tp-v4 body :is(.ex-card,.card-link)[data-tp-photo]{min-height:186px!important}
 html.tp.tp-v4 body :is(.ex-card strong,.service-title){font-size:18px!important}
 html.tp.tp-v4 body .tp-page-intro{min-height:330px;border-radius:24px;margin-bottom:22px}
 html.tp.tp-v4 body .tp-intro-copy{padding:22px 19px}
 html.tp.tp-v4 body .tp-page-intro :is(h1,.cr-title){font-size:35px!important}
 html.tp.tp-v4 body .tp-page-intro :is(.lead,.cr-lead,.library-sub){font-size:13px!important}
 html.tp.tp-v4 body .tp-eyebrow{font-size:8px!important;margin-bottom:12px!important}
 html.tp.tp-v4 body .tp-page-intro.rd-editorial-intro{min-height:0!important;margin-bottom:23px;padding-bottom:18px}
 html.tp.tp-v4 body .tp-menu{padding:20px}.tp-menu-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}.tp-menu-links a{font-size:12px!important}
 html.tp.tp-v4 body :is(.beach-list,.place-grid,.activity-list,.market-grid,.mall-grid,.religious-grid){grid-template-columns:1fr!important}
 html.tp.tp-v4 body.tp-library :is(.pub-list,.book-list,.edition-list){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important}
 html.tp.tp-v4 body.tp-library :is(.publication,.book,.edition){padding:11px!important;border-radius:15px!important;gap:11px!important}
 html.tp.tp-v4 body.tp-library :is(.publication-preview,.edition-preview,.book-cover,.book-fallback.show){height:195px!important;min-height:195px!important}
 html.tp.tp-v4 body.tp-library .item-title{font-size:13px!important}
 html.tp.tp-v4 body.tp-library .library-menu{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
 html.tp.tp-v4 body.tp-library .library-menu>.ex-card{min-height:130px!important;padding:13px!important;background:#314938!important}
 html.tp.tp-v4 body.tp-library .library-menu>.ex-card>strong{font-size:17px!important}
 html.tp.tp-v4 body.tp-library .library-menu>.ex-card>.arrow{display:none!important}
 html.tp.tp-v4 body .tp-shelf-books{display:flex;overflow-x:auto;gap:17px;padding:8px 0 15px;scroll-snap-type:x mandatory}
 html.tp.tp-v4 body .tp-shelf-book{flex:0 0 43%;scroll-snap-align:start}.tp-shelf-book img{height:200px!important}.tp-shelf-book strong{font-size:13px!important}
 html.tp.tp-v4 body .tp-reading-shelf{padding:18px 0;margin:20px 0 25px}
}
@media(max-width:374px){html.tp.tp-v4 body .tp-brand{font-size:10px!important}.tp-brand small{display:none!important}html.tp.tp-v4 body .tp-home-hero{grid-template-columns:minmax(0,1fr) 128px;gap:8px}.casa-home-header h1{font-size:29px!important}.tp-hero-tagline{font-size:16px!important}html.tp.tp-v4 body .tp-primary-card strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){html.tp.tp-v4 *,html.tp.tp-v4 *::before,html.tp.tp-v4 *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

html.tp.tp-v4 body .tp-page-intro:has(+*) .tp-intro-photo{background-position:var(--rd-focus,center)!important}
html.tp.tp-v4 body[data-tp-section="ristoranti"] .tp-intro-photo{--rd-focus:85% center}
html.tp.tp-v4 body .tp-home-utilities .glass-box{padding:18px!important}
html.tp.tp-v4 body .tp-home-utilities a{border-radius:12px!important;box-shadow:none!important;min-height:44px!important}
html.tp.tp-v4 body .tp-primary-card.rd-essentials{background:linear-gradient(135deg,#326456aa,#173b34cc)!important;backdrop-filter:blur(16px)}
html.tp.tp-v4 body .tp-brand{color:#fff6da!important}

html.tp.tp-v4 body .ex-card>.glass-bubble{align-self:flex-start!important;margin-left:0!important;margin-right:0!important}
html.tp.tp-v4 body :is(.cr-tip,.meta32>div,.detail-meta>div,.kv,.fact,.fact-row){background:#153d31!important;border-color:#d4bb8050!important;box-shadow:none!important}
html.tp.tp-v4 body:not([data-tp-section="home"]) .casa-home-header h1::after{content:none!important}
html.tp.tp-v4 body:not([data-tp-section="home"]) .casa-home-header{display:contents!important}

/* Legacy content adapters use the same tokens as the shared components. */
html.tp.tp-v4 body :is(.fact32,.log32>div,.see-v32>div,.detail-explain-item,.check-item,.pack-item,.rating-item,.boat-guide-card,.cr-house-tip,.house-tip,.tip,.contact,.contact-info){background:#153d31!important;border:1px solid #d4bb8050!important;box-shadow:none!important;color:#fcf4dd!important}
html.tp.tp-v4 body :is(.act-actions a,.place-actions a,.sim-buy,.religious-action,.detail-action,.casa-save-btn){min-height:44px!important;padding:11px 14px!important;border-radius:12px!important;background:#e9c582!important;color:#17382b!important;border:1px solid #f7db9b!important;box-shadow:none!important;font-size:13px!important}
html.tp.tp-v4 body :is(.act-actions a,.place-actions a):last-child,html.tp.tp-v4 body .casa-save-btn{background:#ffffff0b!important;color:#fff3d8!important;border-color:#dec78b55!important}
html.tp.tp-v4 body :is(.sim-tab,.quiz-open-btn){min-height:44px!important;border-radius:12px!important;background:#123e36!important;color:#fff2d1!important;border-color:#d9bd7755!important;box-shadow:none!important}
html.tp.tp-v4 body .sim-tab.active{background:#e9c582!important;color:#17382b!important}
html.tp.tp-v4 body .tp-intro-copy :is(h1,h2,.cr-title){font:500 clamp(34px,4.6vw,56px)/1.08 Georgia,serif!important;letter-spacing:-.035em!important}
html.tp.tp-v4 body .brand{display:none!important}
html.tp.tp-v4 body .glass-bubble{margin-left:0!important;margin-right:auto!important}
@media(max-width:767px){html.tp.tp-v4 body .tp-intro-copy :is(h1,h2,.cr-title){font-size:35px!important}}

html.tp.tp-v4 body .rd-transport-photo{margin:0 0 24px;border-radius:22px;overflow:hidden;border:1px solid #e6cd8e66}html.tp.tp-v4 body .rd-transport-photo img{display:block;width:100%;height:280px;object-fit:cover;object-position:35% 60%}@media(min-width:768px){html.tp.tp-v4 body .rd-transport-photo img{height:350px}}
/* ===== v5 unification pass: replace old flat-green pages ===== */
html.tp.tp-v4{
  --rd-bg:#062f3b;
  --rd-card:#0b3a45;
  --rd-line:rgba(177,223,230,.22);
  --rd-gold:#f2cd79;
  --rd-text:#f8fbf8;
  --rd-muted:#c9dde1;
}
html.tp.tp-v4 body{
  background:
    radial-gradient(circle at 88% 0,rgba(33,160,177,.16),transparent 34%),
    radial-gradient(circle at 5% 85%,rgba(242,205,121,.06),transparent 28%),
    var(--rd-bg)!important;
}
html.tp.tp-v4 body[data-rd-kind="destination"]{--rd-card:#0b3b46;--rd-line:rgba(120,211,225,.24)}
html.tp.tp-v4 body[data-rd-kind="service"]{--rd-card:#0a3542;--rd-line:rgba(111,197,219,.24)}
html.tp.tp-v4 body[data-rd-kind="house"]{--rd-card:#123a3d;--rd-line:rgba(226,196,128,.22)}
html.tp.tp-v4 body.tp-library{
  --rd-bg:#0b2730;--rd-card:#132f36;
  background:radial-gradient(circle at 80% 0,rgba(80,144,151,.12),transparent 35%),#0b2730!important;
}
html.tp.tp-v4 body .tp-page-intro{
  min-height:300px!important;
  border-color:rgba(255,255,255,.35)!important;
  background:#0a3340!important;
  box-shadow:0 18px 44px rgba(0,22,34,.26)!important;
}
html.tp.tp-v4 body .tp-intro-photo::after{
  background:linear-gradient(180deg,rgba(0,18,28,.03) 20%,rgba(0,27,38,.28) 58%,rgba(0,24,34,.84) 100%)!important;
}
html.tp.tp-v4 body .tp-intro-copy{padding:24px!important}
html.tp.tp-v4 body :is(.cr-card,.info-card,.contact-card,.detail-section,.detail-box,.casa-form-card,.tool-card,.intro-box,.filter-box,.cr-filter-box,.assistant,.planner,.beach-quiz-launch,.stay-item,.box,.step,.contact-box,.cr-notice,.notice,.casa-form,.tp-home-utilities>.glass-box){
  background:linear-gradient(145deg,color-mix(in srgb,var(--rd-card) 94%,#ffffff 6%),var(--rd-card))!important;
  border-color:var(--rd-line)!important;
  box-shadow:0 12px 28px rgba(0,21,31,.18)!important;
}
html.tp.tp-v4 body :is(.ex-card,.card-link):not([data-tp-photo]){
  background:linear-gradient(145deg,color-mix(in srgb,var(--rd-card) 92%,#16a2b5 8%),var(--rd-card))!important;
  border-color:var(--rd-line)!important;
}
html.tp.tp-v4 body[data-rd-kind="house"] :is(.ex-card,.card-link):not([data-tp-photo]){
  background:linear-gradient(145deg,#164342,#10343a)!important;
}
html.tp.tp-v4 body[data-rd-kind="service"] :is(.ex-card,.card-link):not([data-tp-photo]){
  background:linear-gradient(145deg,#0d404c,#0a323e)!important;
}
html.tp.tp-v4 body .tp-glass{
  background:linear-gradient(145deg,#0c3b46,#0a313d)!important;
  border-color:var(--rd-line)!important;
}
html.tp.tp-v4 body .tp-conditions{
  background:linear-gradient(135deg,#0b4a4a,#0a3d4b)!important;
}
html.tp.tp-v4 body .tp-condition{
  background:rgba(255,255,255,.035)!important;
  border-color:rgba(255,255,255,.13)!important;
}
html.tp.tp-v4 body .rd-house-photo-pending{
  background:
    linear-gradient(180deg,rgba(0,24,34,.04),rgba(0,24,34,.70)),
    url('/web_images/spiaggia.jpg') center/cover!important;
}
html.tp.tp-v4 body .rd-essentials{
  background:
    linear-gradient(180deg,rgba(0,24,34,.05),rgba(0,24,34,.72)),
    url('/guest/assets/images/ai-generated-v44/utilita-premium.jpg') center/cover!important;
}
html.tp.tp-v4 body .tp-shortcuts a{
  background:linear-gradient(145deg,rgba(14,90,99,.72),rgba(7,58,73,.82))!important;
  border-color:rgba(190,225,228,.28)!important;
}
html.tp.tp-v4 body :is(.glass-bubble,.service-icon,.cr-card-icon,.intro-icon,.card-icon,.utility-icon,.tool-icon){
  background:rgba(242,205,121,.08)!important;
  border-color:rgba(242,205,121,.25)!important;
  color:var(--rd-gold)!important;
}
html.tp.tp-v4 body :is(.cr-tip,.meta32>div,.detail-meta>div,.kv,.fact,.fact-row,.fact32,.log32>div,.see-v32>div,.detail-explain-item,.check-item,.pack-item,.rating-item,.boat-guide-card,.cr-house-tip,.house-tip,.tip,.contact,.contact-info){
  background:#0f3942!important;
  border-color:rgba(180,216,220,.18)!important;
  color:#f4f8f6!important;
}
html.tp.tp-v4 body :is(input[type=search],input[type=text],input[type=time],textarea,select,.search,.time-input){
  background:#082b35!important;border-color:rgba(180,216,220,.24)!important;color:#f5fbfb!important;
}
html.tp.tp-v4 body :is(.choice-modal,.modal-content,.quiz-modal,.quiz-panel,.install-modal-card){
  background:#0a3440!important;border-color:rgba(221,199,139,.55)!important;
}
html.tp.tp-v4 body .pick{background:#0f3c43!important;border-color:rgba(187,215,217,.18)!important}
html.tp.tp-v4 body .tp-page-intro.rd-editorial-intro{
  min-height:300px!important;border:1px solid rgba(255,255,255,.35)!important;border-radius:26px!important;padding-bottom:0!important;margin-bottom:25px!important;overflow:hidden!important;
}
html.tp.tp-v4 body .rd-editorial-intro .tp-intro-copy{padding:24px!important}
@media(max-width:767px){
  html.tp.tp-v4 body .tp-page-intro{min-height:235px!important;border-radius:22px!important}
  html.tp.tp-v4 body .tp-intro-copy{padding:18px!important}
  html.tp.tp-v4 body :is(.ex-card,.card-link):not([data-tp-photo]){min-height:132px!important}
}
/* ===== v6 palette differentiation: no more one-blue-fits-all ===== */
html.tp.tp-v4 body[data-rd-kind="destination"]{
  --rd-bg:#073743;--rd-card:#0b414b;--rd-line:rgba(127,215,225,.24);--rd-gold:#f2cd79;
  background:radial-gradient(circle at 85% 0,rgba(24,181,191,.14),transparent 34%),#073743!important;
}
html.tp.tp-v4 body[data-rd-kind="service"]{
  --rd-bg:#18292d;--rd-card:#21363a;--rd-line:rgba(205,218,214,.18);--rd-gold:#f0c978;--rd-muted:#cedbd7;
  background:radial-gradient(circle at 84% 0,rgba(87,137,140,.14),transparent 34%),linear-gradient(180deg,#1b3033,#16262a)!important;
}
html.tp.tp-v4 body[data-rd-kind="house"]{
  --rd-bg:#24342d;--rd-card:#30453a;--rd-line:rgba(224,205,154,.20);--rd-gold:#f0cc7b;--rd-muted:#d5dfd4;
  background:radial-gradient(circle at 84% 0,rgba(112,137,85,.15),transparent 34%),linear-gradient(180deg,#2a3c31,#223029)!important;
}
html.tp.tp-v4 body[data-rd-kind="library"],
html.tp.tp-v4 body.tp-library{
  --rd-bg:#142b27;--rd-card:#203b34;--rd-line:rgba(223,234,220,.17);--rd-gold:#bdd0bd;--rd-muted:#c2cec5;
  background:radial-gradient(circle at 84% 0,rgba(65,107,88,.20),transparent 34%),linear-gradient(180deg,#18332d,#142b27)!important;
}
html.tp.tp-v4 body[data-rd-kind="service"] :is(.cr-card,.info-card,.contact-card,.detail-section,.detail-box,.casa-form-card,.tool-card,.intro-box,.filter-box,.cr-filter-box,.assistant,.planner,.beach-quiz-launch,.stay-item,.box,.step,.contact-box,.cr-notice,.notice,.casa-form,.tp-home-utilities>.glass-box),
html.tp.tp-v4 body[data-rd-kind="service"] :is(.ex-card,.card-link):not([data-tp-photo]){
  background:linear-gradient(145deg,#263d40,#1c3034)!important;border-color:rgba(207,221,216,.18)!important;
}
html.tp.tp-v4 body[data-rd-kind="house"] :is(.cr-card,.info-card,.contact-card,.detail-section,.detail-box,.casa-form-card,.tool-card,.intro-box,.filter-box,.cr-filter-box,.assistant,.planner,.beach-quiz-launch,.stay-item,.box,.step,.contact-box,.cr-notice,.notice,.casa-form,.tp-home-utilities>.glass-box),
html.tp.tp-v4 body[data-rd-kind="house"] :is(.ex-card,.card-link):not([data-tp-photo]){
  background:linear-gradient(145deg,#354c3d,#2b4035)!important;border-color:rgba(229,209,159,.18)!important;
}
html.tp.tp-v4 body[data-rd-kind="library"] :is(.cr-card,.info-card,.contact-card,.detail-section,.detail-box,.casa-form-card,.tool-card,.intro-box,.filter-box,.cr-filter-box,.assistant,.planner,.beach-quiz-launch,.stay-item,.box,.step,.contact-box,.cr-notice,.notice,.casa-form,.tp-home-utilities>.glass-box),
html.tp.tp-v4 body[data-rd-kind="library"] :is(.ex-card,.card-link):not([data-tp-photo]){
  background:linear-gradient(145deg,#29483d,#203b34)!important;border-color:rgba(223,234,220,.16)!important;
}
html.tp.tp-v4 body[data-rd-kind="service"] .tp-page-intro{background:#26383a!important}
html.tp.tp-v4 body[data-rd-kind="house"] .tp-page-intro{background:#34473a!important}
html.tp.tp-v4 body[data-rd-kind="library"] .tp-page-intro{background:#203b34!important}
html.tp.tp-v4 body[data-rd-kind="service"] .tp-glass{background:linear-gradient(145deg,#263d40,#1d3135)!important}
html.tp.tp-v4 body[data-rd-kind="house"] .tp-glass{background:linear-gradient(145deg,#354c3d,#2a3e34)!important}
html.tp.tp-v4 body[data-rd-kind="library"] .tp-glass{background:linear-gradient(145deg,#29483d,#203b34)!important}

/* Remove the last legacy bright blues found by the visual scan. */
html.tp.tp-v4 body #map-btn{background:linear-gradient(135deg,#3f624f,#31493f)!important;border-color:rgba(240,204,123,.35)!important;color:#fff5df!important}
html.tp.tp-v4 body .market-day.today{background:rgba(240,204,123,.14)!important;border-color:rgba(240,204,123,.28)!important;color:#fff4d6!important}

/* Custom v5 imagery gets the correct crop. */
html.tp.tp-v4 body[data-tp-section="regole"] .tp-intro-photo,
html.tp.tp-v4 body[data-tp-section="soggiorno"] .tp-intro-photo{background-position:center 56%!important}
html.tp.tp-v4 body[data-tp-section="numeri-utili"] .tp-intro-photo{background-position:center 54%!important}
html.tp.tp-v4 body[data-tp-section="contatti"] .tp-intro-photo{background-position:center 56%!important}
html.tp.tp-v4 body[data-tp-section="libreria"] .tp-intro-photo{background-position:center!important}
/* v6 home cards use the new purpose-built imagery. */
html.tp.tp-v4 body.home-page .tp-primary-card.rd-house-photo-pending{
  background:linear-gradient(180deg,rgba(0,24,34,.02),rgba(0,24,34,.72)),url('/guest/assets/images/ai-generated-v44/casa-premium.jpg') center/cover!important;
}
html.tp.tp-v4 body.home-page .tp-primary-card.rd-essentials{
  background:linear-gradient(180deg,rgba(0,24,34,.02),rgba(0,24,34,.72)),url('/guest/assets/images/ai-generated-v44/utilita-premium.jpg') center/cover!important;
}
/* v6 cleanup of the last legacy green card surfaces. */
html.tp.tp-v4 body :is(.mall,.religious-card){
  background:linear-gradient(145deg,#0d4149,#0a343d)!important;
  border-color:rgba(129,210,218,.22)!important;
  color:#f8fbf8!important;
  box-shadow:0 12px 28px rgba(0,21,31,.18)!important;
}
html.tp.tp-v4 body.tp-library .ex-card{
  background:linear-gradient(145deg,#29483d,#203b34)!important;
  border-color:rgba(223,234,220,.18)!important;
  color:#fff8e8!important;
}
html.tp.tp-v4 body.tp-library .library-menu>.ex-card[href*="/libri/"]{
  background:linear-gradient(180deg,rgba(7,24,20,.02),rgba(7,24,20,.78)),linear-gradient(135deg,#315f4f,#203b34) center/cover!important;
}
html.tp.tp-v4 body.tp-library .library-menu>.ex-card[href*="/edicola/"]{
  background:linear-gradient(180deg,rgba(7,24,20,.02),rgba(7,24,20,.78)),url('/guest/libreria/edicola/previews/quotidiani/italia/2026-09-23-il-sole-24-ore-6aa69fa0d1f2.jpg') center/cover!important;
}
html.tp.tp-v4 body.tp-library .library-menu>.ex-card[href*="/guide"]{
  background:linear-gradient(180deg,rgba(7,24,20,.02),rgba(7,24,20,.78)),linear-gradient(135deg,#315f4f,#203b34) center/cover!important;
}
html.tp.tp-v4 body.tp-library .library-menu>.ex-card strong{color:#fff!important;text-shadow:0 2px 10px rgba(0,0,0,.55)!important}
html.tp.tp-v4 body.tp-library[data-tp-section="libreria"] .ex-card[href*="quotidiani"]{
  background:linear-gradient(180deg,rgba(8,27,22,.10),rgba(8,27,22,.72)),url('/guest/libreria/edicola/previews/quotidiani/italia/2026-09-23-il-sole-24-ore-6aa69fa0d1f2.jpg') center 18%/cover!important;
}
html.tp.tp-v4 body.tp-library[data-tp-section="libreria"] .ex-card[href*="riviste"]{
  background:linear-gradient(180deg,rgba(8,27,22,.10),rgba(8,27,22,.72)),url('/guest/libreria/edicola/previews/riviste/italia/2026-09-23-vanity-fair-italia-815dadea1a57.jpg') center 18%/cover!important;
}
/* Destination list cards: remove the final legacy green fill. */
html.tp.tp-v4 body :is(.beach-card,.place-card,.act){
  background:linear-gradient(145deg,#0d4149,#0a343d)!important;
  border-color:rgba(129,210,218,.22)!important;
  color:#f8fbf8!important;
  box-shadow:0 12px 28px rgba(0,21,31,.18)!important;
}
/* Editorial photography v7: shared light, restrained surfaces and legible crops. */
html.tp.tp-v4 body .rd-home-stage{background-image:linear-gradient(180deg,rgba(10,35,32,.13),rgba(10,35,32,.20) 58%,#102825),url('/guest/assets/images/ai-generated-v44/casa-premium.jpg')!important;background-position:center 30%!important}
html.tp.tp-v4 body .tp-primary-card,
html.tp.tp-v4 body.home-page .tp-primary-card.rd-house-photo-pending,
html.tp.tp-v4 body.home-page .tp-primary-card.rd-essentials{background:linear-gradient(180deg,transparent 20%,rgba(9,28,26,.25) 43%,rgba(9,28,26,.92) 100%),var(--tp-photo) center/cover!important;backdrop-filter:none!important;border-color:rgba(231,219,184,.45)!important}
html.tp.tp-v4 body .tp-intro-photo::after{background:linear-gradient(180deg,rgba(10,28,25,0) 18%,rgba(10,28,25,.20) 48%,rgba(10,28,25,.88) 100%)!important}
html.tp.tp-v4 body .tp-intro-photo{background-position:center 52%!important}
html.tp.tp-v4 body .tp-page-intro{min-height:360px!important}
html.tp.tp-v4 body .tp-intro-copy{max-width:760px!important}
html.tp.tp-v4 body.tp-library .library-menu>.ex-card[data-tp-photo],
html.tp.tp-v4 body.tp-library[data-tp-section="libreria"] .ex-card[href*="quotidiani"],
html.tp.tp-v4 body.tp-library[data-tp-section="libreria"] .ex-card[href*="riviste"]{background:linear-gradient(180deg,transparent 15%,rgba(10,28,25,.86)),var(--tp-photo,url('/guest/libreria/edicola/previews/quotidiani/italia/2026-09-23-il-sole-24-ore-6aa69fa0d1f2.jpg')) center/cover!important}
html.tp.tp-v4 body .tp-intro-photo,html.tp.tp-v4 body .tp-experience{filter:saturate(.94) contrast(1.02)!important}
@media(max-width:767px){html.tp.tp-v4 body .tp-page-intro{min-height:285px!important}html.tp.tp-v4 body .tp-primary-card{min-height:184px!important}html.tp.tp-v4 body .tp-primary-card>span{font-size:11px!important}html.tp.tp-v4 body .tp-intro-copy{padding:20px!important}}

/* Editorial v8: category palettes survive the campaign photography layer. */
html.tp.tp-v4 body .tp-page-intro:has(+*) .tp-intro-photo,
html.tp.tp-v4 body .tp-intro-photo{background-position:var(--editorial-focus,50% 46%)!important}
html.tp.tp-v4 body[data-tp-section="numeri-utili"]{--editorial-focus:40% 38%}
html.tp.tp-v4 body[data-tp-section="regole"],html.tp.tp-v4 body[data-tp-section="soggiorno"]{--editorial-focus:65% 48%}
html.tp.tp-v4 body[data-tp-section="ristoranti"]{--editorial-focus:50% 58%}
html.tp.tp-v4 body[data-tp-section="mare"]{--editorial-focus:85% 48%}
html.tp.tp-v4 body[data-tp-section="clima"]{--editorial-focus:50% 38%}
html.tp.tp-v4 body .tp-intro-photo::after{background:linear-gradient(180deg,rgba(6,17,20,.02) 12%,rgba(6,17,20,.12) 36%,rgba(6,17,20,.72) 72%,rgba(6,17,20,.94) 100%)!important}
html.tp.tp-v4 body .tp-intro-copy :is(h1,h2,.cr-title,.lead,.cr-lead,.library-sub){text-shadow:0 2px 12px rgba(0,0,0,.5)}
html.tp.tp-v4 body.home-page .tp-primary-card.rd-house-photo-pending{background-position:65% 48%!important}
html.tp.tp-v4 body.home-page .tp-primary-card.rd-essentials{background-position:65% 45%!important}
html.tp.tp-v4 body.tp-library .library-menu>.ex-card[data-tp-photo]{background:linear-gradient(180deg,rgba(7,24,20,.02) 10%,rgba(7,24,20,.85) 100%),var(--tp-photo) center/cover!important}
html.tp.tp-v4 body[data-rd-kind="service"] :is(.mall,.religious-card,.beach-card,.place-card,.act){background:linear-gradient(145deg,#263d40,#1c3034)!important}
html.tp.tp-v4 body[data-rd-kind="library"] :is(.mall,.religious-card,.beach-card,.place-card,.act){background:linear-gradient(145deg,#29483d,#203b34)!important}
/* Finish category surfaces, including legacy controls and list photography. */
html.tp.tp-v4 body:not(.home-page) :is(.tp-topbar,.tp-dock){background:linear-gradient(120deg,color-mix(in srgb,var(--rd-card) 94%,#e9c985 6%),color-mix(in srgb,var(--rd-bg) 94%,transparent))!important}
html.tp.tp-v4 body[data-rd-kind] :is(input[type=search],input[type=text],input[type=time],textarea,select,.search,.time-input,.choice-modal,.modal-content,.quiz-modal,.quiz-panel,.install-modal-card){background:var(--rd-bg)!important;border-color:var(--rd-line)!important}
html.tp.tp-v4 body[data-rd-kind] :is(.place-quiz,.quiz-result,.market-card,.contact){background:linear-gradient(145deg,color-mix(in srgb,var(--rd-card) 96%,white 4%),var(--rd-card))!important;border-color:var(--rd-line)!important}
html.tp.tp-v4 body[data-rd-kind] :is(.step-number,.step-num){background:color-mix(in srgb,var(--rd-gold) 18%,var(--rd-card))!important;color:var(--rd-text)!important}
html.tp.tp-v4 body[data-rd-kind] :is(.mall,.religious-card,.beach-card,.market-card,.act) img:not(.casa-logo),html.tp.tp-v4 body .place-photo{filter:saturate(.84) contrast(.97)!important}
html.tp.tp-v4 body[data-tp-section="contatti"]{--editorial-focus:50% 8%}
html.tp.tp-v4 body[data-tp-section="shopping"],html.tp.tp-v4 body[data-tp-section="mercati"]{--editorial-focus:50% 12%}
html.tp.tp-v4 body[data-tp-section="ristoranti"]{--editorial-focus:50% 78%}
html.tp.tp-v4 body[data-tp-section="siti-religiosi"]{--editorial-focus:50% 20%}

/* Uniform v10. Important declarations in this explicit layer take precedence
   over the unlayered legacy themes, including page-local ID selectors. */
@layer domhum-system {
 html.tp.tp-v4,html.tp.tp-v4 body {
  --rd-bg:#142b27!important;--rd-card:#203b34!important;--rd-line:rgba(239,242,232,.12)!important;
  --rd-gold:#bdd0bd!important;--rd-text:#f5f4ec!important;--rd-muted:#c2cec5!important;
  --gold:#bdd0bd!important;--accent:#bdd0bd!important;--primary:#416b58!important;
  --tp-gold:#bdd0bd!important;--tp-accent:#bdd0bd!important;
 }
 html.tp.tp-v4 body {background:radial-gradient(ellipse at 85% 0,#29483c 0,transparent 650px),var(--rd-bg)!important;color:var(--rd-text)!important}
 html.tp.tp-v4 body :is(.tp-topbar,.tp-dock,.tp-menu,.tp-weather,.tp-glass,.tp-conditions,.tp-reading-shelf,.cr-card,.info-card,.contact-card,.detail-section,.detail-box,.casa-form-card,.tool-card,.intro-box,.filter-box,.cr-filter-box,.assistant,.planner,.beach-quiz-launch,.stay-item,.box,.step,.contact-box,.cr-notice,.notice,.casa-form,.glass-box,.mall,.religious-card,.beach-card,.market-card,.place-card,.act,.pick,.place-quiz,.quiz-result,.contact,.market-week,.market-day,.cr-step,.cr-feature,.feature,.beach-body,.detail-text,.tip-box,.more-idea,.status-item,.status-box){background:var(--rd-card)!important;border-color:var(--rd-line)!important;box-shadow:0 12px 30px #071a1726!important}
 html.tp.tp-v4 body :is(.ex-card,.card-link):not([data-tp-photo]){background:var(--rd-card)!important;border-color:var(--rd-line)!important}
 html.tp.tp-v4 body :is(button,[role=button],input[type=submit],input[type=button],a[class*="btn"],a[class*="action"],.act-actions a,.place-actions a,.quiz-result-link,.go,.btn,.cr-btn,.cr-filter-btn,.filter-btn,.action,.casa-tool-btn,.pill,.activity-tab,.choice-option,.quiz-option,.quiz-submit,.quiz-reset,.copy-btn,.casa-primary-btn,.casa-secondary-btn,.problem-choice,.cr-back,.back-link,.cr-btn-primary,.chip,.tp-shortcuts a,.tp-dock a,.market-day.today,.chips span){background:#2b4d40!important;background-image:none!important;color:#f5f4ec!important;border-color:rgba(223,234,220,.2)!important;box-shadow:none!important;text-shadow:none!important}
 html.tp.tp-v4 body :is(button,.btn,.cr-btn,.filter-btn,.cr-filter-btn,.activity-tab,.choice-option,.quiz-option,.pill,.chip,.tp-dock a):is(.active,.selected,[aria-pressed=true],[aria-current=page]),html.tp.tp-v4 body :is(.cr-btn-primary,.casa-primary-btn,.quiz-submit,input[type=submit]),html.tp.tp-v4 body .chips input:checked+span{background:#bdd0bd!important;color:#18372b!important;border-color:transparent!important}
 html.tp.tp-v4 body :is(button,[role=button],.btn,.cr-btn,.action,.pill):hover{background:#416b58!important;color:#fff!important}
 html.tp.tp-v4 body :is(a,button,input,select,textarea):focus-visible{outline:2px solid #c2d4c1!important;outline-offset:4px!important}
 html.tp.tp-v4 body :is(input[type=search],input[type=text],input[type=time],textarea,select,.search,.time-input,.choice-modal,.modal-content,.quiz-modal,.quiz-panel,.install-modal-card){background:var(--rd-bg)!important;border-color:var(--rd-line)!important;color:var(--rd-text)!important}
 html.tp.tp-v4 body :is(.glass-bubble,.service-icon,.cr-card-icon,.intro-icon,.card-icon,.utility-icon,.tool-icon,.arrow,.service-chevron,.cr-arrow,.step-number,.step-num,.cr-step-num){background:#ffffff09!important;border-color:#ffffff18!important;color:var(--rd-gold)!important}
 html.tp.tp-v4 body :is(.tp-eyebrow,.tp-kicker,.tp-staging,.tp-brand small,.tp-inline-icon,.tp-icon-wrap){color:var(--rd-gold)!important}
 html.tp.tp-v4 body :is(.cr-tip,.meta32>div,.detail-meta>div,.kv,.fact,.fact-row,.fact32,.log32>div,.see-v32>div,.detail-explain-item,.check-item,.pack-item,.rating-item,.boat-guide-card,.cr-house-tip,.house-tip,.tip,.contact-info){background:#264438!important;border-color:var(--rd-line)!important;color:var(--rd-text)!important}
 /* Photography has only radius and a soft outer shadow. No inset keylines. */
 html.tp.tp-v4 body :is(.tp-page-intro,.tp-primary-card,.tp-experience,[data-tp-photo],.beach-card,.place-card,.act,.mall,.market-card,.religious-card,.tp-cover-card,.tp-shelf-book,.book,.publication,.edition){border:0!important;box-shadow:0 10px 28px #06171326!important}
 html.tp.tp-v4 body :is(img:not(.casa-logo),.tp-intro-photo,.beach-photo,.place-photo,.act-photo,.market-photo,.religious-photo,.mall-photo){border:0!important;box-shadow:none!important}
 html.tp.tp-v4 body :is(.tp-page-intro,.tp-primary-card,.tp-experience,[data-tp-photo],.beach-card,.place-card,.act,.mall,.market-card,.religious-card)::before{border:0!important;box-shadow:none!important}
 html.tp.tp-v4 body .tp-page-intro{background:var(--rd-card)!important}
 html.tp.tp-v4 body .rd-home-stage{background-image:linear-gradient(180deg,#142b2710,#142b2730 58%,#142b27),url('/guest/assets/images/ai-generated-v44/casa-premium.jpg')!important}
}

@layer domhum-system {html.tp.tp-v4 body :is(.tp-section-head a,.tp-marine-status,.casa-version,.version,.tp-rating){color:var(--rd-gold)!important}}

@layer domhum-system {html.tp.tp-v4 body :is(.beach-badge,.status,.act-chip){background:#2b4d40!important;border-color:var(--rd-line)!important;color:var(--rd-text)!important}html.tp.tp-v4 body :is(.religious-photo,.beach-photo,.place-photo,.act-photo,.market-photo,.mall-photo){background-color:var(--rd-card)!important}}
/* ===== v11 cleanup: install flow, place palette, countries and guide consistency ===== */

/* Install action belongs in the menu, not floating over content/dock. */
html.tp.tp-v4 body #footer-install-btn.tp-install-action{
  position:static!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;
  width:100%!important;min-height:48px!important;margin:10px 0 12px!important;padding:11px 14px!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;
  border-radius:15px!important;background:#2b4d40!important;background-image:none!important;
  color:#f5f4ec!important;border:1px solid rgba(223,234,220,.18)!important;
  box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  font-weight:700!important;font-size:.9rem!important;
}
html.tp.tp-v4 body #footer-install-btn.tp-install-action .tp-inline-icon{
  width:20px!important;height:20px!important;color:#bdd0bd!important;
}
html.tp.tp-v4 body #footer-install-btn.tp-install-action:hover{background:#416b58!important}

/* PWA / iOS tutorial uses exactly the shared portal palette. */
html.tp.tp-v4 body :is(#pwa-welcome-modal,#ios-install-modal){
  background:rgba(5,18,16,.76)!important;
  backdrop-filter:blur(18px) saturate(1.15)!important;-webkit-backdrop-filter:blur(18px) saturate(1.15)!important;
}
html.tp.tp-v4 body :is(#pwa-welcome-modal,#ios-install-modal) .modal-card{
  background:linear-gradient(145deg,#203b34,#172f2a)!important;
  border:1px solid rgba(223,234,220,.18)!important;
  box-shadow:0 28px 70px rgba(2,12,10,.48)!important;
  border-radius:24px!important;color:#f5f4ec!important;
}
html.tp.tp-v4 body :is(#pwa-welcome-modal,#ios-install-modal) .ios-step-box{
  background:#18332c!important;border:1px solid rgba(223,234,220,.12)!important;color:#d9e3dd!important;
}
html.tp.tp-v4 body :is(#pwa-welcome-modal,#ios-install-modal) :is(.ios-step-icon,.ios-step-icon-nobox){
  background:rgba(189,208,189,.09)!important;border-color:rgba(189,208,189,.22)!important;color:#bdd0bd!important;
}
html.tp.tp-v4 body :is(#pwa-welcome-modal,#ios-install-modal) svg{stroke:#bdd0bd!important}
html.tp.tp-v4 body :is(#pwa-welcome-modal,#ios-install-modal) .modal-close-btn{
  background:#bdd0bd!important;color:#18372b!important;border:0!important;box-shadow:none!important;
}
html.tp.tp-v4 body #ios-install-modal .bouncing-bottom-arrow{color:#bdd0bd!important;filter:none!important}

/* Remove the last navy island inside place detail pages. */
html.tp.tp-v4 body .facts-v32,
html.tp.tp-v4 body .tp-place-facts{
  background:#203b34!important;border:1px solid rgba(223,234,220,.12)!important;
  box-shadow:0 10px 28px rgba(5,20,16,.16)!important;
}
html.tp.tp-v4 body .facts-v32>div{
  background:#29473d!important;border-color:rgba(223,234,220,.14)!important;color:#f5f4ec!important;
}
html.tp.tp-v4 body .facts-v32 :is(strong,b,span,p){color:inherit!important}

/* Country selection: editorial identity without turning each country into a different theme. */
html.tp.tp-v4 body.tp-library #countries .tp-country-card{
  position:relative!important;min-height:128px!important;padding:18px!important;
  background:linear-gradient(145deg,#263f37,#1d342e)!important;
  border:1px solid rgba(223,234,220,.12)!important;box-shadow:none!important;
}
html.tp.tp-v4 body.tp-library #countries .tp-country-card .glass-bubble{
  display:grid!important;place-items:center!important;width:42px!important;height:42px!important;min-width:42px!important;
  background:rgba(255,255,255,.055)!important;border:1px solid rgba(223,234,220,.12)!important;border-radius:13px!important;
  font-size:0!important;overflow:visible!important;
}
html.tp.tp-v4 body.tp-library #countries .tp-country-card .glass-bubble::before{
  content:attr(data-flag);font-size:21px!important;line-height:1!important;filter:saturate(.88);
}
html.tp.tp-v4 body.tp-library #countries .tp-country-card .glass-bubble::after{
  content:attr(data-code);position:absolute;left:52px;top:19px;
  font:700 8px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text",sans-serif;letter-spacing:.12em;
  color:#bdd0bd!important;
}
html.tp.tp-v4 body.tp-library #countries .tp-country-card strong{margin-top:16px!important;color:#f5f4ec!important}
html.tp.tp-v4 body.tp-library #countries .tp-country-card .ex-meta{color:#c2cec5!important}
html.tp.tp-v4 body.tp-library #countries .tp-country-card .arrow{
  background:rgba(255,255,255,.04)!important;border-color:rgba(223,234,220,.12)!important;color:#bdd0bd!important;
}
@media(max-width:767px){
  html.tp.tp-v4 body.tp-library #countries .tp-country-card{min-height:122px!important;padding:15px!important}
  html.tp.tp-v4 body.tp-library #countries .tp-country-card .glass-bubble{width:38px!important;height:38px!important;min-width:38px!important}
  html.tp.tp-v4 body.tp-library #countries .tp-country-card .glass-bubble::before{font-size:19px!important}
  html.tp.tp-v4 body.tp-library #countries .tp-country-card .glass-bubble::after{left:48px;top:18px}
}

/* Keep image cards clean: radius + shadow only, no visible photographic keyline. */
html.tp.tp-v4 body :is(.tp-primary-card,.tp-experience,.tp-page-intro,.ex-card[data-tp-photo],.beach-card,.place-card,.act,.mall,.market-card,.religious-card){
  border-color:transparent!important;
  outline:0!important;
}
/* v11.1 remove the last legacy yellow accent from place tips. */
html.tp.tp-v4 body .cr-house-tip::before,
html.tp.tp-v4 body .house-tip::before,
html.tp.tp-v4 body .tip-box::before{
  background:#bdd0bd!important;
}
html.tp.tp-v4 body :is(.cr-house-tip,.house-tip,.tip-box) strong{
  color:#dbe7dc!important;
}
/* v11.2 final legacy blue cleanup. */
html.tp.tp-v4 body #uber-btn,
html.tp.tp-v4 body .cr-btn.cr-btn-primary.wide{
  border-color:rgba(223,234,220,.20)!important;
}
html.tp.tp-v4 body .reassurance{
  border-color:rgba(223,234,220,.18)!important;
  background:#203b34!important;
}
/* v12.1 country flags inside International sections. */
html.tp.tp-v4 body.tp-library .glass-bubble.tp-flag-bubble{
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(223,234,220,.12)!important;
  font-size:20px!important;
  line-height:1!important;
  color:inherit!important;
  overflow:visible!important;
}
html.tp.tp-v4 body.tp-library .glass-bubble.tp-flag-bubble::before,
html.tp.tp-v4 body.tp-library .glass-bubble.tp-flag-bubble::after{
  content:none!important;
}
/* v15 — visible install action + legacy photo grading */
html.tp.tp-v4 body .tp-install-topbar{
  display:grid!important;
  place-items:center!important;
  width:40px!important;height:40px!important;min-width:40px!important;
  border-radius:13px!important;
  background:#29473d!important;
  border:1px solid rgba(223,234,220,.16)!important;
  color:#dfe9e1!important;
  box-shadow:none!important;
}
html.tp.tp-v4 body .tp-install-topbar .tp-icon{
  width:18px!important;height:18px!important;
}
html.tp.tp-v4 body .tp-install-topbar:hover{
  background:#365c4c!important;
}
html.tp.tp-v4 body .tp-page-intro .tp-legacy-photo{
  background-color:rgba(30,76,60,.18)!important;
  background-blend-mode:soft-light!important;
}
html.tp.tp-v4 body .tp-page-intro .tp-legacy-photo::after{
  background:
    linear-gradient(180deg,rgba(8,24,21,.03) 12%,rgba(9,36,29,.18) 50%,rgba(8,27,24,.80) 100%)!important;
}
html.tp.tp-v4 body a.card-link[data-tp-photo],
html.tp.tp-v4 body .ex-card[data-tp-photo]{
  background-color:rgba(29,70,57,.10)!important;
  background-blend-mode:soft-light,normal!important;
}
@media(max-width:767px){
  html.tp.tp-v4 body .tp-install-topbar{
    width:40px!important;height:40px!important;min-width:40px!important;flex:0 0 40px!important;
  }
}
/* v16 — reserve photography for editorial content, not utility buttons */
html.tp.tp-v4 body a.tp-utility-glass-card{
  background:linear-gradient(145deg,#29473d,#203b34)!important;
  background-image:none!important;
  border:1px solid rgba(223,234,220,.14)!important;
  box-shadow:none!important;
  min-height:118px!important;
}
html.tp.tp-v4 body a.tp-utility-glass-card::before,
html.tp.tp-v4 body a.tp-utility-glass-card::after{
  background-image:none!important;
}
html.tp.tp-v4 body a.tp-utility-glass-card :is(strong,span){
  text-shadow:none!important;
}
html.tp.tp-v4 body a.tp-utility-glass-card .glass-bubble{
  background:rgba(255,255,255,.045)!important;
  border-color:rgba(223,234,220,.12)!important;
}
@media(max-width:767px){
  html.tp.tp-v4 body a.tp-utility-glass-card{min-height:112px!important}
}
/* v19 — make Install unmistakable; show every country flag */
html.tp.tp-v4 body .tp-topbar>.tp-icon-button.tp-install-topbar{
  width:auto!important;
  min-width:76px!important;
  height:44px!important;
  flex:0 0 auto!important;
  padding:0 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  border:1px solid rgba(223,234,220,.16)!important;
  border-radius:13px!important;
  background:#29473d!important;
  color:#f5f4ec!important;
}
html.tp.tp-v4 body .tp-topbar>.tp-icon-button.tp-install-topbar .tp-icon{
  width:17px!important;height:17px!important;flex:0 0 17px!important;
}
html.tp.tp-v4 body .tp-topbar>.tp-icon-button.tp-install-topbar .tp-install-label{
  display:inline!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:750!important;
  letter-spacing:.01em!important;
  white-space:nowrap!important;
}
html.tp.tp-v4 body.tp-library #countries .tp-country-card .glass-bubble.tp-flag-bubble{
  font-size:20px!important;
  color:initial!important;
  text-indent:0!important;
}
html.tp.tp-v4 body.tp-library #countries .tp-country-card .glass-bubble.tp-flag-bubble::before{
  content:none!important;
}
@media(max-width:430px){
  html.tp.tp-v4 body .tp-topbar{gap:4px!important}
  html.tp.tp-v4 body .tp-topbar>a.tp-brand{font-size:11px!important;gap:3px!important}
  html.tp.tp-v4 body .tp-topbar>a.tp-brand>img.casa-logo{
    width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;flex-basis:48px!important;
  }
  html.tp.tp-v4 body .tp-brand small{display:none!important}
  html.tp.tp-v4 body .tp-topbar>.tp-icon-button.tp-install-topbar{
    min-width:72px!important;
    padding:0 8px!important;
  }
}
@media(max-width:359px){
  html.tp.tp-v4 body .tp-topbar>.tp-icon-button.tp-install-topbar{
    min-width:42px!important;width:42px!important;padding:0!important;
  }
  html.tp.tp-v4 body .tp-topbar>.tp-icon-button.tp-install-topbar .tp-install-label{display:none!important}
}
/* v20 — install-first mobile gate */
html.tp-install-required,
html.tp-install-required body{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
html.tp-install-required body>#pwa-welcome-modal,
html.tp-install-required body>#ios-install-modal{
  display:none!important;
}
.tp-install-gate{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  padding:calc(env(safe-area-inset-top) + 18px) 18px calc(env(safe-area-inset-bottom) + 18px);
  background:
    radial-gradient(circle at 82% 8%,rgba(88,132,105,.18),transparent 32%),
    linear-gradient(180deg,rgba(8,25,22,.98),rgba(12,35,29,.99));
  backdrop-filter:blur(22px) saturate(1.12);
  -webkit-backdrop-filter:blur(22px) saturate(1.12);
}
.tp-install-gate-card{
  width:min(100%,430px);
  max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 34px);
  overflow:auto;
  padding:24px 20px 20px;
  border-radius:28px;
  background:
    linear-gradient(145deg,rgba(49,78,66,.98),rgba(24,49,42,.99));
  border:1px solid rgba(223,234,220,.16);
  box-shadow:0 32px 90px rgba(0,0,0,.40),inset 0 1px rgba(255,255,255,.08);
  color:#f5f4ec;
  text-align:center;
}
.tp-install-gate-logo{
  display:block;
  width:82px;
  height:82px;
  object-fit:contain;
  margin:0 auto 12px;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.22));
}
.tp-install-gate-eyebrow{
  margin:0 0 9px;
  font-size:9px;
  line-height:1;
  font-weight:800;
  letter-spacing:.22em;
  color:#c7d8c9;
}
.tp-install-gate h1{
  margin:0;
  color:#fffaf0!important;
  font:700 clamp(32px,9vw,42px)/1.02 Georgia,"Times New Roman",serif!important;
  letter-spacing:-.04em!important;
}
.tp-install-gate-lead{
  max-width:340px;
  margin:13px auto 20px;
  color:#d7e2da;
  font-size:14px;
  line-height:1.5;
}
.tp-install-gate-steps{
  margin-top:4px;
  padding:16px;
  border-radius:20px;
  background:rgba(13,42,35,.72);
  border:1px solid rgba(223,234,220,.11);
  text-align:left;
}
.tp-install-gate-steps>strong{
  display:block;
  margin-bottom:12px;
  color:#fff8e9;
  font-size:13px;
  letter-spacing:.01em;
}
.tp-install-gate ol{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:9px;
}
.tp-install-gate li{
  display:grid;
  grid-template-columns:30px 1fr;
  align-items:center;
  gap:10px;
  min-height:44px;
  color:#e7eee9;
  font-size:13px;
  line-height:1.35;
}
.tp-install-gate li>span{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:10px;
  background:#29473d;
  border:1px solid rgba(223,234,220,.14);
  color:#dce8dd;
  font-size:11px;
  font-weight:800;
}
.tp-install-gate-button{
  width:100%;
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin:5px 0 10px;
  border:0;
  border-radius:15px;
  background:#c7d8c9;
  color:#17352b;
  font:800 14px/1 -apple-system,BlinkMacSystemFont,"SF Pro Text",sans-serif;
  box-shadow:none;
}
.tp-install-gate-button .tp-icon{
  width:19px;
  height:19px;
  stroke-width:1.8;
}
.tp-install-gate-help,
.tp-install-gate-status{
  margin:8px 0 0;
  color:#c9d7ce;
  font-size:11px;
  line-height:1.4;
}
.tp-install-gate-langs{
  display:flex;
  justify-content:center;
  gap:7px;
  margin-top:16px;
}
.tp-install-gate-langs button{
  min-width:44px;
  min-height:36px;
  padding:0 9px;
  border-radius:11px;
  border:1px solid rgba(223,234,220,.13);
  background:rgba(255,255,255,.04);
  color:#eef4ef;
  font-size:10px;
  font-weight:750;
}
.tp-install-gate-langs button:hover{
  background:rgba(255,255,255,.08);
}
@media(max-width:374px){
  .tp-install-gate{
    padding:calc(env(safe-area-inset-top) + 10px) 10px calc(env(safe-area-inset-bottom) + 10px);
  }
  .tp-install-gate-card{
    padding:18px 14px 16px;
    border-radius:22px;
  }
  .tp-install-gate-logo{
    width:66px;
    height:66px;
  }
  .tp-install-gate-lead{
    font-size:13px;
    margin-bottom:15px;
  }
  .tp-install-gate-steps{
    padding:13px;
  }
}
/* v20 — guide categories use four purpose-built editorial photographs */
html.tp.tp-v4 body.tp-library a.card-link[href*="mauritiusCategory="],
html.tp.tp-v4 body.tp-library a.card-link[href*="/libreria/guide-viaggio/"]{
  border-color:transparent!important;
  box-shadow:0 16px 38px rgba(5,20,16,.22)!important;
  background-color:#203b34!important;
  background-blend-mode:normal!important;
}
/* v22 — install gate: clearer, closer to original tutorial UX */
.tp-install-required-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:0 10px;
  margin:0 auto 10px;
  border-radius:999px;
  background:#c7d8c9;
  color:#17352b;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.14em;
}
.tp-install-gate-card{
  text-align:center!important;
}
.tp-install-gate-steps.is-ios{
  display:grid!important;
  gap:9px!important;
  text-align:left!important;
}
.tp-install-gate-steps.is-ios>strong{
  margin-bottom:2px!important;
  font-size:14px!important;
  color:#fffaf0!important;
}
.tp-install-step{
  display:grid;
  grid-template-columns:46px 1fr;
  align-items:center;
  gap:12px;
  min-height:58px;
  padding:10px 12px;
  border-radius:15px;
  background:rgba(0,0,0,.20);
  border:1px solid rgba(223,234,220,.11);
}
.tp-install-step-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(199,216,201,.09);
  border:1px solid rgba(199,216,201,.20);
  color:#dce8dd;
}
.tp-install-step-icon .tp-icon{
  width:21px;
  height:21px;
  stroke:#dce8dd!important;
  stroke-width:1.9!important;
}
.tp-install-step-icon.is-share{
  animation:tpInstallFloat 1.35s ease-in-out infinite;
}
.tp-install-step-icon.is-add{
  background:rgba(199,216,201,.14);
}
.tp-install-step-icon.is-done{
  background:#c7d8c9;
  color:#17352b;
  font-size:20px;
  font-weight:900;
}
.tp-install-step>div{
  min-width:0;
}
.tp-install-step b{
  display:block;
  margin-bottom:2px;
  color:#c7d8c9;
  font-size:10px;
  line-height:1;
  letter-spacing:.08em;
}
.tp-install-step p{
  margin:0;
  color:#f3f6f3;
  font-size:13px;
  line-height:1.35;
  font-weight:650;
}
.tp-install-hint{
  margin:-2px auto -4px;
  color:#c7d8c9;
  text-align:center;
  font-size:28px;
  line-height:1;
  animation:tpInstallBounce 1.2s ease-in-out infinite;
}
@keyframes tpInstallFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}
@keyframes tpInstallBounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(6px)}
}
@media(max-width:374px){
  .tp-install-step{
    grid-template-columns:40px 1fr;
    min-height:52px;
    padding:8px 10px;
    gap:9px;
  }
  .tp-install-step-icon{
    width:36px;
    height:36px;
  }
  .tp-install-step p{
    font-size:12px;
  }
}
/* v23 — compact card icons on iPhone */
@media(max-width:767px){
  html.tp.tp-v4 body :is(.card-link,.ex-card,.tp-country-card)>.glass-bubble,
  html.tp.tp-v4 body :is(.card-link,.ex-card)>.service-icon,
  html.tp.tp-v4 body :is(.card-link,.ex-card)>.cr-card-icon{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    flex:0 0 30px!important;
    border-radius:9px!important;
    font-size:14px!important;
  }
  html.tp.tp-v4 body :is(.card-link,.ex-card,.tp-country-card)>.glass-bubble :is(.tp-icon,svg),
  html.tp.tp-v4 body :is(.card-link,.ex-card)>.service-icon :is(.tp-icon,svg),
  html.tp.tp-v4 body :is(.card-link,.ex-card)>.cr-card-icon :is(.tp-icon,svg){
    width:14px!important;
    height:14px!important;
  }

  html.tp.tp-v4 body.tp-library #countries .tp-country-card .glass-bubble,
  html.tp.tp-v4 body.tp-library #countries .tp-country-card .glass-bubble.tp-flag-bubble,
  html.tp.tp-v4 body.tp-library .glass-bubble.tp-flag-bubble{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    flex:0 0 32px!important;
    border-radius:10px!important;
    font-size:17px!important;
  }
  html.tp.tp-v4 body.tp-library #countries .tp-country-card .glass-bubble::before{
    font-size:17px!important;
  }

  html.tp.tp-v4 body :is(.card-link,.ex-card,.tp-country-card)>.arrow{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    flex:0 0 34px!important;
  }
  html.tp.tp-v4 body :is(.card-link,.ex-card,.tp-country-card)>.arrow :is(.tp-icon,svg){
    width:13px!important;
    height:13px!important;
  }
}
/* v24 — premium refinement pass: lighter dock, denser utilities, cleaner library */
@media(max-width:767px){
  html.tp.tp-v4 body{
    padding-bottom:calc(94px + env(safe-area-inset-bottom))!important;
  }

  /* Bottom navigation: same function, less visual weight. */
  html.tp.tp-v4 body .tp-dock{
    width:calc(100% - 22px)!important;
    max-width:420px!important;
    bottom:calc(9px + env(safe-area-inset-bottom))!important;
    gap:2px!important;
    padding:4px!important;
    border-radius:19px!important;
    border:1px solid rgba(223,234,220,.15)!important;
    background:rgba(28,62,52,.86)!important;
    box-shadow:0 10px 28px rgba(3,19,15,.24)!important;
    backdrop-filter:blur(26px) saturate(1.12)!important;
    -webkit-backdrop-filter:blur(26px) saturate(1.12)!important;
  }
  html.tp.tp-v4 body .tp-dock a{
    min-height:45px!important;
    gap:2px!important;
    border-radius:14px!important;
    font-size:8px!important;
    color:#e7eee9!important;
  }
  html.tp.tp-v4 body .tp-dock svg{
    width:16px!important;
    height:16px!important;
  }
  html.tp.tp-v4 body .tp-dock a[aria-current=page]{
    background:#c7d8c9!important;
    color:#17352b!important;
    border-color:transparent!important;
  }

  /* La Casa: utility rows should read as controls, not giant empty cards. */
  html.tp.tp-v4 body.house-page a.casa-menu-button.tp-utility-glass-card{
    min-height:82px!important;
    padding:12px 14px!important;
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr) 28px!important;
    align-items:center!important;
    gap:11px!important;
    border-radius:18px!important;
  }
  html.tp.tp-v4 body.house-page a.casa-menu-button .service-icon{
    margin:0!important;
    width:30px!important;height:30px!important;min-width:30px!important;
  }
  html.tp.tp-v4 body.house-page a.casa-menu-button .service-copy{
    min-width:0!important;
    align-self:center!important;
  }
  html.tp.tp-v4 body.house-page a.casa-menu-button .service-title{
    font-size:15px!important;
    line-height:1.2!important;
  }
  html.tp.tp-v4 body.house-page a.casa-menu-button .service-chevron{
    position:static!important;
    width:28px!important;height:28px!important;min-width:28px!important;
    margin:0!important;
  }

  /* Guide practical resources: compact, readable and clearly secondary to editorial cards. */
  html.tp.tp-v4 body.guide-page a.card-link:not([data-tp-photo]){
    min-height:104px!important;
    padding:12px 13px!important;
    gap:8px!important;
    border-radius:17px!important;
  }
  html.tp.tp-v4 body.guide-page a.card-link:not([data-tp-photo]) .service-title{
    font-size:13px!important;
    line-height:1.18!important;
  }
  html.tp.tp-v4 body.guide-page a.card-link:not([data-tp-photo]) small{
    font-size:10px!important;
    line-height:1.28!important;
  }
  html.tp.tp-v4 body.guide-page a.card-link:not([data-tp-photo]) .service-icon{
    width:28px!important;height:28px!important;min-width:28px!important;
    margin:0!important;
  }
  html.tp.tp-v4 body.guide-page a.card-link:not([data-tp-photo]) .service-chevron{
    width:27px!important;height:27px!important;min-width:27px!important;
  }

  /* More breathing room before the editorial guide categories. */
  html.tp.tp-v4 body.guide-page .mauritius-category-title,
  html.tp.tp-v4 body.guide-page h2,
  html.tp.tp-v4 body.guide-page .section-title{
    scroll-margin-top:92px;
  }
}

/* Biblioteca: Libri / Edicola / Guide must have three distinct visuals. */
html.tp.tp-v4 body.library-main-page .library-menu>.ex-card[href*="/libreria/guide/"]::before{
  background-image:url('/guest/assets/images/editorial-v8/guides.webp')!important;
}

/* Small hierarchy polish across the portal. */
html.tp.tp-v4 body .tp-staging{
  opacity:.58!important;
  letter-spacing:.18em!important;
}
html.tp.tp-v4 body .tp-page-intro,
html.tp.tp-v4 body .tp-primary-card,
html.tp.tp-v4 body .tp-experience{
  box-shadow:0 18px 42px rgba(4,20,17,.20)!important;
}
/* v24.1 — Biblioteca three-card visual separation */
html.tp.tp-v4 body.library-main-page .library-menu>.ex-card[href*="/libreria/libri/"]{
  background:linear-gradient(180deg,rgba(7,24,20,.03),rgba(7,24,20,.84)),url('/guest/assets/images/editorial-v8/books.webp') center/cover!important;
}
html.tp.tp-v4 body.library-main-page .library-menu>.ex-card[href*="/libreria/edicola/"]{
  background:linear-gradient(180deg,rgba(7,24,20,.03),rgba(7,24,20,.84)),url('/guest/assets/images/editorial-v8/newspapers.webp') center/cover!important;
}
html.tp.tp-v4 body.library-main-page .library-menu>.ex-card[href*="/libreria/guide/"]{
  background:linear-gradient(180deg,rgba(7,24,20,.03),rgba(7,24,20,.84)),url('/guest/assets/images/editorial-v8/guides.webp') center/cover!important;
}
/* v26 — Paesi Quotidiani/Riviste più compatti su iPhone */
@media(max-width:767px){
  html.tp.tp-v4 body.tp-library #countries .tp-country-card{
    min-height:104px!important;
    padding:12px!important;
    border-radius:17px!important;
  }
  html.tp.tp-v4 body.tp-library #countries .tp-country-card strong{
    font-size:16px!important;
    line-height:1.12!important;
    margin-top:10px!important;
  }
  html.tp.tp-v4 body.tp-library #countries .tp-country-card .ex-meta{
    font-size:11px!important;
    line-height:1.15!important;
  }
  html.tp.tp-v4 body.tp-library #countries .tp-country-card .glass-bubble,
  html.tp.tp-v4 body.tp-library #countries .tp-country-card .glass-bubble.tp-flag-bubble{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    flex:0 0 28px!important;
    border-radius:9px!important;
    font-size:15px!important;
  }
  html.tp.tp-v4 body.tp-library #countries .tp-country-card .glass-bubble::before{
    font-size:15px!important;
  }
  html.tp.tp-v4 body.tp-library #countries .tp-country-card>.arrow{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    flex:0 0 30px!important;
  }
  html.tp.tp-v4 body.tp-library #countries .tp-country-card>.arrow :is(.tp-icon,svg){
    width:12px!important;
    height:12px!important;
  }
}
/* v27 — restaurant grid polish, PADI icon, footer clearance, legacy photo harmonization */

/* Restaurant category cards: one visual system, no accidental highlighted card. */
html.tp.tp-v4 body[data-tp-section="ristoranti"] .restaurant-ex-grid .restaurant-ex-card{
  background:#2b4d40!important;
  background-image:none!important;
  border-color:rgba(223,234,220,.15)!important;
  box-shadow:none!important;
}
html.tp.tp-v4 body[data-tp-section="ristoranti"] .restaurant-ex-grid .restaurant-ex-card:is(:hover,:focus,:active){
  background:#315947!important;
  background-image:none!important;
  border-color:rgba(223,234,220,.22)!important;
}
@media(max-width:767px){
  html.tp.tp-v4 body[data-tp-section="ristoranti"] .restaurant-ex-grid .restaurant-ex-card:last-child:nth-child(odd){
    grid-column:1/-1!important;
    min-height:88px!important;
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr) 30px!important;
    align-items:center!important;
    gap:12px!important;
    padding:13px 15px!important;
  }
  html.tp.tp-v4 body[data-tp-section="ristoranti"] .restaurant-ex-grid .restaurant-ex-card:last-child:nth-child(odd)>.glass-bubble{
    margin:0!important;
  }
  html.tp.tp-v4 body[data-tp-section="ristoranti"] .restaurant-ex-grid .restaurant-ex-card:last-child:nth-child(odd)>strong{
    margin:0!important;
    align-self:center!important;
  }
  html.tp.tp-v4 body[data-tp-section="ristoranti"] .restaurant-ex-grid .restaurant-ex-card:last-child:nth-child(odd)>.arrow{
    position:static!important;
    margin:0!important;
  }

  /* Ensure footer is never hidden under the floating navigation. */
  html.tp.tp-v4 body :is(footer,.cr-footer){
    margin-bottom:72px!important;
  }
}

/* PADI special collection: dedicated diving-mask line icon, no generic book icon. */
html.tp.tp-v4 body.tp-library .tp-padi-card{
  background:#203b34!important;
  background-image:none!important;
  border-color:rgba(223,234,220,.14)!important;
}
html.tp.tp-v4 body.tp-library .tp-padi-card .tp-padi-bubble{
  display:grid!important;
  place-items:center!important;
  color:#dbe8df!important;
}
html.tp.tp-v4 body.tp-library .tp-padi-card .tp-padi-bubble::before{
  content:"";
  display:block;
  width:18px;
  height:18px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M5 9c0-2 1.3-3 3.2-3h7.6C17.7 6 19 7 19 9v2.5c0 2.2-1.3 3.5-3.3 3.5h-1.9L12 13.2 10.2 15H8.3C6.3 15 5 13.7 5 11.5V9Zm0 0H3m16 0h2m-12 0h2m2 0h2M19 6h2v8a4 4 0 0 1-4 4h-1'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M5 9c0-2 1.3-3 3.2-3h7.6C17.7 6 19 7 19 9v2.5c0 2.2-1.3 3.5-3.3 3.5h-1.9L12 13.2 10.2 15H8.3C6.3 15 5 13.7 5 11.5V9Zm0 0H3m16 0h2m-12 0h2m2 0h2M19 6h2v8a4 4 0 0 1-4 4h-1'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Legacy photographic cards get the same green editorial grading as the new campaign. */
html.tp.tp-v4 body .tp-legacy-visual{
  background-color:rgba(31,78,63,.18)!important;
  background-blend-mode:soft-light,normal!important;
  box-shadow:0 16px 36px rgba(5,20,16,.18)!important;
  border-color:transparent!important;
}
/* v29 — remove remaining legacy blue panels shown on iPhone; keep one green/gold visual language */

/* Nearby: location helper follows the same service-card treatment as Contacts. */
html.tp.tp-v4 body[data-tp-section="vicino"] .tool-hero{
  background:linear-gradient(145deg,#2b5547,#23473d)!important;
  background-image:linear-gradient(145deg,#2b5547,#23473d)!important;
  border:1px solid rgba(229,201,140,.24)!important;
  box-shadow:0 12px 25px rgba(0,28,35,.12)!important;
}

/* Activity details: remove the old navy glass slab behind the route rows. */
html.tp.tp-v4 body[data-tp-section="attivita"] .log32{
  background:#173b33!important;
  background-image:none!important;
  border:1px solid rgba(229,201,140,.18)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html.tp.tp-v4 body[data-tp-section="attivita"] .log32>div{
  background:#264438!important;
  background-image:none!important;
  border-color:rgba(239,242,232,.12)!important;
}

/* Useful numbers / consulates: replace all old navy detail boxes with the house green. */
html.tp.tp-v4 body[data-tp-section="numeri-utili"] .details{
  background:#173b33!important;
  background-image:none!important;
  border:1px solid rgba(229,201,140,.20)!important;
  box-shadow:none!important;
  color:var(--rd-text)!important;
}

/* Catch the remaining old blue interactive surfaces without affecting photographic cards. */
html.tp.tp-v4 body :is(.choice-question,.explore-start-here,.casa-page-questionnaire,.weather-live,.cr-notice,.house-tip){
  background:#173b33!important;
  background-image:none!important;
  border-color:rgba(229,201,140,.22)!important;
  box-shadow:none!important;
}
html.tp.tp-v4 body :is(.choice-submit,.choice-result a,.detail-actions a,.planner-submit,.casa-question-open,.casa-question-form>button,.casa-question-result button,.casa-question-result a){
  background:#e8c47d!important;
  background-image:none!important;
  border-color:#f0d8a6!important;
  color:#173b2e!important;
  box-shadow:none!important;
}
html.tp.tp-v4 body :is(.choice-option input:checked+label,.planner-option input:checked+label,.problem-choice.active,.market-day.today){
  background:#d9b46f!important;
  background-image:none!important;
  border-color:#efd59d!important;
  color:#173b2e!important;
  box-shadow:none!important;
}

/* Contact-page external actions: use a quiet directional affordance instead of a decorative star. */
html.tp.tp-v4 body[data-tp-section="contatti"] .contact .go{
  font-size:0!important;
}
html.tp.tp-v4 body[data-tp-section="contatti"] .contact .go::before{
  content:"›";
  font-size:22px;
  line-height:1;
  color:#e8ddbc;
}
html.tp.tp-v4 body[data-tp-section="contatti"] .emergency .contact .go::before{
  content:"☎";
  font-size:16px;
}
/* v30 — no decorative emoji in premium controls */
html.tp.tp-v4 body[data-tp-section="contatti"] .emergency .contact .go::before{
  content:""!important;
  display:block!important;
  width:17px!important;
  height:17px!important;
  background:#e8ddbc!important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M6.6 3.5 9 3l2.1 5-1.7 1.5a15 15 0 0 0 5.1 5.1L16 13l5 2.1-.5 2.4c-.3 1.6-1.7 2.7-3.3 2.5C10.1 19.2 4.8 13.9 4 6.8 3.8 5.2 5 3.8 6.6 3.5Z'/%3E%3C/svg%3E") center/contain no-repeat!important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M6.6 3.5 9 3l2.1 5-1.7 1.5a15 15 0 0 0 5.1 5.1L16 13l5 2.1-.5 2.4c-.3 1.6-1.7 2.7-3.3 2.5C10.1 19.2 4.8 13.9 4 6.8 3.8 5.2 5 3.8 6.6 3.5Z'/%3E%3C/svg%3E") center/contain no-repeat!important;
}

/* V46 premium generated card photography */
.cr-card-photo{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border:0!important;outline:0!important;border-radius:22px;margin:0 0 14px;box-shadow:0 14px 34px rgba(0,0,0,.16)}
@media(max-width:560px){.cr-card-photo{border-radius:18px;margin-bottom:12px}}

/* V52 final palette guard: no legacy blue accents */
html.tp.tp-v4 body .shopping-check,
html.tp.tp-v4 body .checkout-row input,
html.tp.tp-v4 body input[type="checkbox"],
html.tp.tp-v4 body input[type="radio"]{accent-color:#c7d8c9!important}
