/*
Theme Name: InsideMiamiBeach 2026
Theme URI: https://insidemiamibeach.com
Author: InsideMiamiBeach
Description: Lightweight custom theme — zero jQuery, Lighthouse 100.
Version: 1.4.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: insidemiamibeach
*/

:root {
  --color-primary: #ffcc0d;
  --color-secondary: #6bfffc;
  --color-secondary-deep: #007a77;
  --color-secondary-deep-hover: #006360;
  --color-orange: #ffa500;
  --color-text: #444;
  --color-text-light: #666c78;
  --color-heading: #222;
  --color-white: #fff;
  --color-black: #000;
  --color-border: #e5e5e5;
  --color-bg: #fff;
  --color-bg-alt: #f7f7f7;
  --color-score: rgba(107,255,252,.69);
  --font-title: 'Oswald', sans-serif;
  --font-body: 'Lato', sans-serif;
  --width-site: 1200px;
  --gap: 20px;
  --transition: .25s ease;
}

/* FONTS */
@font-face{font-family:'Oswald';src:url('./css/fonts/Oswald-VariableFont_wght.woff2') format('woff2');font-weight:200 700;font-display:fallback}
@font-face{font-family:'Lato';src:url('./css/fonts/Lato-Regular.woff2') format('woff2');font-weight:400;font-display:fallback}
@font-face{font-family:'Lato';src:url('./css/fonts/Lato-Bold.woff2') format('woff2');font-weight:700;font-display:fallback}
@font-face{font-family:'Lato';src:url('./css/fonts/Lato-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:fallback}

/* RESET */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color var(--transition)}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-family:var(--font-title);font-weight:400;color:var(--color-heading);line-height:1.25}
p+p{margin-top:1em}
button{font-family:inherit;cursor:pointer;border:none;background:none}
.wrapper{max-width:var(--width-site);margin:0 auto;padding:0}

/* ===== TOP STRIP ===== */
.top-strip{background:var(--color-secondary);line-height:1;position: sticky;top: 0;z-index: 9999;}
.top-strip .wrapper{display:flex;justify-content:space-between;align-items:center;height:50px}
.top-strip__nav,.top-strip__nav .menu{display:flex;align-items:center}
.top-strip__nav .menu{gap:0;flex-wrap:wrap}
.top-strip__nav .menu li{position:relative}
.top-strip__nav .menu li a{display:block;padding:0 12px;color:var(--color-black);font-family:var(--font-title);font-size:15px;text-transform:uppercase;letter-spacing:.75px;white-space:nowrap;line-height:50px}
.top-strip__nav .menu li a:hover{background:var(--color-black);color:var(--color-white)}
.top-strip__nav .menu li .sub-menu{display:none;position:absolute;top:100%;left:0;background:var(--color-secondary);border:none;min-width:200px;padding:6px 0;z-index:250;box-shadow:0 6px 20px rgba(0,0,0,.1)}
.top-strip__nav .menu li:hover>.sub-menu{display:block}
.top-strip__nav .menu .sub-menu li a{color:var(--color-black);font-size:14px;padding:8px 16px;font-family:var(--font-title);text-transform:uppercase;letter-spacing:.5px;line-height:1.6}
.top-strip__nav .menu .sub-menu li a:hover{background:var(--color-black);color:var(--color-white)}
.top-strip__social{display:flex;gap:14px;align-items:center;flex-shrink:0}
.top-strip__social a,.top-strip__social .lang-trigger{color:var(--color-black);display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0}
.top-strip__social a:hover,.top-strip__social .lang-trigger:hover{opacity:.6}
.top-strip__social svg{width:20px;height:20px;fill:currentColor;display:block}
.top-strip__social .lang-trigger img{width:20px;height:20px;border-radius:50%;object-fit:cover;display:block}
.top-strip__social a[aria-label="Apple App"] svg{width:26px;height:26px}

/* ===== HEADER ===== */
.site-header{background:var(--color-white);text-align:center;padding:30px 0}
.site-header .wrapper{display:flex;justify-content:center;align-items:center}
.site-header__logo img,.site-header .custom-logo-link img{max-height:110px;width:auto;margin:0 auto}
.site-header__logo-text{font-family:var(--font-title);font-size:1.8rem;color:var(--color-heading);text-transform:uppercase}

/* ===== MAIN MENU ===== */
.main-nav{background:var(--color-white);position:relative;z-index:100}
.main-nav .wrapper{display:flex;justify-content:center;align-items:center;position:relative;border-top:1px solid var(--color-black);border-bottom:1px solid var(--color-black)}
.main-nav__list,.main-nav .menu{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.main-nav__list>li,.main-nav .menu>li{position:relative}
.main-nav__list>li+li::before,.main-nav .menu>li+li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%) rotate(20deg);width:1px;height:18px;background:#aaa}
.main-nav__list>li>a,.main-nav .menu>li>a{display:block;padding:0 20px;font-family:var(--font-title);font-size:21px;color:var(--color-heading);text-transform:uppercase;letter-spacing:1.05px;white-space:nowrap;line-height:63px}
/* Hover: same as active — black bg, cyan text, yellow arrow */
.main-nav__list>li>a:hover,.main-nav .menu>li>a:hover{background:var(--color-heading);color:var(--color-secondary)}
.main-nav__list>li:hover::after,.main-nav .menu>li:hover::after{content:'';position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:9px solid var(--color-primary);z-index:201}
/* Active L1 parent: black bg, cyan text, yellow arrow */
.main-nav__list>li.is-open>a,.main-nav .menu>li.is-open>a{background:var(--color-heading);color:var(--color-secondary)}
.main-nav__list>li.is-open::after,.main-nav .menu>li.is-open::after{content:'';position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:9px solid var(--color-primary);z-index:201}

/* ===== MEGA MENU — L2 orange row (horizontal) ===== */
.main-nav__list>.menu-item-has-children>.sub-menu,
.main-nav .menu>.menu-item-has-children>.sub-menu { display:none; position:absolute; top:100%; left:0; background:var(--color-orange); padding:0; z-index:200; border:none; min-width:auto; list-style:none; }
.main-nav__list>li.is-open>.sub-menu,
.main-nav .menu>li.is-open>.sub-menu{display:flex !important;justify-content:center;align-items:center;flex-wrap:wrap}

/* L2 items */
.main-nav__list>.menu-item-has-children>.sub-menu>li,
.main-nav .menu>.menu-item-has-children>.sub-menu>li{position:relative}
.main-nav__list>.menu-item-has-children>.sub-menu>li>a,
.main-nav .menu>.menu-item-has-children>.sub-menu>li>a{display:block;padding:20px 14px;font-family:var(--font-title);font-size:16px;color:var(--color-black);text-transform:uppercase;letter-spacing:0;white-space:nowrap;line-height:1}
.main-nav__list>.menu-item-has-children>.sub-menu>li>a:hover,
.main-nav .menu>.menu-item-has-children>.sub-menu>li>a:hover{opacity:.6}
/* L2 slash separators — centered between items */
.main-nav__list>.menu-item-has-children>.sub-menu>li+li::before,
.main-nav .menu>.menu-item-has-children>.sub-menu>li+li::before{content:'';position:absolute;left:-1px;top:50%;transform:translateY(-50%) rotate(20deg);width:1px;height:16px;background:rgba(0,0,0,.3)}
/* L2 active/highlighted parent (has children open) */
.main-nav__list .sub-menu>li.is-highlight>a,
.main-nav .menu .sub-menu>li.is-highlight>a{background:var(--color-white);color:var(--color-heading)}

