/* NEW DESIGN (2026-10-22). Every rule is scoped to body.nd, so this file changes nothing unless the new design is switched on. */
body.nd{--nd-teal:#027E7E;--nd-teal-d:#016464;--nd-ink:#14302f;--nd-muted:#4a5d5d;--nd-line:#d3e6e6;--nd-soft:#eef6f6;--nd-gold:#B7791F}
body.nd h1,body.nd h2,body.nd h3,body.nd h4,body.nd h5,body.nd h6,body.nd .nd-hero-h,body.nd .nd-ptitle,body.nd .nd-btn{font-family:'Poppins',Arial,sans-serif!important;letter-spacing:-.01em}
body.nd h1,body.nd h2,body.nd h3{font-weight:700}
body.nd .fa-star.checked,body.nd .rating .checked,body.nd .rating .fa-star,body.nd .nd-star,body.nd .gr-stars{color:var(--nd-gold)!important}

/* buttons */
body.nd .nd-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:8px;font-weight:600;font-size:15px;line-height:1.2;text-decoration:none;white-space:nowrap;border:2px solid transparent;transition:background .15s}
body.nd .nd-btn-quote{background:var(--nd-teal);color:#fff!important;border-color:var(--nd-teal)}
body.nd .nd-btn-quote:hover,body.nd .nd-btn-quote:focus{background:var(--nd-teal-d);border-color:var(--nd-teal-d)}
body.nd .nd-btn-wa{background:#fff;color:var(--nd-ink)!important;border-color:#25D366}
body.nd .nd-btn-wa i{color:#1aa752;font-size:18px}
body.nd .nd-btn-wa:hover{background:#f1fbf4}

/* header: trust strip */
body.nd .nd-header{background:#fff}
body.nd .nd-trust{background:var(--nd-soft);border-bottom:1px solid var(--nd-line);color:#24484a;font-size:13px}
body.nd .nd-trust-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px}
body.nd .nd-trust-list{display:flex;flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none}
body.nd .nd-trust-list li{margin:0;padding:0;line-height:36px}
body.nd .nd-trust-list li+li:before{content:"\00B7";margin:0 10px;color:#7fa9a9}
body.nd .nd-trust-list a{color:#24484a;text-decoration:none}
body.nd .nd-trust-list a:hover{text-decoration:underline}
body.nd .nd-trust-tools{display:flex;align-items:center;gap:22px;flex-shrink:0}
body.nd .nd-trust-tools a.dropdown-toggle,body.nd .nd-trust-tools a.dropdown-toggle span{color:#24484a!important;font-size:13px}
/* header: main bar */
body.nd .nd-header .header_menu{background:#fff;border-bottom:1px solid #e8eeee}
body.nd .nd-bar{gap:18px;padding:10px 0;min-height:72px}
body.nd .nd-logo{display:block;padding:0;margin:0}
body.nd .nd-logo img{display:block;width:220px;height:auto;max-width:none}
body.nd .nd-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
@media (min-width:992px){
 body.nd .nd-header #bs-example-navbar-collapse-1{flex:1 1 auto;justify-content:center;min-width:0}
 body.nd .nd-header #responsive-menu{display:flex;flex-direction:row;flex-wrap:nowrap;white-space:nowrap}
 body.nd .nd-header #responsive-menu>li>a{font-family:'Poppins',Arial,sans-serif;font-weight:500;font-size:14px;text-transform:none;letter-spacing:0;padding-left:9px;padding-right:9px}
}
@media (min-width:992px) and (max-width:1399px){body.nd .nd-btn-wa .nd-wa-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}body.nd .nd-actions .nd-btn-wa{padding:8px 11px}}
@media (max-width:1199px){body.nd .nd-trust-list li:nth-child(5){display:none}body.nd .nd-actions .nd-btn{padding:8px 12px;font-size:14px}}
@media (max-width:991px){
 body.nd .nd-trust,body.nd .nd-actions{display:none!important}
 body.nd .nd-bar{min-height:60px;padding:6px 0}
 body.nd .nd-logo img{width:160px}
 body.nd .nd-mobile-extras-in{display:flex;gap:24px;align-items:center;padding:12px 16px;border-top:1px solid var(--nd-line)}
 body.nd .nd-mobile-extras-in .dropdown-menu{position:absolute}
 body.nd .slicknav_btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:-12px -12px -12px 0}
}

/* gallery: no "Previous/Next" text, no white gap while loading */
body.nd .slick-arrow{font-size:0!important;color:transparent!important;line-height:0}
body.nd .slider-store{background:#e7eeee;min-height:200px}
body.nd .slider-thumbs:not(.slick-initialized)>div:not(:first-child){display:none}
body.nd .description-images{position:relative}
body.nd .nd-photo-badges{position:absolute;left:10px;top:10px;z-index:5;display:flex;gap:6px;pointer-events:none}
body.nd .nd-badge{background:rgba(10,30,30,.72);color:#fff;font-size:13px;font-weight:600;line-height:1;padding:7px 10px;border-radius:999px}
body.nd .nd-badge .nd-star{margin-right:3px}

/* homepage hero */
body.nd .nd-hero{position:relative;display:flex;align-items:center;min-height:560px;overflow:hidden;background:#0d3b3b;color:#fff}
body.nd .nd-hero-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
body.nd .nd-hero-shade{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,rgba(0,30,30,.78) 0%,rgba(0,30,30,.45) 55%,rgba(0,0,0,.2) 100%)}
body.nd .nd-hero-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;align-items:center;padding-top:56px;padding-bottom:88px}
body.nd .nd-hero-h{font-weight:700;font-size:46px;line-height:1.12;margin:0 0 16px;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.25)}
body.nd .nd-hero-trust{margin:0;font-size:15px;line-height:1.5;color:#e9f4f4}
body.nd .nd-hero-trust .nd-star{letter-spacing:1px;margin-right:6px}
body.nd .nd-plan{background:#fff;color:var(--nd-ink);border-radius:14px;padding:22px;box-shadow:0 18px 40px rgba(0,0,0,.25)}
body.nd .nd-plan-title{font-family:'Poppins',Arial,sans-serif;font-weight:700;font-size:20px;margin:0 0 12px;color:var(--nd-ink)}
body.nd .nd-plan-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body.nd .nd-field{display:block;margin:0}
body.nd .nd-field>span{display:block;font-size:12px;font-weight:600;color:var(--nd-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}
body.nd .nd-field select{width:100%;height:46px;border:1px solid #c9dada;border-radius:8px;padding:0 10px;background:#fff;color:var(--nd-ink);font-size:15px}
body.nd .nd-field:first-child{grid-column:1/-1}
body.nd .nd-plan-btn{grid-column:1/-1;width:100%;align-self:end;min-height:46px}
body.nd .nd-plan-note{margin:10px 0 0;font-size:13px;color:var(--nd-muted)}
/* shortcut cards */
body.nd .nd-shortcuts{background:#fff;padding:0 0 28px}
body.nd .nd-cards{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:-48px}
body.nd .nd-card{display:grid;grid-template-columns:72px 1fr 20px;grid-template-rows:auto auto;column-gap:14px;align-items:center;background:#fff;border:1px solid #e1ecec;border-radius:12px;padding:14px;box-shadow:0 8px 24px rgba(13,59,59,.12);color:var(--nd-ink);text-decoration:none;transition:transform .15s,box-shadow .15s}
body.nd .nd-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(13,59,59,.18)}
body.nd .nd-card img{grid-row:1/3;grid-column:1;width:72px;height:56px;object-fit:cover;border-radius:8px}
body.nd .nd-card-t{grid-column:2;font-family:'Poppins',Arial,sans-serif;font-weight:600;font-size:17px;line-height:1.2}
body.nd .nd-card-p{grid-column:2;color:var(--nd-teal);font-weight:600;font-size:15px}
body.nd .nd-card-go{grid-column:3;grid-row:1/3;color:var(--nd-teal);font-size:20px}
@media (max-width:991px){
 body.nd .nd-hero-in{grid-template-columns:1fr;gap:22px;padding-top:32px;padding-bottom:28px}
 body.nd .nd-hero-h{font-size:34px}
 body.nd .nd-cards{grid-template-columns:1fr;margin-top:16px;gap:10px}
}
@media (max-width:575px){
 body.nd .nd-hero{min-height:0}
 body.nd .nd-hero-h{font-size:28px}
 body.nd .nd-hero-trust{font-size:14px}
 body.nd .nd-plan{padding:16px}
 body.nd .nd-plan-row{grid-template-columns:1fr 1fr;gap:10px}
}

/* program page: mobile first screen */
body.nd .nd-pinfo{display:none}
@media (max-width:991px){
 body.nd .single-content{display:flex;flex-direction:column}
 body.nd .single-content>.description-images{order:1;margin-bottom:12px!important}
 body.nd .single-content>.nd-pinfo{display:block;order:2}
 body.nd .single-content>.single-full-title{order:3}
 body.nd .single-content>section{order:4}
 body.nd .single-content .single-title h1{font-size:24px!important;line-height:1.25}
 body.nd .slider-thumbs{display:none!important}
 body.nd .breadcrumb-content.nd-hide-m{display:none}
 body.nd .nd-ptitle{font-weight:700;font-size:22px;line-height:1.25;margin:0;color:var(--nd-ink)}
 body.nd .nd-chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:10px 0 12px}
 body.nd .nd-chips li{background:var(--nd-soft);color:#1f4f4f;border:1px solid var(--nd-line);border-radius:999px;font-size:13px;line-height:1.2;padding:6px 10px;margin:0}
 body.nd .nd-pricebox{border:1px solid var(--nd-line);background:#f7fbfb;border-radius:12px;padding:12px 14px;margin:0 0 12px}
 body.nd .nd-price{font-family:'Poppins',Arial,sans-serif;font-weight:700;font-size:28px;line-height:1.1;color:var(--nd-teal)}
 body.nd .nd-from{font-size:14px;font-weight:600;color:var(--nd-muted)}
 body.nd .nd-price-sub{font-size:14px;color:var(--nd-muted);margin-top:2px}
 body.nd .nd-deposit{display:inline-block;margin-top:8px;font-size:13px;font-weight:600;color:#1f4f4f;background:#dff0f0;border-radius:6px;padding:4px 8px}
 body.nd .nd-pbtns{display:grid;grid-template-columns:1fr auto;gap:8px;margin:0 0 18px}
 body.nd .nd-pbtns .nd-btn{padding:10px 12px;font-size:15px;white-space:nowrap;text-align:center}
}
body.nd #tailorform,body.nd #bookform{scroll-margin-top:96px}@media (min-width:992px) and (max-width:1199px){
 body.nd .nd-logo img{width:170px}
 body.nd .nd-bar{gap:12px}
 body.nd .nd-header #responsive-menu>li:first-child{display:none}
 body.nd .nd-header #responsive-menu>li>a{font-size:13px;padding-left:6px;padding-right:6px}
 body.nd .nd-actions .nd-btn-quote{padding:8px 12px;font-size:14px}
}body.nd .slick-list{overflow:hidden}

/* ===== 2026-10-24 review fixes ===== */
/* menu button: was near-white on the white header (program pages) */
body.nd .slicknav_icon-bar{background-color:#14302f!important;box-shadow:none!important}
body.nd .slicknav_btn{background:transparent!important}
/* hero subline */
body.nd .nd-hero-sub{margin:0 0 14px;max-width:580px;font-size:18px;line-height:1.5;color:#f0f7f7}
@media (max-width:575px){body.nd .nd-hero-sub{font-size:16px}}
/* price box: euros first, dollars small */
body.nd .nd-usd{font-family:Arial,sans-serif;font-size:15px;font-weight:600;color:var(--nd-muted);white-space:nowrap}
body.nd.nd-cur-usd .nd-usd{display:none}
/* gallery: the photo box always fits the photo; badges stay inside it */
@media (max-width:991px){
 body.nd .slider-store{min-height:0!important}
 body.nd .slider-store img{display:block;width:100%!important;height:auto!important;aspect-ratio:16/10;object-fit:cover}
 body.nd .slider-store .slick-slide>div{line-height:0}
}
body.nd .nd-photo-badges{right:10px;flex-wrap:wrap;max-width:calc(100% - 20px)}
@media (max-width:374px){body.nd .nd-badge{font-size:12px;padding:6px 8px}}
/* one bottom bar on phones: Inquire | WhatsApp (replaces the floating bubble and the old fixed bar) */
body.nd .nd-bbar{display:none}
@media (max-width:991px){
 body.nd .floating-whatsapp,body.nd #inq_btn{display:none!important}
 body.nd .nd-bbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:1040;background:#fff;border-top:1px solid var(--nd-line);box-shadow:0 -4px 16px rgba(13,59,59,.10);padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px))}
 body.nd .nd-bbar .nd-btn{width:100%;min-height:46px}
 body.nd{padding-bottom:64px}
 body.nd #back-to-top{bottom:76px!important}
}
/* tables on phones */
@media (max-width:767px){
 body.nd table.nd-stack,body.nd table.nd-stack tbody,body.nd table.nd-stack tr,body.nd table.nd-stack td,body.nd table.nd-stack th{display:block;width:100%!important;min-width:0!important}
 body.nd table.nd-stack thead,body.nd table.nd-stack tr.nd-stack-head{display:none!important}
 body.nd table.nd-stack{border:0!important;background:transparent!important}
 body.nd table.nd-stack tr{border:1px solid var(--nd-line)!important;border-radius:10px;margin:0 0 10px;padding:4px 12px;background:#fff}
 body.nd table.nd-stack td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border:0!important;border-bottom:1px solid #edf3f3!important;padding:8px 0!important;text-align:right;background:transparent!important}
 body.nd table.nd-stack td:last-child{border-bottom:0!important}
 body.nd table.nd-stack td:before{content:attr(data-label);flex:0 0 46%;text-align:left;font-weight:600;color:var(--nd-muted)}
 body.nd table.nd-stack td:first-child{justify-content:flex-start;text-align:left;font-family:'Poppins',Arial,sans-serif;font-weight:700;color:var(--nd-ink)}
 body.nd table.nd-stack td:first-child:before{display:none}
 body.nd .nd-tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
 body.nd .nd-swipe{display:none;margin:4px 0 12px;font-size:13px;font-weight:600;color:var(--nd-teal);text-align:right}
 body.nd .nd-swipe.on{display:block}
}
@media (max-width:991px){body.nd .nd-pbtns{grid-template-columns:minmax(0,1fr) auto}body.nd .nd-pbtns .nd-btn{font-size:14px;padding:10px 10px;white-space:normal;line-height:1.2}body.nd .nd-pbtns .nd-btn-wa{white-space:nowrap}}

/* 2026-10-27 CLS fix (program pages): until the photo slider has started, show only the first photo and lay the thumbnails out in one row.
   Before this, all photos were stacked for ~2 s and then collapsed, pushing the price box and title (mobile CLS 0.29). */
body.nd .slider-store:not(.slick-initialized)>div:not(:first-child){display:none}
body.nd .slider-thumbs:not(.slick-initialized){display:flex;overflow:hidden}
body.nd .slider-thumbs:not(.slick-initialized)>div{flex:0 0 20%;max-width:20%}

/* 2026-10-27 CLS fix 2: the core slider rules (same as in the main stylesheet, which loads ~2 s later). Without them the started slider shows its photos stacked until that file arrives. */
.slick-slider{position:relative;display:block;box-sizing:border-box}
.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0}
.slick-track{position:relative;top:0;left:0;display:block}
.slick-track:after,.slick-track:before{display:table;content:''}
.slick-track:after{clear:both}
.slick-slide{display:none;float:left;height:100%;min-height:1px}
.slick-initialized .slick-slide{display:block}
.slick-prev,.slick-next{position:absolute;top:50%;display:block;width:40px;height:40px;margin-top:-20px;padding:0;border:0;font-size:0;line-height:40px;color:transparent;z-index:1}
.slick-prev{left:0}
.slick-next{right:0}

/* 2026-10-27 CLS fix 3 (mobile program pages): the photo slider comes after the price box and title in the HTML but is shown first.
   While the page is still arriving, the title was drawn higher and then pushed down by the photos (Lighthouse CLS 0.19).
   Reserve the photo space (16:10, same as the photo) from the first paint and place the photos in it. */
@media (max-width:991px){
 body.nd .single-content.nd-gal-first{position:relative}
 body.nd .single-content.nd-gal-first::before{content:"";display:block;order:0;width:100%;aspect-ratio:16/10;margin-bottom:12px}
 body.nd .single-content.nd-gal-first>.description-images{position:absolute;top:0;left:0;right:0;margin:0!important}
}

/* 2026-10-27 CLS fix 4 (mobile program pages): keep the feature chips at two rows whether the fallback font or Poppins is showing, so the price box and title do not move when the font arrives (Spanish chips went from one row to two). */
@media (max-width:991px){
 body.nd .nd-pinfo .nd-chips{min-height:64px;align-content:flex-start}
}
