/* Иволга 5.0 · Wildex Home Version 2. Original photography and existing panorama players. */
:root {
  --forest:#111111; --forest-deep:#242424; --cream:#f7f7f7; --sand:#ffffff;
  --ink:#101010; --muted:#666666; --line:#e3e3e3; --lime:#cbca7b; --orange:#cbca7b;
  --sage:#ececd8; --radius:20px; --shadow:none; --container:1200px;
  --display-font:var(--custom-site-font,'Manrope',Arial,sans-serif);
}
body,body.has-site-background { --site-font:var(--custom-site-font,'Manrope',Arial,sans-serif); background:var(--cream); color:var(--ink); font-size:17px; line-height:1.65; }
body.has-site-background { background:transparent; }
body.has-site-background::before,body.has-site-background::after { display:block; }
html { scroll-padding-top:110px; scrollbar-width:thin; scrollbar-color:var(--forest) var(--sand); }
* { scrollbar-width:auto; }
*::-webkit-scrollbar { display:block; width:8px; height:8px; }
*::-webkit-scrollbar-thumb { background:#8d9b8f; border-radius:8px; }
*::-webkit-scrollbar-track { background:var(--sand); }
::selection { background:var(--forest); color:white; }
:focus-visible { outline:3px solid #bb732d; outline-offset:4px; }
input,textarea,select { caret-color:var(--forest); }
.container { width:min(var(--container),calc(100% - 96px)); }
h1,h2,h3,.display,.stay-card h3,.call-band__phone { font-family:var(--display-font) !important; }
h1,h2 { font-weight:600; letter-spacing:-.035em; text-wrap:balance; }
h2 { font-size:clamp(32px,3.7vw,46px); line-height:1.16; }
h3 { font-weight:600; letter-spacing:-.025em; }
p { text-wrap:pretty; }
.section { padding:100px 0; }
.section-head { align-items:end; gap:64px; margin-bottom:34px; }
.section-head h2 { margin:0; max-width:630px; }
.section-head p { max-width:410px; margin:0; font-size:16px; color:var(--muted); }
.eyebrow { display:none; }
.page-hero .eyebrow,.catalog-hero .eyebrow,.prices-hero .eyebrow,.stay-hero .eyebrow { display:block; color:white; font-size:14px; font-weight:400; letter-spacing:0; text-transform:none; }
[data-reveal] { opacity:1; transform:none; }
.button { position:relative; overflow:hidden; min-height:52px; padding:15px 28px; border-radius:100px; font-size:15px; font-weight:600; line-height:1.4; gap:12px; transition:color .3s,background .3s,transform .3s; }
.button:hover { transform:translateY(-2px); }
.button:active { transform:translateY(1px); }
.button--accent { color:var(--ink); background:var(--orange); }
.button--accent:hover { background:#b7b669; color:#000; }
.button--dark { background:var(--lime); color:var(--ink); }
.button--dark:hover { background:#b7b669; color:#000; }
.button--outline { background:transparent; backdrop-filter:none; }
.text-link { display:inline-flex; align-items:center; gap:14px; font-size:15px; font-weight:600; text-decoration:underline; text-underline-offset:6px; }
.text-link svg { width:22px; height:22px; transition:transform .2s; }
.text-link:hover svg { transform:translateX(4px); }
.site-header:not(.is-scrolled) { background:rgba(20,38,32,.2); border:0; box-shadow:none; backdrop-filter:none; }
.site-header.is-scrolled { background:#fff; border-bottom:1px solid var(--line); box-shadow:none; backdrop-filter:none; }
.site-header__inner { min-height:88px; gap:24px; }
.brand__logo { height:54px; filter:none; }
.main-nav ul { gap:24px; }
.main-nav a,.header-phone { font-size:14px; font-weight:500; letter-spacing:0; text-transform:none; text-shadow:none; }
.menu-toggle,.site-header:not(.is-scrolled) .menu-toggle { border:0; border-radius:8px; background:transparent; min-width:44px; }
.main-nav a:hover,.site-header:not(.is-scrolled) .main-nav a:hover { color:inherit; }
.home .site-header { top:20px; left:20px; width:calc(100% - 40px); border-radius:24px 24px 0 0; }
.home .site-header:not(.is-scrolled) { background:transparent; border-bottom:1px solid rgba(255,255,255,.16); }
.home .site-header.is-scrolled { top:0; left:0; width:100%; border-radius:0; }
.home .header-phone { display:none; }
.home .site-header__inner { min-height:100px; }
.hero { width:calc(100% - 40px); margin:20px auto 0; border-radius:24px; overflow:hidden; min-height:825px; height:auto; padding-bottom:170px; display:flex; align-items:center; }
.hero__media::after { background:rgba(4,13,14,.55); }
.hero__content { display:block; padding:185px 0 70px; text-align:center; }
.hero h1 { max-width:960px; font-size:clamp(44px,5.6vw,70px); line-height:1.1; margin:22px auto 28px; font-weight:600; }
.hero__copy { max-width:760px; font-size:18px; margin:0 auto 36px; }
.hero__actions { justify-content:center; }
.hero__actions .button--outline { display:inline-flex; }
.hero__actions .button { padding-inline:30px; }
.hero-scroll-cue { display:none; }
.wildex-kicker { display:flex; align-items:center; gap:9px; margin-bottom:18px; font-size:13px; font-weight:700; color:#6a6a37; letter-spacing:.015em; }
.wildex-kicker svg { width:15px; height:15px; color:var(--lime); }
.wildex-kicker--light { justify-content:center; color:white; }
.wildex-kicker--light svg { color:white; }
.island-dock { position:relative; z-index:3; display:grid; grid-template-columns:.9fr 1fr 1.15fr 1.25fr; align-items:center; gap:24px; margin-top:-165px; min-height:125px; padding:28px 30px; background:rgba(40,42,40,.48); backdrop-filter:blur(22px) saturate(1.15); -webkit-backdrop-filter:blur(22px) saturate(1.15); border:1px solid rgba(255,255,255,.12); color:white; border-radius:20px; }
.island-dock h2 { margin:0; font-size:20px; font-weight:600; line-height:1.35; letter-spacing:0; }
.island-dock > a { display:flex; align-items:center; gap:14px; padding-left:22px; border-left:1px solid rgba(255,255,255,.12); font-size:14px; }
.island-dock strong { display:block; font-size:17px; font-weight:600; margin-bottom:5px; }
.island-dock__icon { display:grid; place-items:center; width:46px; height:46px; flex-shrink:0; background:rgba(203,202,123,.08); color:var(--lime); border-radius:50%; }
.island-dock svg { width:24px; height:24px; }
.island-dock > a:hover { color:var(--lime); }
.destination { padding-top:130px; }
.destination__layout { display:grid; grid-template-columns:1fr 1.08fr; gap:50px; align-items:center; }
.destination__collage { display:grid; grid-template-columns:1fr 1fr; gap:28px; height:560px; }
.destination__collage img { width:100%; height:390px; object-fit:cover; border-radius:20px; }
.destination__collage-left { display:grid; grid-template-rows:minmax(0,1fr) auto; gap:26px; }
.destination__collage-left img { height:100%; min-height:0; }
.destination__fact { background:var(--lime); padding:22px 24px; border-radius:20px; }
.destination__fact strong { display:block; font-size:30px; font-weight:600; }
.destination__fact span { font-size:14px; }
.destination__collage-right { min-height:0; }
.destination__collage-right img { height:100%; }
.destination__copy h2 { margin-bottom:24px; }
.destination__copy > p { margin-bottom:28px; font-size:16px; color:var(--muted); }
.stats { gap:22px; padding-top:24px; margin:28px 0; border-top:1px solid var(--line); }
.stat { padding:0; border:0; }
.stat strong { font-family:var(--site-font) !important; font-size:27px; font-weight:600; }
.stat span { color:var(--muted); font-size:13px; max-width:120px; }
.wildex-services { background:white; margin:0 20px; border-radius:24px; }
.wildex-section-title { text-align:center; max-width:820px; margin:0 auto 64px; }
.wildex-section-title .wildex-kicker { justify-content:center; }
.wildex-section-title h2 { margin-bottom:24px; }
.wildex-section-title > p { font-size:16px; color:var(--muted); }
.wildex-stays-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.wildex-stay { display:flex; flex-direction:column; background:var(--cream); padding:20px; border-radius:20px; }
.wildex-stay__photo { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; border-radius:20px; }
.wildex-stay__photo img { width:100%; height:100%; object-fit:cover; transition:transform .65s ease; }
.wildex-stay:hover .wildex-stay__photo img { transform:scale(1.06); }
.wildex-stay h3 { font-size:23px; line-height:1.3; min-height:2.6em; margin:24px 0 12px; }
.wildex-stay p { flex:1; font-size:15px; color:var(--muted); margin-bottom:22px; }
.wildex-stay .text-link { padding-top:18px; border-top:1px solid var(--line); text-decoration:none; justify-content:space-between; }
.wildex-services__note { text-align:center; font-size:15px; margin:34px 0 0; }
.wildex-services__note a { text-decoration:underline; text-underline-offset:4px; }
.crossing { padding:100px 0; }
.crossing__layout { display:grid; grid-template-columns:1fr 1.1fr; gap:72px; align-items:center; }
.crossing__copy h2 { margin-bottom:22px; }
.crossing__copy > p { max-width:530px; font-size:16px; }
.crossing__steps { padding:0; margin:30px 0; list-style:none; counter-reset:crossing; }
.crossing__steps li { counter-increment:crossing; position:relative; padding:0 0 24px 45px; }
.crossing__steps li::before { content:counter(crossing); position:absolute; left:0; top:0; width:28px; height:28px; background:var(--lime); color:var(--ink); border-radius:50%; text-align:center; font-size:14px; line-height:28px; }
.crossing__steps strong { font-size:17px; font-weight:500; }
.crossing__steps p { color:var(--muted); font-size:15px; margin:5px 0 0; }
.crossing__photo { position:relative; aspect-ratio:5/6; overflow:hidden; border-radius:20px; }
.crossing__photo img { width:100%; height:100%; object-fit:cover; }
.crossing__contact { position:absolute; left:24px; right:24px; bottom:24px; background:#fff; padding:20px 24px; border-radius:12px; }
.crossing__contact span { display:block; color:var(--muted); font-size:14px; }
.crossing__contact a { font-size:24px; font-weight:500; }
.island-days { background:var(--cream); padding:0 0 100px; }
.island-days .section-head { align-items:start; }
.photo-rail-controls { display:flex; gap:8px; margin-top:20px; }
.photo-rail-controls button { display:grid; place-items:center; width:44px; height:44px; border:1px solid #c2cbbf; border-radius:50%; background:var(--lime); color:var(--ink); cursor:pointer; }
.photo-rail-controls button:disabled { opacity:.35; cursor:default; }
.photo-rail-controls button:hover:not(:disabled) { background:#fff; }
.photo-rail-controls svg { width:20px; height:20px; }
[data-rail-back] svg { transform:rotate(180deg); }
.photo-rail { display:flex; gap:22px; width:min(var(--container),calc(100% - 96px)); margin-inline:auto; overflow-x:auto; padding:0; scroll-snap-type:x mandatory; scrollbar-width:none; -ms-overflow-style:none; }
.photo-rail::-webkit-scrollbar { display:none; width:0; height:0; }
.day-photo { flex:0 0 calc((100% - 66px)/4); min-width:0; margin:0; scroll-snap-align:start; }
.day-photo img { width:100%; height:320px; object-fit:cover; border-radius:20px; }
.day-photo figcaption { padding:16px 0 0; font-size:19px; font-weight:500; }
.island-days .text-link { margin-top:24px; }
.home-tour { padding:100px 0; background:#fff; margin:0 20px 100px; border-radius:24px; }
.home-tour .text-link { margin-top:18px; }
.home-tour__browser,.embedded-tour__frame { border:0; border-radius:18px; box-shadow:none; overflow:hidden; }
.home-tour__bar,.embedded-tour__bar { display:none; }
.home-tour__browser iframe { aspect-ratio:16/9; }
.home-tour__hint { text-align:left; color:var(--muted); font-size:14px; }
.island-details { position:relative; isolation:isolate; overflow:hidden; padding:100px 0; margin:0 20px 100px; background:#e5e9df; color:var(--ink); border-radius:24px; }
.island-details::before { content:''; position:absolute; z-index:-1; inset:-40px; background:url('../images/pages/pejzazhi/001.jpg') center/cover; filter:blur(28px); opacity:.24; }
.island-details__layout { display:grid; grid-template-columns:1fr 1fr; gap:88px; align-items:start; }
.island-details__intro h2 { margin-bottom:32px; }
.island-details__intro img { width:100%; height:400px; object-fit:cover; border-radius:18px; }
.island-details__list { padding-top:8px; }
.island-details details { border-bottom:1px solid #b8c2b4; padding:20px 0; }
.island-details summary { display:flex; justify-content:space-between; align-items:center; gap:20px; cursor:pointer; list-style:none; font-size:19px; font-weight:500; }
.island-details summary::-webkit-details-marker { display:none; }
.island-details summary span { position:relative; width:20px; height:20px; flex-shrink:0; }
.island-details summary span::before,.island-details summary span::after { position:absolute; content:''; background:#62652d; top:9px; left:3px; width:14px; height:2px; }
.island-details summary span::after { transform:rotate(90deg); transition:transform .2s; }
.island-details details[open] summary span::after { transform:rotate(0); }
.island-details summary[aria-expanded="false"] span::after { transform:rotate(90deg); }
.island-details details p { margin:0; padding:16px 28px 0 0; font-size:16px; color:#3e4b40; }
.island-details__content { overflow:hidden; }
.island-details .wildex-kicker { color:#62652d; }
.home-video { background:var(--cream); color:var(--ink); }
.home-video::before { display:none; }
.home-video__stage { border:0; border-radius:18px; box-shadow:none; }
.island-invite { padding:20px 0 84px; }
.island-invite__layout { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; background:var(--lime); border-radius:24px; padding:52px; }
.island-invite__layout h2 { margin-bottom:22px; }
.island-invite__layout p { font-size:16px; }
.island-invite__phone { display:block; font-size:30px; font-weight:500; margin:28px 0 18px; }
.island-invite__layout > img { width:100%; height:370px; object-fit:cover; border-radius:12px; }
.home-map { padding:0 0 84px; }
.home-map__frame { height:460px; border:0; border-radius:18px; box-shadow:none; overflow:hidden; }
.footer { background:var(--forest-deep); color:white; padding-top:70px; border:0; }
.footer::before,.footer::after { display:block; }
.footer__about p,.footer__links,.footer-socials > span,.footer__legal a,.footer__bottom,.footer__title { color:white; }
.footer__title,.footer-socials > span { font-size:14px; letter-spacing:0; text-transform:none; font-weight:500; }
.footer__grid { gap:48px; }
.footer__legal,.footer__bottom { border-color:#414141; }
.footer-socials img { width:30px; height:30px; }
.page-hero h1,.catalog-hero h1,.stay-hero h1,.prices-hero h1 { font-size:clamp(40px,4.5vw,64px); line-height:1.12; }
.entry-content { color:var(--ink); font-size:17px; line-height:1.75; }
.entry-content > p { max-width:75ch; }
.entry-content h2,.stay-layout > article > h2 { font-size:clamp(30px,3vw,40px); }
.page-contact,.stay-booking { color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
.page-contact small,.stay-booking__label { color:var(--ink); background:transparent; font-size:18px; font-weight:500; letter-spacing:0; text-transform:none; padding:0; }
.page-contact p,.stay-booking p,.stay-booking dt,.stay-booking dd { color:var(--muted); font-size:15px; }
.stay-booking dd { color:var(--ink); font-weight:500; }
.stay-booking dl > div { border-color:var(--line); }
.stay-layout { gap:60px; grid-template-columns:minmax(0,1fr) 330px; }
.amenities__grid { gap:0 28px; }
.amenities__grid div { min-height:50px; background:transparent; border:0; border-radius:0; box-shadow:none; padding:12px 0; font-size:16px; font-weight:400; }
.amenities__grid span { color:var(--forest); background:transparent; box-shadow:none; width:20px; height:20px; font-size:16px; font-weight:400; }
.catalog-card { border-radius:14px; box-shadow:none; color:var(--ink); background:#fff; }
.catalog-card__body { padding:24px; }
.catalog-card h2 { font-size:25px; }
.catalog-card p { font-size:15px; }
.catalog-card__footer { border-color:var(--line); font-size:14px; }
.catalog-card__type { font-size:13px; text-transform:none; letter-spacing:0; font-weight:400; }
.catalog-card__image { height:auto; aspect-ratio:4/3; }
.catalog-filters a { border-radius:8px; font-size:14px; font-weight:500; }
.catalog-grid,.archive-grid { gap:28px; }
.type-card,.section-archive-card { border-radius:14px; }
.type-card__body strong,.section-archive-card__body strong { font-family:var(--site-font) !important; font-weight:500; }
.type-card__body small,.section-archive-card__body small { display:none; }
.page-gallery a,.stay-gallery__item,.page-videos article,.video-frame { border-radius:14px; box-shadow:none; }
.review-card { border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:none; }
.prices-hero { min-height:500px; height:auto; }
.prices-hero__content { padding:150px 0 70px; }
.prices-hero__content > p { font-size:17px; max-width:620px; }
.prices-hero__facts { display:flex; gap:36px; margin-top:28px; }
.prices-hero__facts div,.prices-hero__facts div:first-child,.prices-hero__facts div:last-child { min-height:0; padding:0; color:white; border:0; background:transparent; border-radius:0; backdrop-filter:none; }
.prices-hero__facts strong { font-size:26px; font-weight:500; }
.prices-hero__facts span { font-size:14px; }
.price-nav { top:88px; background:#fff; border:0; }
.price-nav a { font-size:14px; font-weight:500; border-radius:0; }
.price-alert { display:grid; grid-template-columns:1fr auto; background:var(--sand); padding:28px 32px; border:0; border-radius:14px; gap:12px 40px; margin-bottom:42px; box-shadow:none; }
.price-alert > span { display:none; }
.price-alert strong { font-size:27px; line-height:1.3; font-weight:500; }
.price-alert p { grid-column:1; margin:0; font-size:15px; }
.price-alert a { grid-column:2; grid-row:1/3; align-self:center; font-size:15px; border-radius:8px; color:var(--forest); background:transparent; }
.price-search { display:flex; align-items:end; gap:24px; margin:0 0 40px; }
.price-search[hidden],.price-table-wrap[hidden],.price-heading[hidden],.price-table tr[hidden] { display:none; }
.price-search label { flex:0 1 470px; font-size:15px; font-weight:500; }
.price-search input { width:100%; height:50px; display:block; margin-top:8px; padding:10px 15px; font:inherit; color:var(--ink); border:1px solid #bdc9bc; border-radius:8px; background:white; }
.price-search__status { margin:0 0 10px; font-size:15px; }
.price-table-wrap { background:#fff; border:0; border-radius:14px; box-shadow:none; margin-bottom:60px; }
.price-table { font-size:16px; }
.price-table th { padding:18px 24px; background:var(--sage); color:var(--ink); font-size:14px; font-weight:500; text-transform:none; letter-spacing:0; }
.price-table td { padding:20px 24px; border-color:var(--line); background:#fff; }
.price-table td:first-child { width:40%; }
.price-table td:first-child a { font-size:16px; font-weight:500; }
.price-table td:first-child a span { display:grid; place-items:center; flex:0 0 28px; width:28px; height:28px; min-width:28px; min-height:28px; aspect-ratio:1; box-sizing:border-box; background:transparent; color:var(--forest); }
.price-table td:first-child a span::before { width:12px; height:12px; transform:translate(-50%,-50%); }
.price-table td:last-child strong { color:var(--forest); font-size:21px; font-weight:500; font-variant-numeric:tabular-nums; }
.price-table tbody tr:hover td { background:#f0f3ec; }
.price-included { background:var(--sand); color:var(--ink); border:0; border-radius:0; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; }
.price-included__layout { grid-template-columns:.9fr 1.35fr 1fr; gap:32px; }
.price-included__image { width:100%; height:340px; object-fit:cover; border-radius:20px; }
.price-included h2 { color:var(--ink); font-size:32px; }
.price-included p { color:var(--muted); font-size:15px; }
.unlimited-prices { grid-template-columns:1fr 1fr; }
.unlimited-prices div { background:transparent; border:0; border-radius:0; box-shadow:none; }
.unlimited-prices strong { font-size:40px; font-weight:500; }
.service-price-grid { grid-template-columns:repeat(3,1fr); gap:24px; }
.service-price-card { border-radius:14px; background:white; border:0; box-shadow:none; padding:28px; }
.service-price-card h3 { font-size:27px; }
.service-price-card dt,.service-price-card dd { font-size:15px; }
.service-price-card dl > div { border-color:var(--line); }
.service-price-card p,.service-price-card a { font-size:15px; }
.compact-prices { grid-template-columns:1fr 1fr; gap:0 40px; background:transparent; }
.compact-prices > div { border-radius:0; box-shadow:none; padding:18px 0; background:transparent; border:0; border-bottom:1px solid var(--line); font-size:16px; }
.compact-prices strong { color:var(--ink); font-size:16px; font-weight:500; }
.price-notes { grid-template-columns:1fr; counter-reset:priceNotes; gap:0; padding-left:26px; }
.price-notes li { display:list-item; list-style:decimal; background:transparent; border:0; box-shadow:none; border-radius:0; min-height:0; padding:12px 0 12px 8px; font-size:16px; }
.price-notes li::before { display:none; }
.price-cta { background:var(--sand); padding:56px 0; }
.price-cta h2 { font-size:36px; }
.cookie-banner { border-radius:14px; backdrop-filter:none; }
.discount-popup__dialog { border-radius:18px; }
.discount-popup__content h2 { font-size:34px; }
.mega-menu { background:var(--cream); }
.mega-menu__group h2 { font-size:24px; }
.mega-menu a { font-size:16px; }
.mega-menu__close span { position:relative; flex:0 0 38px; width:38px; height:38px; box-sizing:border-box; aspect-ratio:1; font-size:0; line-height:0; }
.mega-menu__close span::before,.mega-menu__close span::after { content:''; position:absolute; top:50%; left:50%; width:14px; height:1.5px; background:currentColor; transform:translate(-50%,-50%) rotate(45deg); }
.mega-menu__close span::after { transform:translate(-50%,-50%) rotate(-45deg); }
.floating-contact__toggle { width:54px; height:54px; }
@media (max-width:1050px) {
  .price-included__layout { grid-template-columns:1fr 1.5fr; }
  .price-included__image { grid-row:span 2; height:100%; min-height:340px; }
  .price-included .unlimited-prices { grid-column:2; }
  .photo-rail { width:calc(100% - 64px); }
  .day-photo { flex-basis:calc((100% - 22px)/2); }
  .container { width:calc(100% - 64px); }
  .island-dock { grid-template-columns:1fr 1fr; gap:24px; }
  .island-dock > a { border:0; padding-left:0; }
  .destination__layout { grid-template-columns:1fr 1fr; gap:30px; }
  .destination__collage { gap:16px; }
  .wildex-stays-grid { gap:20px; }
  .island-details__layout { gap:48px; }
  .service-price-grid { grid-template-columns:1fr; }
  .service-price-card { display:grid; grid-template-columns:1fr 1.7fr; gap:0 36px; }
  .service-price-card dl { grid-column:2; grid-row:1/4; }
  .stay-layout { gap:36px; grid-template-columns:minmax(0,1fr) 290px; }
}
@media (max-width:760px) {
  html { scroll-padding-top:90px; }
  .container { width:calc(100% - 40px); }
  h2 { font-size:32px; }
  .section { padding:56px 0; }
  .section-head { display:block; margin-bottom:28px; }
  .section-head p { margin-top:18px; max-width:100%; }
  .site-header__inner { min-height:72px; }
  .brand__logo { height:43px; }
  .hero { width:calc(100% - 24px); margin-top:12px; border-radius:20px; height:auto; min-height:660px; padding-bottom:200px; }
  .hero__content { padding-top:140px; padding-bottom:50px; }
  .hero h1 { font-size:39px; line-height:1.12; margin:20px auto 22px; }
  .hero__copy { font-size:17px; line-height:1.55; }
  .hero__actions { flex-wrap:wrap; justify-content:center; gap:14px; }
  .hero__actions .button { width:auto; font-size:14px; }
  .hero__actions .button--outline { border:0; padding-inline:0; text-decoration:underline; text-underline-offset:6px; }
  .island-dock { margin-top:-200px; grid-template-columns:1fr; padding:24px; width:calc(100% - 56px); gap:22px; }
  .island-dock h2 { font-size:20px; }
  .island-dock h2 br { display:none; }
  .island-dock > a { padding-left:0; border:0; font-size:14px; }

  .destination { padding-top:60px; }
  .destination__layout { grid-template-columns:1fr; gap:32px; }
  .destination__collage { height:440px; gap:18px; }
  .destination__collage img { height:100%; min-height:0; }
  .destination__fact { padding:18px; }
  .destination__fact strong { font-size:25px; }
  .destination__copy h2 { font-size:32px; }
  .wildex-services { margin:0 12px; padding:60px 0; }
  .wildex-services > .container { width:calc(100% - 32px); }
  .wildex-section-title { margin-bottom:36px; }
  .wildex-stays-grid { grid-template-columns:1fr; gap:24px; }
  .wildex-stay h3 { min-height:0; }
  .home .site-header { left:12px; top:12px; width:calc(100% - 24px); }
  .home .site-header__inner { min-height:76px; }
  .home .site-header.is-scrolled { left:0; top:0; width:100%; }
  .stats { gap:14px; }
  .stat strong { font-size:25px; }
  .stat span { font-size:12px; }

  .crossing { padding:60px 0; }
  .crossing__layout { grid-template-columns:1fr; gap:30px; }
  .crossing__photo { aspect-ratio:4/5; border-radius:20px; }
  .crossing__contact { bottom:16px; left:16px; right:16px; padding:18px; }
  .crossing__contact a { font-size:23px; }
  .photo-rail { gap:16px; width:calc(100% - 40px); padding:0; }
  .day-photo { flex-basis:100%; }
  .day-photo img { height:280px; }
  .photo-rail-controls { margin-top:20px; }
  .home-tour__browser iframe,.embedded-tour__frame iframe { aspect-ratio:4/3; }
  .island-details { margin:0 12px 60px; padding:60px 0; }
  .island-details__layout { grid-template-columns:1fr; gap:24px; }
  .home-tour { margin:0 12px 60px; padding:60px 0; }
  .island-details__intro img { height:260px; }
  .island-details summary { font-size:18px; }
  .island-invite { padding-top:0; }
  .island-invite__layout { grid-template-columns:1fr; padding:28px; gap:28px; }
  .island-invite__layout > img { height:240px; }
  .island-invite__phone { font-size:25px; }
  .island-invite .button { font-size:14px; padding-inline:15px; }
  .home-map { padding-top:0; }
  .home-map__frame { height:360px; }
  .footer__grid { grid-template-columns:1fr; gap:28px; }
  .footer__bottom { flex-direction:column; gap:10px; }
  .page-hero h1,.catalog-hero h1,.stay-hero h1 { font-size:40px; }
  .stay-layout { grid-template-columns:1fr; gap:32px; }
  .stay-booking { position:static; padding:26px; }
  .amenities__grid { grid-template-columns:1fr; }
  .catalog-grid,.archive-grid,.catalog-types,.section-archive__grid { grid-template-columns:1fr; }
  .page-contact--wide { grid-template-columns:1fr; gap:18px; padding:28px; }
  .page-contact--wide .button { grid-column:auto; }
  .prices-hero { min-height:560px; }
  .prices-hero__content { padding:120px 0 60px; }
  .prices-hero h1 { font-size:40px; }
  .prices-hero__content > p { font-size:16px; }
  .prices-hero__facts { flex-direction:column; gap:12px; }
  .prices-hero__facts div { display:block; }
  .prices-hero__facts strong { display:inline; font-size:23px; margin-right:10px; }
  .price-nav { top:72px; }
  .price-nav .container { gap:22px; }
  .price-nav a { font-size:13px; padding:16px 0; }
  .price-alert { grid-template-columns:1fr; padding:24px; gap:14px; }
  .price-alert strong { font-size:25px; }
  .price-alert a { grid-column:1; grid-row:auto; justify-self:start; white-space:normal; padding:0; }
  .price-search { display:block; }
  .price-search__status { margin:12px 0 0; }
  .price-table-wrap { background:transparent; overflow:visible; }
  .price-table tbody { display:block; }
  .price-table tr { display:grid; grid-template-columns:1fr 1fr; background:#fff; border:1px solid var(--line); border-radius:12px; padding:20px; margin-bottom:14px; box-shadow:none; }
  .price-table td,.price-table td:first-child,.price-table td:last-child { background:transparent; padding:8px 0; border:0; }
  .price-table td:first-child { width:auto; }
  .price-table td:first-child a { font-size:18px; }
  .price-table td::before { font-size:13px; font-weight:400; text-transform:none; letter-spacing:0; }
  .price-table td:last-child { grid-column:auto; text-align:left; }
  .price-table td:last-child strong { font-size:22px; }
  .price-table tbody tr:hover td { background:transparent; }
  .price-included__layout { grid-template-columns:1fr; gap:24px; }
  .price-included__image { grid-row:auto; height:260px; min-height:0; }
  .price-included .unlimited-prices { grid-column:auto; }
  .unlimited-prices div { padding:20px 12px; }
  .price-included h2 { font-size:30px; }
  .service-price-card { display:block; padding:26px; }
  .service-price-card h3 { font-size:28px; }
  .compact-prices { grid-template-columns:1fr; }
  .compact-prices > div { grid-template-columns:1fr; gap:6px; }
  .compact-prices strong { white-space:normal; }
  .price-cta h2 { font-size:30px; }
  .cookie-banner { padding:18px; }
  .cookie-banner__actions { flex-wrap:wrap; }
  .discount-popup__content h2 { font-size:28px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .button:hover,.text-link:hover svg { transform:none; }
}
.wildex-word { display:inline-block; vertical-align:top; }
.wildex-cursor { position:fixed; top:0; left:0; z-index:2400; width:10px; height:10px; border-radius:50%; pointer-events:none; background:var(--lime); opacity:0; }
.wildex-word-wrap { display:inline-block; overflow:hidden; vertical-align:top; padding-bottom:.06em; margin-bottom:-.06em; }
.button svg { transition:transform .35s ease; }
.button:hover svg { transform:rotate(45deg); }
.wildex-stay .text-link:hover { color:#5a592f; }
.crossing__photo { border-radius:20px; }
.home-tour__browser,.embedded-tour__frame,.home-map__frame { border-radius:20px; }
.island-invite .wildex-kicker { color:#4c4c28; }
.island-invite .button--dark { background:var(--ink); color:white; }
.island-invite .button--dark:hover { background:#303030; }
@media (prefers-reduced-motion:reduce) {
  .button:hover svg,.wildex-stay:hover .wildex-stay__photo img { transform:none; }
}

/* Shared framed hero and inset navigation across WordPress templates. */
body .site-header:not(.is-scrolled) { top:36px; left:20px; right:20px; width:calc(100% - 40px); border-radius:0; background:transparent; border-bottom:1px solid rgba(255,255,255,.16); }
body .site-header:not(.is-scrolled) .site-header__inner { min-height:100px; }
body .site-header.is-scrolled { top:0; left:0; right:0; width:100%; border-radius:0; }
.page-hero,.catalog-hero,.stay-hero,.prices-hero { position:relative; display:flex; align-items:center; width:calc(100% - 40px); height:auto; min-height:825px; margin:20px auto 0; padding:180px 0 100px; border-radius:24px; overflow:hidden; text-align:center; }
.page-hero > .container,.catalog-hero > .container,.stay-hero > .container,.prices-hero > .container { position:relative; z-index:1; }
.page-hero h1,.catalog-hero h1,.stay-hero h1,.prices-hero h1 { max-width:960px; margin:22px auto 28px; font-size:clamp(44px,5.6vw,70px); line-height:1.1; }
.page-hero p,.catalog-hero p,.stay-hero p,.prices-hero__content > p { max-width:760px; margin:0 auto; font-size:18px; }
.prices-hero__content { padding:0; }
.prices-hero__facts,.stay-hero .breadcrumbs { justify-content:center; }
@media(max-width:760px) {
 body .site-header:not(.is-scrolled) { top:24px; left:12px; right:12px; width:calc(100% - 24px); }
 body .site-header:not(.is-scrolled) .site-header__inner { min-height:76px; }
 .page-hero,.catalog-hero,.stay-hero,.prices-hero { width:calc(100% - 24px); margin-top:12px; min-height:660px; padding:140px 0 60px; border-radius:20px; }
 .page-hero h1,.catalog-hero h1,.stay-hero h1,.prices-hero h1 { font-size:39px; line-height:1.12; }
 .page-hero p,.catalog-hero p,.stay-hero p,.prices-hero__content > p { font-size:17px; }
}

.island-dock__copy p { margin:6px 0 0; font-size:13px; }
.destination__fact small { display:block; margin-bottom:8px; }

html.lenis,html.lenis body { height:auto; }
html.lenis.lenis-smooth { scroll-behavior:auto !important; }
.lenis.lenis-stopped { overflow:hidden; }
@media(min-width:1051px) and (prefers-reduced-motion:no-preference) {
 .page-hero--image::before,.catalog-hero--image::before,.stay-hero--image::before { transform:translateY(var(--hero-shift,0%)) scale(1.12); }
}

.back-to-top { position:fixed; right:28px; bottom:28px; z-index:45; display:grid; place-items:center; width:54px; height:54px; padding:0; flex-shrink:0; border:1px solid rgba(17,17,17,.12); border-radius:50%; background:var(--lime); color:var(--ink); cursor:pointer; box-shadow:0 4px 16px rgba(0,0,0,.1); transition:background .25s,transform .25s; }
.back-to-top[hidden],body.menu-open .back-to-top,body.privacy-open .back-to-top { display:none; }
.back-to-top svg { width:22px; height:22px; }
.back-to-top:hover { background:#b7b669; transform:translateY(-3px); }
body:has(.cookie-banner.is-open) .back-to-top { bottom:180px; }
@media(max-width:760px) { .back-to-top { right:18px; bottom:20px; width:48px; height:48px; } body:has(.cookie-banner.is-open) .back-to-top { bottom:280px; } }
@media(prefers-reduced-motion:reduce) { .back-to-top { transition:none; } }

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) { .island-dock { background:rgba(40,42,40,.88); } }

/* Accommodation: aligned summary, independent full-width panorama. */
.stay-layout { grid-template-columns:minmax(0,1fr) minmax(300px,350px); gap:clamp(32px,4vw,64px); align-items:start; }
.stay-layout > .stay-description { min-width:0; }
.stay-layout > .stay-description > h2 { margin:0 0 28px; line-height:1.16; }
.stay-layout .stay-booking { position:static; min-width:0; padding:30px; }
.stay-booking .button { width:100%; flex-wrap:wrap; gap:2px 6px; text-align:center; padding-inline:18px; }
.stay-booking__phone { white-space:nowrap; }
.stay-tours:empty { display:none; }
.stay-tours > .embedded-tour { margin:64px 0 0; padding-top:52px; border-top:1px solid var(--line); }
.stay-tours .embedded-tour__head { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:48px; align-items:start; }
.stay-tours .embedded-tour__head h2 { margin:0; font-size:clamp(30px,3.4vw,46px); line-height:1.16; }
.stay-tours .embedded-tour__head p { padding-top:6px; max-width:450px; }
.stay-layout .amenities { margin-top:40px; padding-top:32px; }
.stay-layout .amenities h2 { margin-top:0; font-size:clamp(28px,2.7vw,38px); }
.back-to-top { isolation:isolate; box-shadow:none; transform:none; }
.back-to-top::before,.back-to-top::after { content:none !important; display:none !important; }
@media(hover:hover) and (pointer:fine) { .back-to-top:hover { transform:translateY(-3px); } }
@media(hover:none),(pointer:coarse) { .back-to-top:hover { transform:none; } }
@media(max-width:1100px) {
 .stay-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
 .stay-layout .stay-booking { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.8fr); gap:16px 32px; }
 .stay-booking__label { grid-column:1/-1; }
 .stay-booking dl { grid-column:1; grid-row:2/4; margin:0; }
 .stay-booking p { grid-column:2; margin:0; }
 .stay-booking .button { grid-column:2; align-self:end; }
 .stay-tours .embedded-tour__head { grid-template-columns:1fr; gap:16px; }
 .stay-tours .embedded-tour__head p { max-width:680px; padding:0; }
}
@media(max-width:600px) {
 .stay-layout .stay-booking { display:block; padding:24px; }
 .stay-booking dl { margin:20px 0; }
 .stay-booking p { margin:0 0 20px; }
 .stay-layout > .stay-description > h2 { font-size:30px; margin-bottom:22px; }
 .stay-layout .amenities { margin-top:28px; padding-top:26px; }
 .stay-layout .amenities__grid { grid-template-columns:1fr; }
 .stay-tours > .embedded-tour { margin-top:40px; padding-top:32px; }
 .stay-tours .embedded-tour__head h2 { font-size:30px; }
 .stay-tours .embedded-tour__frame iframe { aspect-ratio:4/3; }
 .back-to-top { right:max(16px,env(safe-area-inset-right)); bottom:max(20px,env(safe-area-inset-bottom)); }
}

body.menu-open .floating-call,body.privacy-open .floating-call { display:none; }
@media(max-width:760px) {
 .floating-call { width:48px; height:48px; right:max(16px,env(safe-area-inset-right)); bottom:max(20px,env(safe-area-inset-bottom)); box-shadow:none; border:1px solid rgba(17,17,17,.12); }
 .back-to-top { bottom:calc(max(20px,env(safe-area-inset-bottom)) + 62px); }
 body:has(.cookie-banner.is-open) .floating-call { bottom:280px; }
 body:has(.cookie-banner.is-open) .back-to-top { bottom:342px; }
}

/* Neutral menu overlay and legible arrows on olive controls. */
.mega-menu { background:#171b18; }
.mega-menu::before { filter:blur(18px) saturate(.35); }
.mega-menu::after { background:rgba(29,34,30,.76); }
.section-archive-card__body i,.entry-content .section-archive-card__body i,.round-link { color:#101010; }
.home-video__poster { width:100%; height:100%; object-fit:cover; }
.home-video__pending { position:absolute; left:24px; bottom:24px; padding:12px 18px; border-radius:12px; background:rgba(16,20,17,.72); color:white; font-size:15px; backdrop-filter:blur(12px); }
.day-photo > a { display:block; color:var(--ink); text-decoration:none; }
.day-photo > a:hover figcaption { text-decoration:underline; text-underline-offset:5px; }
@media(max-width:600px) { .home-video__pending { left:14px; bottom:14px; right:14px; padding:10px 12px; font-size:13px; } }

.mega-menu__group a span { box-sizing:border-box; opacity:.85; }
.mega-menu__group a span::before { width:13px; height:13px; top:50%; left:50%; transform:translate(-50%,-50%); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%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 d='M5 12h14M13 6l6 6-6 6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.mega-menu__group a:hover span { color:#101010; }