/* ===== MEGA MENU — L3 orange row (stacked below L2) ===== */
.main-nav__list .sub-menu>.menu-item-has-children>.sub-menu,
.main-nav .menu .sub-menu>.menu-item-has-children>.sub-menu { display:none; position:absolute; top:100%; left:0; background:var(--color-orange); padding:0; z-index:199; border:none; min-width:auto; width:auto; max-width:none; box-shadow:none; flex-direction:row; }
.main-nav__list .sub-menu>li.is-open>.sub-menu,
.main-nav .menu .sub-menu>li.is-open>.sub-menu{display:flex !important;justify-content:center;align-items:center;flex-wrap:wrap}

/* L3 items */
.main-nav__list .sub-menu .sub-menu>li>a,
.main-nav .menu .sub-menu .sub-menu>li>a{display:block;padding:16px 16px;font-family:var(--font-title);font-size:15px;color:var(--color-black);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;line-height:1}
.main-nav__list .sub-menu .sub-menu>li>a:hover,
.main-nav .menu .sub-menu .sub-menu>li>a:hover{opacity:.6}
/* L3 slash separators */
.main-nav__list .sub-menu .sub-menu>li+li::before,
.main-nav .menu .sub-menu .sub-menu>li+li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%) rotate(20deg);width:1px;height:14px;background:rgba(0,0,0,.3)}

/* ===== MOBILE MENU ===== */
.mobile-menu-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;position:absolute;left:5px;top:50%;transform:translateY(-50%);z-index:300}
.mobile-menu-toggle span,.mobile-menu-toggle span::before,.mobile-menu-toggle span::after{display:block;width:22px;height:2px;background:var(--color-heading);transition:var(--transition);position:relative}
.mobile-menu-toggle span::before,.mobile-menu-toggle span::after{content:'';position:absolute}
.mobile-menu-toggle span::before{top:-7px}.mobile-menu-toggle span::after{top:7px}
.mobile-menu-toggle[aria-expanded="true"] span{background:transparent}
.mobile-menu-toggle[aria-expanded="true"] span::before{transform:rotate(45deg);top:0}
.mobile-menu-toggle[aria-expanded="true"] span::after{transform:rotate(-45deg);top:0}
.offcanvas{position:fixed;top:0;left:-320px;width:300px;height:100vh;height:100dvh;background:var(--color-white);z-index:999;overflow-y:auto;-webkit-overflow-scrolling:touch;transition:left var(--transition);padding:60px 20px 20px;box-shadow:4px 0 20px rgba(0,0,0,.1)}
.offcanvas.is-open{left:0}
.offcanvas-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:998;opacity:0;visibility:hidden;transition:opacity var(--transition),visibility var(--transition)}
.offcanvas-overlay.is-open{opacity:1;visibility:visible}
.offcanvas__nav ul{margin:0;padding:0;list-style:none}
.offcanvas__nav>ul>li>a,.offcanvas__nav>div>ul>li>a{display:flex;justify-content:space-between;align-items:center;padding:12px 0;font-family:var(--font-title);font-size:16px;color:var(--color-heading);border-bottom:1px solid var(--color-border);text-transform:uppercase}
.offcanvas__nav .menu-item-has-children>a::after{content:'+';font-size:18px;font-weight:700;flex-shrink:0;margin-left:10px;transition:transform .2s}
.offcanvas__nav .menu-item-has-children>a.is-open::after{content:'−'}
.offcanvas__nav .sub-menu{padding-left:15px;display:none}
.offcanvas__nav .sub-menu.is-open{display:block !important}
.offcanvas__nav .sub-menu a{display:block;padding:8px 0;font-size:14px;font-family:'Oswald',sans-serif;text-transform:uppercase;color:var(--color-text);border-bottom:1px solid var(--color-border)}
.offcanvas__close{position:absolute;top:12px;right:14px;width:36px;height:36px;font-size:28px;line-height:36px;text-align:center;color:var(--color-text)}

/* ===== HERO SLIDER ===== */
.hero-slider{position:relative;overflow:hidden;width:100%;max-width:var(--width-site);margin:40px auto 0;aspect-ratio:1172/781;max-height:781px;background:var(--color-black);cursor:grab;user-select:none}
.hero-slider:active{cursor:grabbing}
.hero-slider__track{display:flex;height:100%}
.hero-slider__slide{position:relative;flex-shrink:0;overflow:hidden}
.hero-slider__slide img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.hero-slider__link{display:block;width:100%;height:100%}
.hero-slider__caption{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.25);opacity:0;transition:opacity .3s ease;pointer-events:none}
.hero-slider__slide:hover .hero-slider__caption,.hero-slider__link:hover .hero-slider__caption{opacity:1}
.hero-slider__caption p{color:var(--color-white);font-size:clamp(1.6rem,4vw,2.8rem);text-transform:uppercase;letter-spacing:4px;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.5);padding:0 20px}
.hero-slider__prev,.hero-slider__next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.3);color:var(--color-white);border:none;width:44px;height:60px;font-size:32px;cursor:pointer;z-index:5;opacity:0;transition:opacity .3s ease}
.hero-slider:hover .hero-slider__prev,.hero-slider:hover .hero-slider__next{opacity:1}
.hero-slider__prev:hover,.hero-slider__next:hover{background:rgba(0,0,0,.6)}
.hero-slider__prev{left:0}.hero-slider__next{right:0}
.hero-slider__dots{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5}
.hero-slider__dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--color-white);background:transparent;cursor:pointer;padding:0;transition:background .3s}
.hero-slider__dot.is-active,.hero-slider__dot:hover{background:var(--color-white)}

/* ===== SECTION HEADERS ===== */
.section-header{text-align:center;margin-bottom:10px;padding-top:50px}
.section-header .section-title{display:flex;align-items:center;justify-content:center;gap:0}
.section-header .section-title::before,.section-header .section-title::after{content:'';flex:1;height:1px;background:var(--color-black)}
.section-header .title{padding:0 20px;font-size:28.8px;text-transform:uppercase;letter-spacing:2px;flex-shrink:0}
.section-header .sub-title{display:block;margin-top:8px;font-size:21px;color:var(--color-text-light);font-family:var(--font-title);text-transform:uppercase;letter-spacing:3px}
.home-section{padding:0px 0}
.home-section+.home-section{padding-top:0}
p.page-dek{font-size:16px;position:relative;text-align:center;font-family:Oswald;text-transform:uppercase;letter-spacing:3px;color:#8c919b;top: 42px}
.section-header .sub-title h2{display:block;font-size:25px;font-family:var(--font-title);text-transform:uppercase;letter-spacing:1.5px;color:#8c919b;top: 4px;position: relative;}

/* ===== ENTRY CARDS ===== */
.entries{display:grid;gap:var(--gap)}
.entries.grid-3-col{grid-template-columns:repeat(3,1fr)}
.entries.grid-2-col{grid-template-columns:repeat(2,1fr)}
.entries.grid-4-col{grid-template-columns:repeat(4,1fr)}
/* Feed list layouts */
.entries.feed-list{grid-template-columns:1fr;gap:0}
.entry-feed{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid rgba(0,0,0,.08);align-items:start}
.feed-list--small .entry-feed{grid-template-columns:100px 1fr}
.feed-list--classic .entry-feed{grid-template-columns:1fr;gap:8px}
.entry-feed__image{position:relative;aspect-ratio:3/2;overflow:hidden}
.entry-feed__image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.entry-feed:hover .entry-feed__image img{transform:scale(1.03)}
.feed-list--classic .entry-feed__image{aspect-ratio:16/7}
.entry-feed__title{font-family:var(--font-title);font-size:17px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.entry-feed__title a{color:var(--color-heading)}
.entry-feed__title a:hover{color:var(--color-text-light)}
.entry-feed__excerpt{font-size:14px;color:var(--color-text);line-height:1.6}
.feed-list--classic .entry-feed{padding:30px 0;border-bottom:1px solid rgba(0,0,0,.1)}
.feed-list--classic .entry-feed__body{padding-top:16px}
.feed-list--classic .entry-feed__title{font-size:22px;margin-bottom:10px}
.entry-cat{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-primary);display:block;margin-bottom:4px}
.entry-date{font-size:12px;color:var(--color-text-light);display:block;margin-bottom:4px}
.entry-card{position:relative;overflow:hidden;background:var(--color-white)}
.entry-card__image{position:relative;aspect-ratio:3/2;overflow:hidden}
.entry-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.entry-card:hover .entry-card__image img{transform:scale(1.03)}
.entry-card__body{padding:12px 0;text-align:center}
.entry-card__title{font-family:var(--font-title);font-size:20px;text-transform:uppercase;letter-spacing:.5px}
.entry-card__title a{color:var(--color-heading)}
.entry-card__title a:hover{color:var(--color-text-light)}
.entry-card__excerpt{margin-top:10px;line-height:1.7;text-align:justify;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:1.0425rem;text-justify: inter-character;hyphens: auto;}
.score-circle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--color-score);position:absolute;bottom:8px;right:8px;z-index:2}
.score-value{font-family:var(--font-title);font-size:18px;font-weight:500;color:rgb(13,21,133);line-height:1}

.entry-feed__excerpt span.entry-title,span.entry-title:before{content:'OUR RATING';margin-right:8px;font-size:16px;letter-spacing:1.5px;text-transform:uppercase;font-weight:400;font-family:'Oswald'}span.entry-title,.entry-card__excerpt span.entry-title{display:flex;align-items:center;font-family:var(--font-title);font-size:16px;color:var(--color-heading);letter-spacing:.9px;font-weight:600;margin-top:10px;margin-bottom:0}
.entry-card__excerpt p+p{margin-top:0}
.entry-card__excerpt p svg,.entry-card__excerpt p b,.entry-card__excerpt p span{font-size:16px;vertical-align:middle}
.entry-card__excerpt p svg[fill="orange"]{margin-right:-4px}
.tags a {display: inline-block;padding: 2px 5px;font-family: var(--font-title);font-size: 9px;text-transform: uppercase;letter-spacing: 1.5px;color: #080808;margin-bottom: 14px}
.tags a:hover {background-color:#6CFFFC;color: #000000;}
.tags a:first-child { padding-left: 1px; }


/* ===== SINGLE POST ===== */
.single-hero{max-height:480px;overflow:hidden}
.single-hero img{width:100%;height:100%;object-fit:cover;max-height:480px}
.single-content{padding:35px 0}
.single-content .wrapper{display:grid;grid-template-columns:1fr 300px;gap:40px;max-width:var(--width-site)}
.single-content.no-sidebar .wrapper{grid-template-columns:1fr;max-width:var(--width-site)}
.single-header{margin-bottom:25px;text-align:center}
.single-header h1{margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;font-size:28.8px;display:flex;align-items:center;justify-content:center;gap:0}
.single-header h1::before{content:'';flex:1;height:1px;background:var(--color-black);min-width:20px;margin-right:20px}
.single-header h1::after{content:'';flex:1;height:1px;background:var(--color-black);min-width:20px;margin-left:20px}
.single-meta{font-size:12px;flex-wrap:wrap;gap:15px;justify-content:center;text-transform: uppercase;font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;}
.breadcrumbs{font-size:13px;color:var(--color-text-light);margin-bottom:15px;padding-top:12px;text-align:center}
.entry-content{font-size: 1.0625rem;line-height: 1.8;text-align: justify;font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";hyphens: auto;letter-spacing: -0.01em;}
span.desde {font-weight: 600;}
.entry-content h2{margin:1em 0 .6em;text-transform:uppercase;letter-spacing:.5px;text-align:left}
.entry-content h3{margin:1em 0 .5em;text-align:left}
.entry-content p{margin-bottom:1em}
.entry-content p:last-of-type {margin-bottom: 0;}
.entry-title-you{border-bottom-color:#8c919b;border-bottom-style:solid;border-bottom-width:1px;color:#666c78;font-family:"Oswald",Arial,Verdana,"Helvetica Neue",Helvetica,sans-serif;font-size:18px;font-weight:400;letter-spacing:3.6px;line-height:22px;text-align:justify;text-transform:uppercase;margin-bottom:25px;width:100%;padding-bottom:5px}
.entry-content img{margin:1em 0;width:100% !important;height:auto !important;max-width:100%}
/* Force WordPress caption figures to respect container width */
.entry-content figure,
.entry-content .wp-caption{max-width:100% !important;width:100% !important;height:auto !important}
.entry-content figure img,
.entry-content .wp-caption img{width:100% !important;height:auto !important}
.entry-content a:not(:has(img)):not(.booking-btn-equal):not(.booking-btn-equal-2):not(.booking-btn-equal-3):not(.booking-btn-equal-4){color: #000000;text-decoration: none;padding-bottom: 1px;border-bottom: 1px solid #000000;transition: all 0.2s ease;}
.entry-content a:not(:has(img)):not(.booking-btn-equal):not(.booking-btn-equal-2):not(.booking-btn-equal-3):not(.booking-btn-equal-4):hover {border-bottom-color: #000000;box-shadow: 0 2px 0 0 #000000;}
.entry-content .hotel-booking-wrapper a,
.entry-content .hotel-booking-wrapper a:hover,
.entry-content a.booking-btn-equal,
.entry-content a.booking-btn-equal:hover,
.entry-content a.booking-btn-equal-2,
.entry-content a.booking-btn-equal-2:hover,
.entry-content a.booking-btn-equal-3,
.entry-content a.booking-btn-equal-3:hover,
.entry-content a.booking-btn-equal-4,
.entry-content a.booking-btn-equal-4:hover{
  padding-bottom:0 !important;
  border-bottom:none !important;
  box-shadow:none !important;
  text-decoration:none !important;
  color:inherit;
}
.entry-content a:has(img) {border-bottom: none !important;text-decoration: none !important;}
.entry-content a:hover:not(.booking-btn-equal):not(.booking-btn-equal-2):not(.booking-btn-equal-3):not(.booking-btn-equal-4){text-decoration:underline}
.entry-content ul,.entry-content ol{margin:1em 0 1em 1.5em;list-style:disc;text-align:left}
.entry-content ol{list-style:decimal}
.entry-content blockquote{border-left:4px solid var(--color-primary);padding:15px 20px;margin:1.5em 0;font-style:italic;background:var(--color-bg-alt);text-align:left}
.page-id-10796, .page-id-10796 .site-header, .page-id-10796 .main-nav .wrapper, .page-id-10796 .main-nav { background-color: #6CFFFC !important; }
.wp-caption-text {font-size: 12px;margin-bottom: 10px;}
.text-container {padding: 20px;}
.author-profile-clean { max-width: 800px; margin: 0 auto; text-align: center; padding: 40px 20px; }
.author-meta-exp { font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: #999; margin-bottom: 25px; }
.author-description { font-size: 1.15rem; line-height: 1.8; color: #333; text-align: justify; margin-bottom: 40px; }
.author-details-grid { display: flex; justify-content: center; gap: 40px; border-top: 1px solid #eee; padding-top: 30px; }
.detail-label { display: block; font-size: 10px; letter-spacing: 2px; color: #bbb; margin-bottom: 5px; }
.detail-value { font-weight: 600; font-size: 0.95rem; color: #444; }
.author-portfolio-header { text-align: center; margin: 80px auto 40px auto; max-width: 800px; padding: 0 20px; }
.portfolio-tag { display: block; font-size: 10px; letter-spacing: 4px; color: #999; text-transform: uppercase; margin-bottom: 12px; }
.portfolio-title { font-size: 2rem; font-weight: 400; color: #1a1a1a; margin: 0; line-height: 1.2; }
.minimal-divider { width: 40px; height: 1px; background-color: #eee; margin: 20px auto 0 auto; }
.custom-booking-button {margin-left: px;left: -5px;position: relative;font-family: 'Oswald';font-weight: 500 !important;text-transform: uppercase;}
.custom-booking-button:last-of-type {margin-top: 15px !important;}

/* Ratings — horizontal bars matching old site */
.rating-bars{margin:40px 0 30px}
.single-section-title{font-size:18px;text-transform:uppercase;letter-spacing:3.6px;padding-bottom:10px;border-bottom:1px solid #8c919b;margin-bottom:20px;margin-top:30px;font-family:'Oswald';color:#8c919b}.rating-bar__header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}
.rating-bar__label{font-family:var(--font-title);font-size:12px;text-transform:uppercase;letter-spacing:3px;color:var(--color-text-light)}
.rating-bar__score{font-family:var(--font-title);font-size:14px;color:var(--color-text-light)}
.rating-bar__track{width:100%;height:10px;background:var(--color-border);overflow:hidden;margin-bottom: 20px;}
.rating-bar__fill{height:10px;background:var(--color-secondary);transition:width .6s ease;opacity:.5;border-radius:2px}
.rating-bar--total .rating-bar__fill{height:12px;opacity:1}
.rating-bar--total{margin-top:20px;padding-top:10px;border-top:1px solid var(--color-border)}
.rating-bar--total .rating-bar__label,.rating-bar--total .rating-bar__score{font-size:16px;font-weight:400;color:var(--color-heading)}

/* Accordion — CSS-only, replaces Ultimate Shortcodes plugin */
.imb-accordion{margin:10px 0}
/* ===== LANGUAGE POPUP ===== */
.lang-trigger{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center}
.lang-trigger img{width:22px!important;height:22px;border-radius:50%;object-fit:cover;transition:opacity .2s}
.lang-trigger:hover img{opacity:.75}
.lang-popup{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}
.lang-popup.is-open{display:block}
.lang-popup__backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5)}
.lang-popup__box{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;padding:32px 28px;width:calc(100vw - 32px);max-width:340px;box-shadow:0 20px 60px rgba(0,0,0,.2);animation:langPopIn .2s ease}
@keyframes langPopIn{from{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.lang-popup__close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:22px;cursor:pointer;color:#888;line-height:1;padding:0}
.lang-popup__close:hover{color:#222}
.lang-popup__title{font-family:var(--font-title);font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin:0 0 4px;color:var(--color-heading)}
.lang-popup__sub{font-size:13px;color:var(--color-text-light);margin:0 0 20px}
.lang-popup__options{display:flex;flex-direction:column;gap:10px}
.lang-option{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;border:1px solid #eee;text-decoration:none;color:var(--color-heading);font-family:var(--font-title);font-size:14px;font-weight:600;transition:background .15s,border-color .15s}
.lang-option:hover{background:#f5f7ff;border-color:#2d5aff}
.lang-option img{width:26px;height:26px;border-radius:50%;object-fit:cover;flex-shrink:0}

/* ===== SPOILER ===== */
.imb-spoiler{margin-bottom:0}
.imb-spoiler__heading{margin:0;padding:0;font-size:inherit;font-weight:inherit;font-family:inherit;color:inherit;line-height:inherit;text-transform:inherit;letter-spacing:inherit}
.imb-spoiler__toggle{display:none}
.imb-spoiler__title{display:flex;align-items:center;gap:10px;padding:18px 0;cursor:pointer;font-family:var(--font-title);font-size:18px;text-transform:uppercase;letter-spacing:1.5px;color:var(--color-text-light);user-select:none;transition:color .2s}
.imb-spoiler__title:hover{color:var(--color-heading)}
.imb-spoiler__title::before{content:'';display:inline-block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);flex-shrink:0;transition:transform .25s ease;margin-bottom:2px}
.imb-spoiler__toggle:checked+.imb-spoiler__title::before{transform:rotate(-135deg);margin-bottom:-2px}
.imb-spoiler__toggle:checked+.imb-spoiler__title{color:var(--color-heading)}
.imb-spoiler__body{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;padding:0}
.imb-spoiler__toggle:checked~.imb-spoiler__body{max-height:none;padding: 20px;background-color: azure}
.imb-spoiler__body p{margin-bottom:15px}
.imb-spoiler__body p:last-child{margin-bottom:0}
.imb-spoiler__title::before {display: none !important;}
.imb-spoiler__title::after {content: '+';font-size: 24px;font-weight: 400;color: #666;transition: transform .3s ease;line-height: 1;margin-left: 10px;}
.imb-spoiler__toggle:checked + .imb-spoiler__title::after {content: '−'; /* Using a proper minus sign character */transform: rotate(180deg);}
.imb-accordion.reviews-accord {border-bottom: 1px solid #eee;}
.imb-accordion.video-accord {border-bottom: 1px solid #eee;}
.imb-accordion.facilities-hotel {border-bottom: 1px solid #eee;}
h2.imb-spoiler__heading {margin: 0;padding: 0;font-size: inherit;font-weight: inherit;font-family: inherit;color: inherit;line-height: inherit;text-transform: inherit;letter-spacing: inherit;}
/* ===== SINGLE POST — INLINE CONTENT ELEMENTS ===== */
.entry-card__excerpt .desde { font-weight: 700; vertical-align: baseline}
span.entry-title{font-size:2rem;font-weight:700;color:var(--color-heading);font-family:var(--font-title)}
.hotel-amenities{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0}
.hotel-amenities svg{opacity:.7}
.voice-list{padding:0}
.voice-list li{margin-bottom:10px;display:flex;align-items:center;list-style:none!important;gap:5px}
.voice-list svg{flex-shrink:0;color:var(--color-text-light)}
.filter-tabs { display: flex; gap: 10px; padding: 10px 0; flex-wrap: wrap; }
.filter-tabs .tab.active { background: #000; color: #fff; border-color: #000; }
.filter-tabs .tab { padding: 8px 16px; border: 1px solid #ccc; background: #f7f7f7; color: #000; cursor: pointer; font-size: 14px; border-radius: 4px; transition: background 0.2s, border-color 0.2s, color 0.2s; }
.author-bio {text-align: justify;}

.hotel-booking-wrapper{
  display:flex !important;
  flex-direction:row !important;
  align-items:stretch !important;
  gap:15px;
  margin:16px 0;
  width:100%;
}
.hotel-booking-wrapper > p{
  margin:0 !important;
  padding:0 !important;
  flex:1 1 0 !important;
  display:flex !important;
  align-items:stretch !important;
  min-width:0;
  border:none !important;
}
.hotel-booking-wrapper a br{display:none !important}

/* Force identical box — works with or without WP <p> wrappers around each item */
.hotel-booking-wrapper .pr-trigger,
.hotel-booking-wrapper .booking-btn-equal,
.hotel-booking-wrapper .booking-btn-equal-2,
.hotel-booking-wrapper .booking-btn-equal-3,
.hotel-booking-wrapper .booking-btn-equal-4{
  flex:1 1 0 !important;
  width:100% !important;
  height:42px !important;
  min-height:42px !important;
  max-height:42px !important;
  padding:0 16px !important;
  margin:0 !important;
  border:none !important;
  border-bottom:none !important;
  border-radius:4px !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-family:var(--font-title) !important;
  font-size:12px !important;
  font-weight:500 !important;
  letter-spacing:.5px !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  transition:background .2s,color .2s,transform .2s !important;
}
.hotel-booking-wrapper .pr-trigger{
  background:#007A77 !important;
  color:#fff !important;
}
/* Expedia / Booking / Direct — cyan */
.hotel-booking-wrapper .booking-btn-equal,
.hotel-booking-wrapper .booking-btn-equal-2,
.hotel-booking-wrapper .booking-btn-equal-4{
  background:#6cfffc !important;
  color:#000 !important;
}
/* OUR REVIEW — teal (do not force cyan; Customizer can override with same specificity) */
.hotel-booking-wrapper .booking-btn-equal-3{
  background:#007A77 !important;
  color:#fff !important;
}
.booking-btn-equal::after{content:'Expedia'}
.booking-btn-equal-2::after{content:'Booking'}
.hotel-booking-wrapper .pr-trigger:hover,
.hotel-booking-wrapper .pr-trigger:focus-visible{
  background:#062275 !important;
  color:#6cfffc !important;
  transform:translateY(-2px);
}
.hotel-booking-wrapper .booking-btn-equal:hover,
.hotel-booking-wrapper .booking-btn-equal-2:hover,
.hotel-booking-wrapper .booking-btn-equal-4:hover{
  background:#062275 !important;
  color:#6cfffc !important;
  transform:translateY(-2px);
  border:none !important;
  border-bottom:none !important;
  box-shadow:none !important;
  text-decoration:none !important;
  padding-bottom:0 !important;
}
.hotel-booking-wrapper .booking-btn-equal-3:hover,
.hotel-booking-wrapper .booking-btn-equal-3:focus-visible{
  background:#005f5c !important;
  color:#fff !important;
  transform:translateY(-2px);
  border:none !important;
  border-bottom:none !important;
  box-shadow:none !important;
  text-decoration:none !important;
  padding-bottom:0 !important;
}

@media(max-width:480px){
  .hotel-booking-wrapper .pr-trigger,
  .hotel-booking-wrapper .booking-btn-equal,
  .hotel-booking-wrapper .booking-btn-equal-2,
  .hotel-booking-wrapper .booking-btn-equal-3,
  .hotel-booking-wrapper .booking-btn-equal-4{
    justify-content:center !important;
  }
}

/* Style Ultimate Shortcodes su-spoiler with CSS (works without jQuery) */
.su-accordion{margin:10px 0}
.su-spoiler{border-bottom:1px solid var(--color-border);margin-bottom:0;background:none !important;border-radius:0 !important;box-shadow:none !important}
.su-spoiler-title{display:flex;align-items:center;gap:10px;padding:18px 0 !important;cursor:pointer;font-family:var(--font-title) !important;font-size:16px !important;text-transform:uppercase;letter-spacing:1.5px;color:var(--color-text-light) !important;background:none !important;border:none !important}
.su-spoiler-title:hover{color:var(--color-heading) !important}
.su-spoiler-icon{display:inline-block;width:14px;height:14px;border:1px solid var(--color-text-light);flex-shrink:0;font-size:0;line-height:14px;text-align:center}
.su-spoiler-icon::before{content:'';display:none}
/* Closed state — force hidden (override plugin CSS) */
.su-spoiler-content{height:0 !important;overflow:hidden !important;opacity:0 !important;padding:0 !important;border:none !important;background:none !important;transition:height .3s ease,opacity .3s ease,padding .3s ease}
/* Open state — force visible */
.su-spoiler.su-spoiler-open>.su-spoiler-content{height:auto !important;overflow:visible !important;opacity:1 !important;padding:0 0 20px 0 !important}
.su-spoiler.su-spoiler-open>.su-spoiler-title{color:var(--color-heading) !important}
.su-spoiler.su-spoiler-open .su-spoiler-icon{background:var(--color-text-light)}

/* Image Gallery Carousel — 3 visible at a time, sliding */
.imb-gallery{position:relative;overflow:hidden;margin:15px 0}
.imb-gallery__track{display:flex;column-gap:3px;transition:transform .35s cubic-bezier(.25,.46,.45,.94)}
.imb-gallery__item{flex-shrink:0;width:calc(33.333% - 2px);display:block;overflow:hidden;line-height:0;cursor:pointer}
.imb-gallery__item img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .3s ease}
.imb-gallery__item:hover img{transform:scale(1.03)}

/* Style Ultimate Shortcodes image carousel — 3-at-a-time slider */
.su-image-carousel{position:relative !important;overflow:hidden !important;height:auto !important;display:block !important;margin:15px 0}
.su-image-carousel .flickity-viewport,.su-image-carousel .flickity-slider{display:contents !important}
/* Carousel track — flexbox row, slides via JS */
.su-image-carousel-inner{display:flex;column-gap:3px;transition:transform .35s cubic-bezier(.25,.46,.45,.94)}
.su-image-carousel-item{flex-shrink:0 !important;width:calc(33.333% - 2px) !important;display:block !important;position:static !important;left:auto !important;transform:none !important;opacity:1 !important}
.su-image-carousel-item-content{line-height:0}
.su-image-carousel-item-content a{display:block;overflow:hidden;cursor:pointer}
.su-image-carousel-item-content img{width:100% !important;height:auto !important;aspect-ratio:16/10;object-fit:cover;transition:transform .3s ease}
.su-image-carousel-item-content a:hover img{transform:scale(1.03)}
/* Hide flickity controls */
.su-image-carousel .flickity-page-dots,.su-image-carousel .flickity-prev-next-button{display:none !important}
/* Carousel nav arrows */
.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.4);color:#fff;border:none;width:36px;height:36px;font-size:22px;cursor:pointer;z-index:5;display:flex;align-items:center;justify-content:center;border-radius:50%}
.gallery-nav:hover{background:rgba(0,0,0,.7)}
.gallery-nav--prev{left:8px}
.gallery-nav--next{right:8px}

/* Lightbox overlay */
.imb-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.imb-lightbox.is-open{opacity:1;visibility:visible}
.imb-lightbox__img{max-width:90vw;max-height:85vh;object-fit:contain;transition:opacity .15s ease}
.imb-lightbox__close{position:absolute;top:20px;right:20px;color:#fff;font-size:36px;cursor:pointer;background:none;border:none;line-height:1;z-index:2001}
.imb-lightbox__close:hover{opacity:.7}
.imb-lightbox__prev,.imb-lightbox__next{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:40px;cursor:pointer;background:none;border:none;padding:20px;z-index:2001}
.imb-lightbox__prev{left:10px}.imb-lightbox__next{right:10px}
.imb-lightbox__prev:hover,.imb-lightbox__next:hover{opacity:.7}
.imb-lightbox__counter{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.6);font-family:var(--font-title);font-size:14px;letter-spacing:1px}

.single-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.single-tags a{display:inline-block;padding:4px 16px;background:#6cfffc;border:1px solid var(--color-border);font-family:var(--font-title);font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#062275;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);transition:all .3s ease}
.single-tags a:hover{background:#062275;color:#6cfffc;border-color:#062275}
.share-box__label{font-size:14px;color:var(--color-text-light);margin-right:4px}
.share-box a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--color-bg-alt);color:var(--color-text);transition:background var(--transition)}
.share-box a:hover{background:var(--color-primary)}
.share-box svg{width:16px;height:16px;fill:currentColor}

/* ===== SIDEBAR ===== */
.sidebar .widget{margin-bottom:28px}
.sidebar .widget h3,.sidebar .widget h4{font-size:1rem;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--color-primary);text-transform:uppercase}
.sidebar .widget ul{list-style:none;margin:0;padding:0}
.sidebar .widget ul li{padding:6px 0;border-bottom:1px solid var(--color-border);font-size:14px}
.sidebar .widget ul li:last-child{border-bottom:none}
.sidebar .widget ul li a:hover{color:var(--color-primary)}

/* ===== FOOTER ===== */
.site-footer{background:var(--color-secondary);color:var(--color-heading);font-size:14px}
.site-footer .full-width-sidebar{padding:20px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.footer-widgets{padding:40px 0 30px}
.footer-widgets .wrapper{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.footer-widgets .widget-area{min-width:0}
.footer-widgets .widget-area:last-child{text-align:center}
.footer-widgets .widget-area:last-child figure{margin:0 auto}
.footer-widgets h4,.footer-widgets .providers{color:var(--color-heading);font-family:var(--font-title);font-size:1rem;margin-bottom:14px;text-transform:uppercase;letter-spacing:.5px}
.footer-widgets a{color:var(--color-heading)}
.footer-widgets a:hover{opacity:.6}
.footer-widgets ul{list-style:none;margin:0;padding:0}
.footer-widgets ul li{padding:8px 0;border-bottom:1px solid rgba(0,0,0,.1);line-height:1.4}
.footer-widgets ul li:last-child{border-bottom:none}
.footer-widgets ul li a{font-family:var(--font-title);text-transform:uppercase;font-size:15px;letter-spacing:1px}
.footer-widgets .widget{margin-bottom:20px}

.copyright-bar{border-top:1px solid rgba(0,0,0,.08);padding:16px 0;font-size:12px;font-family:var(--font-title);text-transform:uppercase;letter-spacing:.5px}
.copyright-bar .wrapper{display:flex;justify-content:space-between;align-items:center}
.copyright-bar a{color:var(--color-heading)}
.copyright-bar a:hover{opacity:.6}
.back-to-top{font-family:var(--font-title);font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-heading);white-space:nowrap}

/* ===== PAGE / ARCHIVE / SEARCH / 404 / COMPOSER ===== */
.page-header{padding:35px 0 25px;text-align:center}
.page-header h1{margin-bottom:8px;text-transform:uppercase}
.pagination{display:flex;justify-content:center;gap:5px;margin:35px 0}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--color-border);font-size:14px}
.pagination .current{background:var(--color-heading);color:var(--color-white);border-color:var(--color-heading)}
.search-form{display:flex;max-width:500px;margin:0 auto}
.search-form input[type="search"]{flex:1;padding:10px 14px;border:1px solid var(--color-border);border-right:none;border-radius:0;font-family:var(--font-body);font-size:15px;outline:none}
.search-form button{padding:10px 20px;background:var(--color-heading);color:var(--color-white);border-radius:0;font-family:var(--font-title);font-size:14px;text-transform:uppercase}

/* Search full-page overlay */
.search-overlay{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.search-overlay.is-open{opacity:1;visibility:visible}
.search-overlay__inner{width:90%;max-width:700px;text-align:center}
.search-overlay__close{position:absolute;top:30px;right:30px;color:var(--color-white);font-size:36px;cursor:pointer;background:none;border:none;line-height:1}
.search-overlay__close:hover{opacity:.7}
.search-overlay .search-form{display:flex;border-bottom:2px solid var(--color-white)}
.search-overlay .search-form input[type="search"]{flex:1;padding:20px 10px;border:none;background:transparent;color:var(--color-white);font-family:var(--font-title);font-size:28px;text-transform:uppercase;letter-spacing:2px;outline:none}
.search-overlay .search-form input[type="search"]::placeholder{color:rgba(255,255,255,.4)}
.search-overlay .search-form button{background:none;border:none;color:var(--color-white);padding:0 10px;cursor:pointer}
.search-overlay .search-form button svg{width:28px;height:28px;fill:currentColor}
.error-404{text-align:center;padding:80px 5px}
.error-404 h1{font-size:6rem;color:var(--color-primary)}
.composer-title-text{padding:20px 0}
.composer-wp-editor .entry-content{padding:15px 0}
.composer-full-image{position:relative;min-height:350px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--color-white);background-size:cover;background-position:center}
.composer-full-image::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.45)}
.composer-full-image .content{position:relative;z-index:1;padding:40px;max-width:700px}
.composer-full-image h2{color:var(--color-white);margin-bottom:10px}

.booking-bar{position:fixed;bottom:0;left:0;right:0;background:var(--color-white);border-top:2px solid var(--color-primary);padding:10px 0;z-index:500;box-shadow:0 -4px 20px rgba(0,0,0,.1);transform:translateY(100%);transition:transform .3s ease}
.booking-bar.is-visible{transform:translateY(0)}
.slide-dock{position:fixed;bottom:0;right:20px;width:320px;background:var(--color-white);box-shadow:0 -4px 20px rgba(0,0,0,.12);z-index:400;transform:translateY(100%);transition:transform .3s ease}
.slide-dock.is-visible{transform:translateY(0)}
.slide-dock__header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border)}
.slide-dock__header h4{font-size:14px;margin:0;text-transform:uppercase}
.slide-dock__close{font-size:22px;color:var(--color-text-light);line-height:1}
.slide-dock__item{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--color-border);align-items:center}
.slide-dock__item:last-child{border-bottom:none}
.slide-dock__item img{width:70px;height:50px;object-fit:cover;flex-shrink:0}
.slide-dock__item p{font-size:13px;line-height:1.4;margin:0}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.text-center{text-align:center}
.btn{display:inline-block;padding:10px 26px;background:var(--color-heading);color:var(--color-white);font-family:var(--font-title);font-size:14px;text-transform:uppercase;letter-spacing:.3px}
.btn:hover{background:#333}

img.sobe {width: 167px!important;height: 53px;max-width: 100%; /* Keeps it responsive on small screens */display: block; /* Prevents it from acting like a full-width block */
}

.map-wrapper{position:relative}
.map-pin-label{position:absolute;top:50%;left:50%;transform:translate(-24px,-68px);background:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;font-family:var(--font-title);white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.2);pointer-events:none}
.map-directions-btn{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:10px 18px;background:var(--color-accent);color:#000;font-family:var(--font-title);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;text-decoration:none;border-radius:4px}
.map-directions-btn:hover{opacity:.85}

/* ===== BOOKING BUTTONS ===== */
.booking-box { margin-top: 15px; }
.booking-box summary { cursor: pointer; list-style: none; border: 1px solid #dcdcdc; padding: 12px 18px; border-radius: 6px; font-size: 14px; transition: all 0.2s ease; display: inline-block; }
.booking-box summary:hover { background: #f7f7f7; }
.booking-box summary::-webkit-details-marker { display: none; }
.booking-links { margin-top: 12px; }
.show-options .imb-spoiler__toggle:checked~.imb-spoiler__body { padding: 0px; background-color: white; }
.show-options .hotel-booking-wrapper { display: flex; flex-direction: row; width: 100%; gap: 15px!important; }
.show-options .hotel-booking-wrapper p { margin: 0; flex: 1; display: flex!important; }
.show-options .imb-spoiler__body { margin-top: -18px; }
.show-options .imb-spoiler__title { margin-top: -12px; }

/* ===== BOOKING BOX ===== */
/* Outer container — fixed bar at bottom on ALL screens */
.booking-box-container{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:#fff;border-top:1.5px solid #7fffd4}

/* Desktop: full bar always visible, 76px tall */
/* ── Shared field styles ── */
p.hotel-name{margin:0;padding:10px 10px 10px 38px;font-size:14px;font-family:var(--font-body);box-sizing:border-box;display:flex;align-items:center;white-space:nowrap;background:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2'%3E%3Cpath d='M12 12.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5z'/%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7z'/%3E%3C/svg%3E") no-repeat 10px center / 18px 18px;}
.input-container p.hotel-name {border: 1px solid #2d5aff;}
p.reason {font-size: medium;font-weight: 300;margin-top: -5px;margin-left: 12px;}
p.reason_1 {font-size: medium;font-weight: 300;margin-top: -15px;margin-left: 12px;}
p.hotel-name:hover {text-decoration:underline}
/* wrapper replaces the native date input in flex layout */
.imb-dp-wrapper{flex:1;position:relative;min-width:0}
/* the visible display div — same look as old site's text input */
.imb-dp-display{display:flex;align-items:center;height:40px;padding:0 10px 0 38px;border:1px solid #2d5aff;font-size:14px;font-family:var(--font-body);box-sizing:border-box;background:#fff url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") no-repeat 10px center / 18px 18px;cursor:pointer;color:#444;white-space:nowrap;overflow:hidden}
.imb-dp-display.is-placeholder{color:#999}
.imb-dp-display.is-active{border-color:#1a3fcc;outline:2px solid rgba(45,90,255,.2)}

/* ── Two-month calendar popup ── */
.imb-datepicker{position:fixed;bottom:78px;left:50%;transform:translateX(-50%);background:#fff;border:1px solid #e5e7eb;box-shadow:0 -8px 32px rgba(0,0,0,.14);z-index:1002;padding:20px 22px 16px;border-radius:12px;display:none;user-select:none}
.imb-datepicker.is-open{display:block;z-index: 9999}
.imb-dp-inner{display:flex;gap:32px;align-items:flex-start}
.imb-dp-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.imb-dp-nav-btn{background:#0347f2;border:1.5px solid #e5e7eb;cursor:pointer;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:#ffffff;padding:0;line-height:1;transition:background .15s,border-color .15s,color .15s;flex-shrink:0}
.imb-dp-nav-btn:hover{background:#2d5aff;border-color:#2d5aff;color:#fff}
.imb-dp-month-name{font-size:13px;font-weight:700;text-align:center;flex:1;font-family:var(--font-title);text-transform:uppercase;letter-spacing:.8px;color:var(--color-heading)}
/* grid: 7 columns */
.imb-dp-grid{display:grid;grid-template-columns:repeat(7,32px);gap:2px}
.imb-dp-dh{text-align:center;font-size:11px;color:#aaa;padding:4px 0;font-family:var(--font-title);letter-spacing:.3px}
.imb-dp-cell{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:13px;border-radius:50%;box-sizing:border-box}
.imb-dp-day{cursor:pointer}
.imb-dp-day:hover:not(.is-past):not(.is-selected){background:#f0f4ff}
.imb-dp-day.is-past{color:#ccc;cursor:default}
.imb-dp-day.is-today{font-weight:700;border:1px solid #2d5aff}
.imb-dp-day.is-selected{background:#2d5aff;color:#fff;border-radius:50%}
.imb-dp-day.is-range{background:#e8eeff;border-radius:0}
.imb-dp-day.is-checkin.is-range-start{border-radius:50% 0 0 50%}
.imb-dp-day.is-checkout.is-range-end{border-radius:0 50% 50% 0}
.imb-dp-day.is-hover-range{background:#eef1ff;border-radius:0}
.imb-dp-day.is-hover-end{background:#6b86ff;color:#fff;border-radius:0 50% 50% 0}

@media(min-width:769px){
  .book-now-button{display:none !important}
  #booking-section{display:flex !important;align-items:center;justify-content:center;height:76px;padding:0 20px;box-sizing:border-box}
  .booking_light{width:100%;max-width:1200px}
  #frm_7738{display:block;width:100%;background:transparent}
  .input-container{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;width:100%;align-items:center;justify-content:center}
  p.hotel-name{flex:1;height:40px}
  .imb-dp-display{height:40px}
  .button-search{height:40px;padding:0 40px;background:#0147f1;color:#fff;font-size:14px;font-family:var(--font-body);border:none;cursor:pointer;white-space:nowrap;flex-shrink:0}
  .button-search:hover{background:#222}
}

@media(max-width:768px){
  .book-now-button{display:block;position:relative;background:var(--color-secondary);color:#000;padding:10px 0;text-align:center;font-size:14px;font-weight:700;cursor:pointer;width:100%}
  #booking-section{display:none;padding:12px 15px 16px;box-sizing:border-box}
  .booking_light{width:100%}
  #frm_7738{background:transparent}
  .input-container{display:flex;flex-direction:column;gap:8px;width:100%}
  p.hotel-name{height:42px;width:100%}
  .imb-dp-wrapper{width:100%}
  .imb-dp-display{height:42px;width:100%}
  .button-search{height:42px;width:100%;padding:0;background:#0147f1;color:#fff;font-size:14px;font-family:var(--font-body);border:none;cursor:pointer}
  /* mobile: calendar fills viewport above booking bar (top/bottom set by JS) */
  .imb-datepicker{position:fixed;left:0;right:0;transform:none;width:100%;box-sizing:border-box;padding:16px 16px 20px;border-radius:0;z-index:1010;overflow-y:auto;-webkit-overflow-scrolling:touch}
  /* Mobile header */
  .imb-dp-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;margin-bottom:4px;border-bottom:1px solid #f0f0f0}
  .imb-dp-header-label{font-size:15px;font-weight:700;font-family:var(--font-title);text-transform:uppercase;letter-spacing:.6px;color:var(--color-heading)}
  .imb-dp-close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:#555;padding:0;line-height:1;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s}
  .imb-dp-close-btn:hover{background:#f0f0f0}
  .imb-dp-inner{flex-direction:column;gap:0;width:100%}
  .imb-dp-col{width:100%;padding-top:16px}
  .imb-dp-nav{width:100%;padding:0 2px;margin-bottom:16px}
  .imb-dp-nav-btn{width:40px;height:40px;font-size:18px}
  .imb-dp-month-name{font-size:15px;letter-spacing:.8px}
  .imb-dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;width:100%}
  .imb-dp-cell{width:100%;height:48px;font-size:15px}
  /* Swipe slide animations */
  .imb-dp-slide-left{animation:dpSlideInLeft .25s ease forwards}
  .imb-dp-slide-right{animation:dpSlideInRight .25s ease forwards}
  .imb-dp-dh{text-align:center;font-size:12px;padding:8px 0;font-weight:600}
.imb-dp-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1009}
.imb-dp-backdrop.is-open{display:block}
hr.bar-bottomr {display: none;}
  @keyframes dpSlideInLeft{from{transform:translateX(60px);opacity:0}to{transform:translateX(0);opacity:1}}
  @keyframes dpSlideInRight{from{transform:translateX(-60px);opacity:0}to{transform:translateX(0);opacity:1}}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .main-nav__list>li>a,.main-nav .menu>li>a{padding:0 14px;font-size:17px}
  .footer-widgets .wrapper{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:768px){
  /* Wrapper */
  .wrapper{padding:0 15px}

  .filter-tabs{flex-direction:column}
  .filter-tabs .tab{width:100%;text-align:center}

  /* Responsive images — do not force width:auto (blows up in unconstrained parents) */
  img{max-width:100% !important;height:auto !important}
  .entry-content img{width:100% !important;max-width:100% !important;height:auto !important}
  figure,.wp-caption{max-width:100% !important;height:auto !important}
  .entry-content figure,.entry-content .wp-caption{width:100% !important;max-width:100% !important}
  /* Protect flag icon from global img override */
  .flag-icon img{width:22px !important;height:22px !important;max-width:22px !important}

  /* TOP STRIP — hamburger left, flag + search right */
  .top-strip__nav{display:none}
  .top-strip .wrapper{height:50px;position:relative;padding-left:50px}
  .top-strip__social a{display:none}
  .top-strip__social .flag-icon{display:flex}
  .top-strip__social .search-toggle{display:flex}
  .top-strip__social{gap:15px;position:absolute;right:15px;top:50%;transform:translateY(-50%)}
  .top-strip__social svg{width:20px;height:20px}

  /* Hamburger — now lives in top-strip HTML, just style it */
  .mobile-menu-toggle{display:flex;position:absolute;left:10px;top:50%;transform:translateY(-50%);z-index:9999}
  .mobile-menu-toggle span,
  .mobile-menu-toggle span::before,
  .mobile-menu-toggle span::after{background:var(--color-black) !important}

  /* Header/logo — keep original size */
  .site-header{padding:12px 0}

  /* Main nav hidden on mobile */
  .main-nav{display:none}

  /* Slider — one image at a time, same width as content */
  .hero-slider{max-height:none;margin:0 15px;width:calc(100% - 30px);aspect-ratio:3/2;padding:0;background:var(--color-black);overflow:hidden}
  .hero-slider__slide img{border-radius:0}
  .hero-slider__caption p{font-size:1rem;letter-spacing:1px}
  .hero-slider__prev,.hero-slider__next{width:32px;height:44px;font-size:22px;opacity:1}
  .hero-slider__dots{bottom:10px}
  .hero-slider__dot{width:8px;height:8px}

  /* Gallery — single column on mobile */
  .imb-gallery{grid-template-columns:1fr !important}
  .su-image-carousel{grid-template-columns:1fr !important}

  /* Lightbox mobile */
  .imb-lightbox__prev,.imb-lightbox__next{font-size:28px;padding:10px}
  .imb-lightbox__close{top:10px;right:10px;font-size:28px}

  /* Section headers — keep side bars visible on mobile */
  .section-header{padding-top:25px;margin-bottom:15px}
  .section-header .title{font-size:18px;letter-spacing:1px;padding:0 10px}
  .section-header .sub-title{font-size:12px;letter-spacing:1px}
  /* Keep the flex lines visible but shorter */
  .section-header .section-title::before,
  .section-header .section-title::after{flex:1;min-width:20px}

  /* Grid — single column */
  .entries.grid-3-col,.entries.grid-2-col{grid-template-columns:1fr}
  .entry-card__title{font-size:18px}
  .entry-card__body{padding:10px 5px}
  .entry-card__image{aspect-ratio:3/2}

  /* Gallery — 1 image at a time on mobile, hide nav arrows (swipe instead) */
  .su-image-carousel-inner{column-gap:0}
  .su-image-carousel-item{width:100% !important}
  .imb-gallery__track{column-gap:0}
  .imb-gallery__item{width:100%}
  .gallery-nav{display:none !important}

  /* Single post */
  .single-content .wrapper{grid-template-columns:1fr;gap:20px}
  .single-header h1{font-size:22px}
  .entry-content{font-size:16px;text-align:justify}

  /* Footer */
  .footer-widgets .wrapper{grid-template-columns:1fr;gap:25px}
  .footer-widgets .wrapper{padding:0 15px}
  .copyright-bar .wrapper{flex-direction:column;text-align:center;gap:8px;padding:0 15px}

  /* Slide dock */
  .slide-dock{width:100%;right:0}

  /* Search overlay — responsive, prevent overflow */
  .search-overlay{padding:20px}
  .search-overlay__inner{width:100%}
  .search-overlay .search-form{flex-direction:column;border-bottom:none}
  .search-overlay .search-form input[type="search"]{font-size:18px;letter-spacing:1px;border-bottom:2px solid var(--color-white);padding:15px 5px}
  .search-overlay .search-form button{display:block;margin-top:15px;padding:12px;text-align:center}
  .search-overlay .search-form button svg{width:24px;height:24px}
  .search-overlay__close{top:15px;right:15px;font-size:30px}

  /* Divider entry card on mobile */
 body:not(.home) .entry-card { border-bottom: 2px solid #6cfffc52; margin-bottom: 12px; padding-bottom: -7px; }
  /* Rimuove il bordo dall'ultimo hotel della lista per pulizia */
    .entry-card:last-of-type {border-bottom: none;margin-bottom: 0;}

p.page-dek{top:6px;font-size: 14px}
.section-header .sub-title h2 {font-size: 12px;top: -7px;}
.section-header .section-title { display: flex; align-items: center; justify-content: center; gap: 0; position: relative; top: -10px; }

img.sobe {width: 200px!important;display: block;}

.single-content.no-sidebar {padding: 0px;}

.author-details-grid { flex-direction: column; align-items: center; gap: 25px; padding-top: 20px; }
.detail-item { width: 100%; text-align: center; }
}

@media(max-width:480px){
  :root{--gap:10px}
  .wrapper{padding:0 12px}
  .section-header .title{font-size:16px;padding:0 8px}
  .section-header .sub-title{font-size:11px}
  .entry-card__title{font-size:18px}
  .entry-card__body{padding:8px 5px}
  .top-strip .wrapper{height:44px}
  .top-strip__social svg{width:18px;height:18px}
  .hero-slider__caption p{font-size:.9rem}
  .single-header h1{font-size:17px}
  .entry-content{font-size:16px;}
  .footer-widgets ul li a{font-size:12px}
  .copyright-bar{font-size:11px}
  .search-overlay .search-form input[type="search"]{font-size:16px}
}

@media print{
  .no-print,.top-strip,.main-nav,.offcanvas,.offcanvas-overlay,.booking-bar,.slide-dock,.back-to-top,.share-box,.pr-sticky,.pr-modal{display:none !important}
  body{font-size:12pt;color:#000}
}
