/*
 * tp_kraxenberger_gasthaus 0.4.2
 * Clean rebuild of the Kraxenberger frontend shell.
 * Home: one green stage, desktop navigation directly below the brand row; integrated dark footer line at the bottom.
 */
:root{
  --kx-green:#0d5d45;
  --kx-green-deep:#094a37;
  --kx-green-soft:#176f54;
  --kx-cream:#f7f5ef;
  --kx-white:#fff;
  --kx-ink:#202522;
  --kx-muted:#66706a;
  --kx-border:#dde5df;
  --kx-shadow:0 22px 64px rgba(16,48,35,.14);
  --kx-shadow-soft:0 10px 32px rgba(16,48,35,.09);
  --kx-radius:28px;
  --kx-content:1720px;
  --kx-font-body:"Ubuntu",Arial,Helvetica,sans-serif;
  --kx-font-display:"Dosis","Ubuntu",Arial,Helvetica,sans-serif;
}

*{box-sizing:border-box}
html{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
body.kx-app{position:relative;width:100%;max-width:100%;margin:0;overflow-x:hidden;overscroll-behavior-x:none;background:var(--kx-cream);color:var(--kx-ink);font-family:var(--kx-font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;touch-action:pan-y pinch-zoom}
body.kx-app img,body.kx-app svg,body.kx-app video,body.kx-app iframe{max-width:100%}
body.kx-app a{text-underline-offset:.18em}
body.kx-app h1,body.kx-app h2,body.kx-app h3{font-family:var(--kx-font-display);letter-spacing:-.025em}
.kx-shell-inner{width:min(calc(100% - 88px),var(--kx-content));margin-inline:auto}

/* We render our own shell. Never show Astroid's second header/contact presentation. */
.kx-app .astroid-header-section,
.kx-app #astroid-header,
.kx-app #astroid-sticky-header,
.kx-app .astroid-contact-info{display:none!important}

/* Shared brand / buttons */
.kx-brand{display:flex;align-items:center;gap:14px;min-width:0;text-decoration:none!important}
.kx-brand__mark{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:15px;background:#eef1dd;color:#0d5a42;box-shadow:0 5px 18px rgba(0,0,0,.08)}
.kx-brand__mark svg,.kx-header-book svg,.kx-cart-button svg,.kx-hero-contactbar svg,.kx-contactitem svg,.kx-mobile-dock svg,.kx-nav-dropdown__icon svg,.kx-btn svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kx-brand__mark svg{width:27px;height:27px}
.kx-brand__copy{display:flex;flex-direction:column;min-width:0}
.kx-brand__copy strong{font-family:var(--kx-font-display);font-size:1.22rem;line-height:1.05;letter-spacing:-.015em;white-space:nowrap}
.kx-brand__copy small{margin-top:6px;font-size:.78rem;line-height:1;letter-spacing:.02em}
.kx-header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.kx-header-book{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 21px;border-radius:999px;text-decoration:none!important;font-size:.86rem;font-weight:700;transition:.18s ease}
.kx-header-book svg{width:18px;height:18px}

.kx-cart-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 17px;border:1px solid rgba(13,93,69,.18);border-radius:999px;background:#fff;color:var(--kx-green-deep)!important;text-decoration:none!important;font-size:.82rem;font-weight:800;box-shadow:0 8px 24px rgba(17,58,43,.10);transition:transform .18s ease,background .18s ease,border-color .18s ease}
.kx-cart-button[hidden]{display:none!important}
.kx-cart-button:hover{transform:translateY(-1px);border-color:rgba(13,93,69,.3);background:#f5fbf8;color:var(--kx-green-deep)!important}
.kx-cart-button__icon{display:inline-flex}
.kx-cart-button__icon svg{width:19px;height:19px}
.kx-cart-button__badge{position:absolute;top:-7px;right:-5px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#f3cf7d;color:#173b2d;font-size:.64rem;font-weight:900;line-height:1;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.kx-home-page .kx-cart-button,.kx-shop-stage .kx-cart-button{border-color:rgba(255,255,255,.36);background:rgba(255,255,255,.07);color:#fff!important;box-shadow:none}
.kx-home-page .kx-cart-button:hover,.kx-shop-stage .kx-cart-button:hover{background:rgba(255,255,255,.14);color:#fff!important}
.kx-home-page .kx-cart-button__badge,.kx-shop-stage .kx-cart-button__badge{border-color:var(--kx-green);background:#f5d58a;color:#173b2d}
.kx-menu-toggle{display:none;width:46px;height:46px;padding:0!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:14px!important;background:rgba(255,255,255,.08)!important;box-shadow:none!important;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.kx-menu-toggle span{display:block;width:19px;height:1.6px;border-radius:4px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
.kx-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(5.6px) rotate(45deg)}
.kx-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.kx-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.6px) rotate(-45deg)}

/* ===================== HOME: one single green stage ===================== */
.kx-home-stage{position:relative;isolation:isolate;width:calc(100% - 8px);max-width:100%;margin:4px 4px 0;border-radius:38px;overflow:hidden;background:var(--kx-green);color:#fff;box-shadow:0 26px 80px rgba(22,52,39,.16);touch-action:pan-y pinch-zoom}
/* The original hotel photograph stays byte-for-byte unchanged. All green treatment is CSS-only. */
.kx-home-stage__art{position:absolute;inset:0;z-index:-3;overflow:hidden;background-color:var(--kx-green);background-image:url('../images/berggasthaus-hero.jpg');background-repeat:no-repeat;background-position:center 48%;background-size:cover}
.kx-home-stage__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.kx-home-stage__art::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(4,83,60,.88) 0%,rgba(7,96,70,.74) 42%,rgba(8,102,75,.62) 100%)}
.kx-home-stage__art::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 83% 10%,rgba(255,255,255,.05) 0 150px,transparent 151px),url('../images/kraxenberger-mountains.svg') center bottom/cover no-repeat;opacity:.26}
.kx-home-stage::after{content:"";position:absolute;z-index:-1;left:32%;right:-8%;bottom:2%;height:34%;border-radius:80px;background:rgba(255,255,255,.035);transform:rotate(-8deg);pointer-events:none}
.kx-home-top{position:relative;z-index:10}
.kx-home-top__inner{min-height:100px;display:flex;align-items:center;padding-top:10px;padding-bottom:8px}
.kx-home-page .kx-brand{color:#fff!important}
.kx-home-page .kx-brand__copy strong{color:#fff!important}
.kx-home-page .kx-brand__copy small{color:rgba(255,255,255,.8)!important}
.kx-home-page .kx-header-book{border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.035);color:#fff!important;box-shadow:none}
.kx-home-page .kx-header-book:hover{background:rgba(255,255,255,.11);color:#fff!important;transform:translateY(-1px)}
.kx-home-page .kx-menu-toggle{color:#fff}

.kx-home-main{position:relative;z-index:5;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(390px,.75fr);align-items:center;gap:clamp(44px,5vw,92px);min-height:540px;padding-top:48px;padding-bottom:46px}
.kx-home-copy{max-width:820px}
.kx-home-copy h1{margin:0;color:#fff!important;font-size:clamp(4.5rem,6.4vw,7.4rem);font-weight:600;line-height:.84;letter-spacing:-.045em}
.kx-lead{max-width:700px;margin:32px 0 30px;color:rgba(255,255,255,.87);font-size:clamp(1.03rem,1.45vw,1.3rem);line-height:1.62}
.kx-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.kx-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 24px;border:1px solid transparent;border-radius:999px;text-decoration:none!important;font-weight:700;transition:background .18s ease,transform .18s ease,border-color .18s ease}
.kx-btn svg{width:19px;height:19px}
.kx-btn-primary{background:#fff;color:var(--kx-green-deep)!important;box-shadow:0 10px 28px rgba(0,0,0,.12)}
.kx-btn-primary:hover{background:#eef4e8;color:var(--kx-green-deep)!important;transform:translateY(-1px)}
.kx-btn-ghost{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.055);color:#fff!important}
.kx-btn-ghost:hover{background:rgba(255,255,255,.11);color:#fff!important}
.kx-booking-teaser{justify-self:end;width:min(100%,520px);padding:38px 40px 36px;border-radius:32px;background:rgba(255,255,255,.97);color:var(--kx-ink);box-shadow:0 28px 78px rgba(0,0,0,.19)}
.kx-booking-teaser h2{margin:10px 0 20px;color:#171d19!important;font-size:clamp(2.35rem,3.2vw,3.45rem);line-height:.98;font-weight:600}
.kx-booking-teaser p:not(.kx-card-kicker){margin:0 0 24px;color:#626a65;font-size:.96rem;line-height:1.65}
.kx-video-toggle{position:absolute;right:20px;bottom:72px;z-index:30;display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 13px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(3,43,31,.66);color:#fff;font:inherit;font-size:.78rem;cursor:pointer;backdrop-filter:blur(10px)}
.kx-video-toggle:hover,.kx-video-toggle:focus-visible{background:rgba(3,43,31,.88);outline:2px solid #fff;outline-offset:2px}
.kx-hotel-date-form{display:grid;gap:14px}
.kx-hotel-date-form__fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kx-hotel-date-form label{display:grid;gap:6px;color:#28312c;font-size:.76rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.kx-hotel-date-form input[type="date"]{width:100%;min-height:48px;padding:10px 11px;border:1px solid #d8ddd9;border-radius:12px;background:#fff;color:#171d19;font:inherit;font-size:.9rem;color-scheme:light}
.kx-hotel-date-form small{color:#765d19;font-size:.76rem;line-height:1.4}
.kx-hotel-date-form .kx-btn{width:100%;border:0;cursor:pointer}
.kx-card-kicker{margin:0;color:var(--kx-green-deep)!important;font-size:.77rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.kx-btn-book{width:100%;background:var(--kx-green);color:#fff!important;box-shadow:none}
.kx-btn-book:hover{background:var(--kx-green-deep);color:#fff!important}

.kx-hero-contactbar{position:relative;z-index:8;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 18px;padding-top:4px;padding-bottom:28px}
.kx-hero-contactbar a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 18px;border:1px solid rgba(255,255,255,.27);border-radius:999px;background:rgba(255,255,255,.035);color:rgba(255,255,255,.95)!important;text-decoration:none!important;font-size:.83rem;font-weight:500;white-space:nowrap;transition:.18s ease}
.kx-hero-contactbar a:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.44);color:#fff!important}
.kx-hero-contactbar svg{width:18px;height:18px;color:#eef1dd}

/* Desktop navigation sits directly below the brand row inside the green stage. */
.kx-home-menubar{position:relative;z-index:40;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.065)}
.kx-home-menubar__inner{min-height:72px;display:flex;align-items:center;justify-content:center;overflow:visible}
.kx-home-menubar .kx-mainnav{width:100%;overflow:visible}
.kx-home-menubar .kx-mainnav__list{justify-content:center}
.kx-home-page .kx-mainnav__item>a,
.kx-home-page .kx-mainnav__label,
.kx-home-page .kx-mainnav__toggle{color:#fff!important}
.kx-home-page .kx-mainnav__item>a:hover,
.kx-home-page .kx-mainnav__item.is-active>a,
.kx-home-page .kx-mainnav__toggle:hover,
.kx-home-page .kx-mainnav__toggle[aria-expanded="true"]{background:rgba(255,255,255,.11)!important;color:#fff!important}
.kx-home-page .kx-mainnav__item.is-active>a{box-shadow:inset 0 0 0 1px rgba(255,255,255,.23)}
.kx-home-page .kx-nav-dropdown{top:calc(100% + 10px)!important;bottom:auto!important;background:rgba(7,61,44,.985)!important;border-color:rgba(255,255,255,.18)!important;box-shadow:0 22px 56px rgba(0,0,0,.24)!important}
.kx-home-page .kx-nav-dropdown a{color:rgba(255,255,255,.96)!important}
.kx-home-page .kx-nav-dropdown a:hover,.kx-home-page .kx-nav-dropdown a:focus{background:rgba(255,255,255,.10)!important;color:#fff!important}
.kx-home-page .kx-nav-dropdown__icon{color:#eef1dd!important}

/* ===================== DESKTOP NAVIGATION ===================== */
.kx-mainnav{min-width:0;overflow:visible}
.kx-mainnav__list{display:flex;align-items:center;gap:7px;margin:0;padding:0;list-style:none;overflow:visible}
.kx-mainnav__item{position:relative;margin:0!important;padding:0!important;overflow:visible}
.kx-mainnav__item>a,.kx-mainnav__label,.kx-mainnav__toggle{display:flex;align-items:center;gap:7px;min-height:44px;padding:0 15px;border:0!important;border-radius:999px!important;background:transparent!important;color:#26322c!important;text-decoration:none!important;font-family:inherit;font-size:.88rem;font-weight:650;line-height:1;white-space:nowrap;box-shadow:none!important;cursor:pointer;transition:.18s ease}
.kx-mainnav__label{cursor:default}
.kx-mainnav__item>a:hover,.kx-mainnav__item.is-active>a,.kx-mainnav__toggle:hover,.kx-mainnav__toggle[aria-expanded="true"]{background:#e8f1ec!important;color:#0d5a42!important}
.kx-nav-chevron{display:inline-block;font-size:.82rem;line-height:1;transition:transform .16s ease}
.kx-mainnav__toggle[aria-expanded="true"] .kx-nav-chevron{transform:rotate(180deg)}
.kx-nav-dropdown{position:absolute;top:calc(100% + 10px);left:50%;z-index:100000;display:grid;min-width:275px;padding:10px;border:1px solid var(--kx-border);border-radius:18px;background:#fff;box-shadow:0 24px 58px rgba(13,53,38,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,6px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease}
.kx-mainnav__item.is-open>.kx-nav-dropdown,.kx-mainnav__item:hover>.kx-nav-dropdown,.kx-mainnav__item:focus-within>.kx-nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.kx-nav-dropdown a{display:flex;align-items:center;gap:11px;min-height:46px;padding:9px 12px;border-radius:12px;color:#26362e!important;text-decoration:none!important;font-size:.84rem;font-weight:600}
.kx-nav-dropdown a:hover,.kx-nav-dropdown a:focus{background:#eff5f1;color:#0d5a42!important;outline:none}
.kx-nav-dropdown__parent{margin-bottom:4px;border-bottom:1px solid #e5ece7;border-radius:11px 11px 4px 4px!important}
.kx-nav-dropdown__icon{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;color:#0d5a42}
.kx-nav-dropdown__icon svg{width:19px;height:19px}

/* ===================== HOME COMPONENT BELOW HERO ===================== */
.kx-home-component{background:var(--kx-cream);padding:38px 0 78px}
.kx-component-inner{width:min(calc(100% - 56px),1440px);margin:0 auto}
.kx-gasthaus-component{min-height:48vh;background:#f7f9fc}
.kx-home-component .item-page,.kx-home-component .com-content-article,.kx-home-component .vbo-search-form,.kx-home-component .vbmodhorsearchmaindiv,.kx-home-component .vbo-booking-details,.kx-home-component .vbo-booking-summary,.kx-home-component [class*="vbo-room-card"],.kx-home-component .vbsearchresroom{background:#fff;border:1px solid var(--kx-border);border-radius:24px;box-shadow:var(--kx-shadow-soft)}
.kx-home-component .item-page,.kx-home-component .com-content-article,.kx-home-component .vbo-search-form,.kx-home-component .vbmodhorsearchmaindiv,.kx-home-component .vbo-booking-details,.kx-home-component .vbo-booking-summary{padding:clamp(20px,3vw,36px)}

/* VikBooking skin — only presentation, never data/logic. */
.kx-option-com_vikbooking input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.kx-option-com_vikbooking select,
.kx-option-com_vikbooking textarea{min-height:50px;border:1px solid var(--kx-border)!important;border-radius:14px!important;background:#fff!important;color:var(--kx-ink)!important;box-shadow:none!important}
.kx-option-com_vikbooking input:focus,.kx-option-com_vikbooking select:focus,.kx-option-com_vikbooking textarea:focus{border-color:var(--kx-green)!important;box-shadow:0 0 0 4px rgba(13,93,69,.11)!important;outline:none}
.kx-option-com_vikbooking .btn-primary,.kx-option-com_vikbooking .btn-success,.kx-option-com_vikbooking input[type="submit"],.kx-option-com_vikbooking button[type="submit"],.kx-option-com_vikbooking .vbo-btn,.kx-option-com_vikbooking .vbo-pref-color-btn{border-radius:999px!important;background:var(--kx-green)!important;border-color:var(--kx-green)!important;color:#fff!important}
.kx-option-com_vikbooking .btn-primary:hover,.kx-option-com_vikbooking input[type="submit"]:hover,.kx-option-com_vikbooking button[type="submit"]:hover,.kx-option-com_vikbooking .vbo-btn:hover{background:var(--kx-green-deep)!important;border-color:var(--kx-green-deep)!important}
.kx-option-com_vikbooking img{max-width:100%;height:auto;border-radius:16px}

/* ===================== NON-HOME SHELL ===================== */
.kx-shell-head{position:sticky;top:0;z-index:10020;width:100%;background:#fff;box-shadow:0 10px 34px rgba(20,45,34,.09)}
.kx-contactbar{background:linear-gradient(90deg,#0b4937,#12624a 60%,#157455);color:#fff}
.kx-contactbar__inner{min-height:36px;display:flex;align-items:center;justify-content:flex-end;gap:22px}
.kx-contactitem{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.93)!important;text-decoration:none!important;font-size:.76rem;font-weight:500;white-space:nowrap}
.kx-contactitem--address{margin-right:auto}
.kx-contactitem svg{width:15px;height:15px;color:#e4cd97}
.kx-mainheader{position:relative;background:#fff}
.kx-mainheader__inner{min-height:76px;display:flex;align-items:center;gap:24px}
body:not(.kx-home-page) .kx-brand{color:#26322c!important}
body:not(.kx-home-page) .kx-brand__copy small{color:#718078}
body:not(.kx-home-page) .kx-header-book{background:var(--kx-green);color:#fff!important;box-shadow:0 8px 22px rgba(13,77,58,.16)}
body:not(.kx-home-page) .kx-header-book:hover{background:var(--kx-green-deep);color:#fff!important}
.kx-menurow{position:relative;z-index:10040;border-top:1px solid #edf1ee;border-bottom:1px solid #edf1ee;background:#fff}
.kx-menurow__inner{min-height:58px;display:flex;align-items:center;justify-content:center}
.kx-menurow .kx-mainnav__list{justify-content:center}

/* Mobile menu panel */
.kx-mobile-nav{position:absolute;top:100%;left:0;right:0;z-index:100100;background:rgba(255,255,255,.99);box-shadow:0 22px 48px rgba(17,46,33,.15);max-height:calc(100vh - 90px);overflow:auto}
.kx-home-stage>.kx-mobile-nav{top:96px;border-top:1px solid rgba(255,255,255,.12);background:rgba(7,61,44,.985);color:#fff}
.kx-mobile-nav[hidden]{display:none!important}
.kx-mobile-nav__inner{padding-top:18px;padding-bottom:22px}
.kx-mobile-nav__group{padding:0 0 10px;margin:0 0 10px;border-bottom:1px solid #edf1ee}
.kx-home-stage .kx-mobile-nav__group{border-bottom-color:rgba(255,255,255,.12)}
.kx-mobile-nav__primary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 2px;color:#1d2b24!important;text-decoration:none!important;font-family:var(--kx-font-display);font-size:1.28rem;font-weight:650;line-height:1.15}
.kx-home-stage .kx-mobile-nav__primary{color:#fff!important}
.kx-mobile-nav__children{display:flex;flex-wrap:wrap;gap:7px;padding:2px 0 7px}
.kx-mobile-nav__children a{padding:8px 11px;border-radius:999px;background:#eff5f1;color:#345046!important;text-decoration:none!important;font-size:.78rem;font-weight:650}
.kx-home-stage .kx-mobile-nav__children a{background:rgba(255,255,255,.09);color:#fff!important}
.kx-mobile-nav__contact{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}
.kx-mobile-nav__contact a{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:14px;background:var(--kx-green);color:#fff!important;text-decoration:none!important;font-weight:700}
.kx-home-stage .kx-mobile-nav__contact a{background:rgba(255,255,255,.12)}

/* Footer */
.kx-site-footer{padding:26px 0 34px;background:#0a4535;color:rgba(255,255,255,.78)}
.kx-site-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.82rem}
.kx-site-footer nav{display:flex;flex-wrap:wrap;gap:16px}
.kx-site-footer a{color:#fff!important;text-decoration:none!important}
.kx-home-stage .kx-site-footer--stage{position:relative;z-index:12;margin:0;padding:15px 0 16px;border-top:1px solid rgba(255,255,255,.12);background:rgba(3,43,31,.46);color:rgba(255,255,255,.72)}
.kx-home-stage .kx-site-footer--stage .kx-site-footer__inner{font-size:.72rem}
.kx-home-stage .kx-site-footer--stage a{color:rgba(255,255,255,.78)!important}
.kx-home-stage .kx-site-footer--stage a:hover{color:#fff!important}

/* Mobile dock */
.kx-mobile-dock{display:none}
.kx-mobile-dock svg{width:22px;height:22px}
.kx-preview-flag{position:fixed;top:12px;left:50%;z-index:999999;transform:translateX(-50%);display:flex;align-items:center;gap:10px;max-width:min(92vw,760px);padding:10px 15px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:rgba(20,35,28,.93);color:#fff;box-shadow:0 12px 38px rgba(0,0,0,.22);font-size:.82rem}
.kx-preview-flag strong{color:#a8f0d5}

/* iPhone/app-like stability: prevent accidental horizontal page drift while preserving vertical scroll and pinch zoom. */
.kx-home-stage,.kx-shop-stage,.kx-home-mobilebar,.kx-offcanvas{max-width:100%;overscroll-behavior-x:none}
.kx-shell-inner,.kx-home-main,.kx-home-copy,.kx-booking-teaser,.kx-hero-contactbar,.kx-home-mobilebar__inner{min-width:0;max-width:100%}

@media(max-width:1140px){
  .kx-shell-inner{width:min(calc(100% - 40px),1280px)}
  .kx-home-main{grid-template-columns:1fr;gap:28px;min-height:0;padding-top:34px;padding-bottom:32px}
  .kx-home-copy{max-width:780px}
  .kx-booking-teaser{justify-self:stretch;width:100%;max-width:none}
  .kx-home-menubar,.kx-menurow{display:none!important}
  .kx-menu-toggle{display:flex!important}
  .kx-home-top__inner{min-height:88px}
  .kx-mainheader__inner{min-height:70px}
  .kx-home-stage{overflow-x:clip;overflow-y:visible;background:var(--kx-green)}
  .kx-home-stage__art{border-radius:38px;overflow:hidden}
}

@media(max-width:991.98px){
  body.kx-app{padding-bottom:94px}
  .kx-mobile-dock{position:fixed;z-index:9998;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,1fr);width:min(calc(100% - 24px),620px);min-height:72px;padding:8px;border:1px solid rgba(22,64,48,.11);border-radius:28px;background:rgba(255,255,255,.94);box-shadow:0 18px 55px rgba(20,52,39,.2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:transform .18s ease,opacity .18s ease}
  .kx-mobile-dock.is-keyboard{transform:translate(-50%,130%);opacity:0;pointer-events:none}
  .kx-mobile-dock a,.kx-mobile-dock>span,.kx-mobile-dock>button{appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;padding:7px 2px;border:0;border-radius:20px;background:transparent;color:#66706b;text-decoration:none;font:inherit;font-size:.68rem;line-height:1.1;text-align:center;cursor:pointer}
  .kx-mobile-dock a.is-active{background:#e6f1ec;color:var(--kx-green-deep);font-weight:700}
  .kx-mobile-dock>button[aria-expanded="true"]{background:#e6f1ec;color:var(--kx-green-deep);font-weight:700}
}

@media(max-width:700px){
  .kx-shell-inner{width:calc(100% - 28px)}
  .kx-home-stage{width:calc(100% - 4px);margin:2px 2px 0;border-radius:24px}
  .kx-home-stage__art{border-radius:24px}
  .kx-home-top__inner{min-height:78px;padding-top:6px;padding-bottom:6px}
  .kx-brand{gap:9px}
  .kx-brand__mark{width:42px;height:42px;flex-basis:42px;border-radius:13px}
  .kx-brand__mark svg{width:23px;height:23px}
  .kx-brand__copy strong{font-size:1.02rem}
  .kx-brand__copy small{font-size:.64rem;margin-top:4px}
  .kx-header-book{width:44px;min-width:44px;height:44px;padding:0;border-radius:14px}
  .kx-header-book span{display:none}
  .kx-cart-button{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border-radius:14px}
  .kx-cart-button__label{display:none}
  .kx-menu-toggle{width:44px;height:44px;border-radius:14px!important}
  .kx-home-main{padding-top:28px;padding-bottom:24px}
  .kx-home-copy h1{font-size:clamp(3.15rem,15.5vw,5.15rem)}
  .kx-lead{margin:22px 0;font-size:1rem}
  .kx-hero-actions{flex-direction:column}
  .kx-btn{width:100%}
  .kx-booking-teaser{padding:25px 21px;border-radius:24px}
  .kx-booking-teaser h2{font-size:2.45rem}
  .kx-hero-contactbar{display:grid;grid-template-columns:1fr;gap:9px;padding-bottom:22px}
  .kx-hero-contactbar a{width:100%;justify-content:flex-start;white-space:normal}
  .kx-home-component{padding-top:24px}
  .kx-component-inner{width:calc(100% - 28px)}
  .kx-site-footer__inner{align-items:flex-start;flex-direction:column}
  .kx-contactbar__inner{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;min-height:54px;padding-top:6px;padding-bottom:6px}
  .kx-contactitem{font-size:.67rem;overflow:hidden;text-overflow:ellipsis}
  .kx-contactitem--address{grid-column:1/-1;margin:0}
  .kx-contactitem--email{justify-self:end;max-width:100%}
  .kx-mainheader__inner{min-height:64px}
  .kx-home-stage>.kx-mobile-nav{top:78px}
}

@media(max-width:390px){
  .kx-brand__copy small{display:none}
  .kx-contactitem--email span{max-width:145px;overflow:hidden;text-overflow:ellipsis}
}

/* ===================== 0.2.7 mobile viewport + in-stage navigation ===================== */
/* Explicitly neutralise theme typography transforms that made the hero uppercase on iOS. */
.kx-home-copy h1{
  text-transform:none!important;
  font-variant:normal!important;
}

/* Mobile app navigation lives INSIDE the green stage, never floating over content. */
.kx-home-mobilebar{display:none;position:relative;z-index:55;border-top:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.085)}
.kx-home-mobilebar__inner{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;width:100%;margin:0 auto;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
.kx-home-mobilebar a,.kx-home-mobilebar button,.kx-home-mobilebar .is-disabled{appearance:none;-webkit-appearance:none;display:flex;min-width:0;min-height:60px;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin:0;padding:6px 2px;border:0!important;border-radius:16px!important;background:transparent!important;color:rgba(255,255,255,.76)!important;text-decoration:none!important;box-shadow:none!important;font:inherit;font-size:.68rem;font-weight:600;line-height:1.05;text-align:center;cursor:pointer}
.kx-home-mobilebar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kx-home-mobilebar a.is-active{background:rgba(255,255,255,.13)!important;color:#fff!important}
.kx-home-mobilebar a:hover,.kx-home-mobilebar button:hover,.kx-home-mobilebar button[aria-expanded="true"]{background:rgba(255,255,255,.10)!important;color:#fff!important}
.kx-home-mobilebar .is-disabled{opacity:.42;cursor:default}

/* On the homepage the expanded menu is part of the green block, directly below the app bar. */
.kx-home-stage>.kx-mobile-nav{position:relative!important;top:auto!important;left:auto!important;right:auto!important;z-index:60;max-height:none;border-top:1px solid rgba(255,255,255,.12);background:rgba(5,55,40,.76);box-shadow:none;color:#fff;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.kx-home-stage>.kx-mobile-nav .kx-mobile-nav__inner{padding-top:18px;padding-bottom:22px}

@media(max-width:1140px){
  /* Desktop menu is replaced by the in-stage app bar. */
  .kx-home-mobilebar{display:block}
  .kx-home-page .kx-menu-toggle{display:none!important}
}

@media(max-width:991.98px){
  body.kx-home-page{padding-bottom:0!important}
}

@media(max-width:700px){
  /* True phone layout. The viewport meta now makes these rules actually run on iPhone. */
  .kx-home-stage{width:100%;max-width:100%;margin:0;border-radius:0 0 26px 26px;box-shadow:0 18px 46px rgba(22,52,39,.14);overflow-x:clip;touch-action:pan-y pinch-zoom}
  /* On phones the original photo is intentionally smaller than a cover crop, so the whole house reads more clearly. */
  .kx-home-stage__art{border-radius:0 0 26px 26px;background-size:128% auto;background-position:60% 13%;background-color:var(--kx-green)}
  .kx-home-stage__art::before{background:linear-gradient(180deg,rgba(5,86,63,.62) 0%,rgba(7,98,72,.56) 48%,rgba(7,91,67,.70) 100%)}
  .kx-home-stage__art::after{opacity:.15;background-position:center 34%}
  .kx-shell-inner{width:calc(100% - 32px)}
  .kx-home-top__inner{min-height:76px;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:7px}
  .kx-brand__mark{width:40px;height:40px;flex-basis:40px;border-radius:12px}
  .kx-brand__mark svg{width:22px;height:22px}
  .kx-brand__copy strong{font-size:.98rem;line-height:1.02}
  .kx-brand__copy small{display:block!important;margin-top:4px;font-size:.62rem;line-height:1.05}
  .kx-header-book{width:auto;min-width:0;height:40px;min-height:40px;padding:0 13px;border-radius:999px}
  .kx-header-book span{display:inline;font-size:.72rem}
  .kx-header-book svg{width:16px;height:16px}

  .kx-home-main{display:block;padding-top:30px;padding-bottom:24px}
  .kx-home-copy{max-width:none}
  .kx-home-copy h1{font-size:clamp(3rem,14vw,4.35rem);line-height:.88;letter-spacing:-.04em}
  .kx-lead{max-width:none;margin:22px 0 22px;font-size:.92rem;line-height:1.55}
  .kx-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .kx-btn{width:100%;min-height:48px;padding:0 14px;font-size:.78rem}
  .kx-btn svg{width:17px;height:17px}

  .kx-booking-teaser{width:100%;margin-top:26px;padding:25px 22px 22px;border-radius:24px;box-shadow:0 16px 42px rgba(0,0,0,.15)}
  .kx-card-kicker{font-size:.68rem}
  .kx-booking-teaser h2{margin:9px 0 14px;font-size:2.05rem;line-height:1.02}
  .kx-booking-teaser p:not(.kx-card-kicker){margin-bottom:18px;font-size:.82rem;line-height:1.5}
  .kx-btn-book{min-height:47px}

  .kx-hero-contactbar{grid-template-columns:1fr 1fr;gap:8px;padding-top:2px;padding-bottom:16px}
  .kx-hero-contactbar a{min-height:42px;width:100%;padding:0 12px;justify-content:flex-start;border-radius:14px;font-size:.72rem;white-space:normal;overflow-wrap:anywhere}
  .kx-hero-contactbar a:first-child{grid-column:1/-1}
  .kx-hero-contactbar svg{width:16px;height:16px;flex:0 0 16px}

  .kx-home-stage .kx-site-footer--stage{padding:10px 0}
  .kx-home-stage .kx-site-footer--stage .kx-site-footer__inner{align-items:center;gap:6px;text-align:center;font-size:.62rem}
  .kx-home-stage .kx-site-footer--stage nav{justify-content:center;gap:10px}
  .kx-home-mobilebar__inner{min-height:70px;padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}
  .kx-home-mobilebar a,.kx-home-mobilebar button,.kx-home-mobilebar .is-disabled{min-height:58px;font-size:.64rem}

  .kx-home-stage>.kx-mobile-nav .kx-mobile-nav__inner{width:calc(100% - 32px);padding-top:14px;padding-bottom:18px}
  .kx-mobile-nav__primary{font-size:1.12rem}
  .kx-mobile-nav__children{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .kx-mobile-nav__children a{display:flex;align-items:center;min-height:40px;border-radius:12px;font-size:.72rem}
  .kx-mobile-nav__contact{grid-template-columns:1fr 1fr}

  .kx-home-component{padding-top:22px;padding-bottom:54px}
  .kx-component-inner{width:calc(100% - 24px)}
}

@media(max-width:430px){
  html,body.kx-app{overflow-x:hidden!important;overscroll-behavior-x:none!important}
  .kx-home-stage,.kx-home-stage *{max-width:100%}
  .kx-home-stage__art{background-size:118% auto;background-position:58% 12%}
  .kx-home-copy h1{font-size:clamp(2.85rem,13.4vw,3.75rem)}
  .kx-brand__copy strong{font-size:.92rem}
  .kx-brand__copy small{font-size:.59rem}
  .kx-hero-actions{grid-template-columns:1fr 1fr}
  .kx-btn{padding:0 10px;font-size:.72rem}
  .kx-hero-contactbar{grid-template-columns:1fr}
  .kx-hero-contactbar a:first-child{grid-column:auto}
  .kx-mobile-nav__children{grid-template-columns:1fr}
}

@media(max-width:360px){
  .kx-brand__copy small{display:none!important}
  .kx-header-book{padding:0 10px}
  .kx-home-copy h1{font-size:2.72rem}
  .kx-hero-actions{grid-template-columns:1fr}
}

/* ===================== 0.2.8 true mobile offcanvas ===================== */
body.kx-menu-open{overflow:hidden!important;touch-action:none}
.kx-offcanvas{position:fixed!important;inset:0!important;z-index:2147482000!important;display:block!important;pointer-events:none!important}
.kx-offcanvas[hidden]{display:none!important}
.kx-offcanvas__backdrop{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:rgba(4,20,15,.56)!important;opacity:0;cursor:pointer;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);transition:opacity .24s ease}
.kx-offcanvas__panel{position:absolute!important;top:0!important;right:0!important;bottom:0!important;width:min(88vw,430px)!important;max-width:430px!important;height:100dvh!important;margin:0!important;padding:0!important;overflow-y:auto!important;overscroll-behavior:contain;background:#f7f7f2!important;color:#17261f!important;box-shadow:-24px 0 70px rgba(0,0,0,.28)!important;transform:translate3d(102%,0,0);transition:transform .26s cubic-bezier(.22,.8,.22,1);-webkit-overflow-scrolling:touch;outline:none}
.kx-offcanvas.is-open{pointer-events:auto!important}
.kx-offcanvas.is-open .kx-offcanvas__backdrop{opacity:1}
.kx-offcanvas.is-open .kx-offcanvas__panel{transform:translate3d(0,0,0)}
.kx-offcanvas__head{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:max(22px,env(safe-area-inset-top)) 22px 18px;border-bottom:1px solid rgba(20,60,45,.09);background:rgba(247,247,242,.95);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.kx-offcanvas__eyebrow{display:block;margin-bottom:4px;color:#587065;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.kx-offcanvas__head strong{display:block;color:#163c2e;font-family:var(--kx-font-display);font-size:1.85rem;line-height:1}
.kx-offcanvas__close{appearance:none;-webkit-appearance:none;display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;margin:0;padding:0;border:1px solid rgba(18,75,55,.12)!important;border-radius:50%!important;background:#fff!important;color:#0d5a42!important;box-shadow:0 8px 24px rgba(20,60,45,.09)!important;cursor:pointer}
.kx-offcanvas__close span{font-size:2rem;font-weight:300;line-height:1;transform:translateY(-1px)}
.kx-offcanvas .kx-mobile-nav{position:static!important;display:block!important;max-height:none!important;overflow:visible!important;background:transparent!important;box-shadow:none!important;color:inherit!important}
.kx-offcanvas .kx-mobile-nav__inner{width:auto!important;max-width:none!important;margin:0!important;padding:16px 22px calc(28px + env(safe-area-inset-bottom))!important}
.kx-offcanvas .kx-mobile-nav__group{margin:0;padding:0;border-bottom:1px solid rgba(20,60,45,.10)!important}
.kx-offcanvas .kx-mobile-nav__primary{min-height:58px;padding:12px 2px!important;color:#18372b!important;font-size:1.22rem!important;font-weight:700!important}
.kx-offcanvas .kx-mobile-nav__primary:hover,.kx-offcanvas .kx-mobile-nav__primary:focus{color:#0d684a!important}
.kx-offcanvas .kx-mobile-nav__children{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:0 0 14px!important}
.kx-offcanvas .kx-mobile-nav__children a{display:flex!important;align-items:center!important;min-height:44px!important;padding:10px 13px!important;border-radius:13px!important;background:#eaf2ed!important;color:#234b3c!important;font-size:.82rem!important;font-weight:650!important;text-decoration:none!important}
.kx-offcanvas .kx-mobile-nav__children a:hover,.kx-offcanvas .kx-mobile-nav__children a:focus{background:#dfece5!important;color:#0d5a42!important}
.kx-offcanvas .kx-mobile-nav__contact{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:20px!important}
.kx-offcanvas .kx-mobile-nav__contact a{min-height:48px!important;border-radius:14px!important;background:#0f6549!important;color:#fff!important;text-decoration:none!important}

/* The bottom app-bar Menu item is an action button, never a link. */
.kx-home-mobilebar button[data-kx-menu-toggle]{cursor:pointer!important}
.kx-home-mobilebar button[data-kx-menu-toggle][aria-expanded="true"]{background:rgba(255,255,255,.17)!important;color:#fff!important}

@media(max-width:520px){
  .kx-offcanvas__panel{width:min(92vw,410px)!important}
  .kx-offcanvas__head{padding-left:18px;padding-right:18px}
  .kx-offcanvas .kx-mobile-nav__inner{padding-left:18px!important;padding-right:18px!important}
}
@media(prefers-reduced-motion:reduce){
  .kx-offcanvas__panel,.kx-offcanvas__backdrop{transition:none!important}
}


/* ===================== 0.2.9 JOOMSHOPPING / ONLINESHOP ===================== */
/* Shop uses the same Kraxenberger shell instead of the old Astroid content layout. */
.kx-shop-stage{position:relative;isolation:isolate;width:calc(100% - 8px);margin:4px 4px 0;border-radius:38px;overflow:visible;background:var(--kx-green);color:#fff;box-shadow:0 24px 70px rgba(22,52,39,.14)}
.kx-shop-stage__art{position:absolute;inset:0;z-index:-2;overflow:hidden;border-radius:38px;background:radial-gradient(circle at 86% -8%,rgba(255,255,255,.075) 0 175px,transparent 176px),linear-gradient(112deg,rgba(0,0,0,.13),rgba(0,0,0,.025) 48%,rgba(46,161,119,.16)),url('../images/kraxenberger-mountains.svg') center 65%/cover no-repeat}
.kx-shop-stage .kx-brand,.kx-shop-stage .kx-brand__copy strong{color:#fff!important}
.kx-shop-stage .kx-brand__copy small{color:rgba(255,255,255,.8)!important}
.kx-shop-stage .kx-header-book{border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.045);color:#fff!important;box-shadow:none}
.kx-shop-stage .kx-header-book:hover{background:rgba(255,255,255,.12);color:#fff!important}
.kx-shop-intro{position:relative;z-index:4;padding-top:54px;padding-bottom:58px}
.kx-shop-kicker{margin:0 0 10px;color:#d8e8df;font-size:.76rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.kx-shop-intro h1{max-width:920px;margin:0;color:#fff!important;font-size:clamp(3.6rem,6vw,6.5rem);font-weight:600;line-height:.9;letter-spacing:-.045em;text-transform:none!important}
.kx-shop-intro>p:last-child{max-width:760px;margin:22px 0 0;color:rgba(255,255,255,.84);font-size:1.02rem;line-height:1.6}
.kx-shop-menubar{border-radius:0}
.kx-shop-stage .kx-mainnav__item>a,.kx-shop-stage .kx-mainnav__label,.kx-shop-stage .kx-mainnav__toggle{color:#fff!important}
.kx-shop-stage .kx-mainnav__item>a:hover,.kx-shop-stage .kx-mainnav__item.is-active>a,.kx-shop-stage .kx-mainnav__toggle:hover,.kx-shop-stage .kx-mainnav__toggle[aria-expanded="true"]{background:rgba(255,255,255,.11)!important;color:#fff!important}
.kx-shop-stage .kx-nav-dropdown{top:calc(100% + 10px)!important;bottom:auto!important;background:rgba(7,61,44,.99)!important;border-color:rgba(255,255,255,.18)!important;box-shadow:0 22px 56px rgba(0,0,0,.22)!important}
.kx-shop-stage .kx-nav-dropdown a{color:rgba(255,255,255,.96)!important}
.kx-shop-stage .kx-nav-dropdown a:hover,.kx-shop-stage .kx-nav-dropdown a:focus{background:rgba(255,255,255,.10)!important;color:#fff!important}
.kx-shop-stage .kx-nav-dropdown__icon{color:#eef1dd!important}

.kx-shop-component{min-height:48vh;padding:42px 0 82px;background:var(--kx-cream)}
.kx-shop-component__inner{width:min(calc(100% - 56px),1440px);margin:0 auto}
.kx-shop-component .jshop,.kx-shop-component .jshop_list_product,.kx-shop-component .jshop_product,.kx-shop-component .jshop_cart,.kx-shop-component .jshop_checkout{color:var(--kx-ink);font-family:var(--kx-font-body)}
.kx-shop-component .jshop h1,.kx-shop-component .jshop h2,.kx-shop-component .jshop h3,.kx-shop-component .jshop_list_product h1,.kx-shop-component .jshop_list_product h2,.kx-shop-component .jshop_list_product h3{color:#193a2d;font-family:var(--kx-font-display);letter-spacing:-.025em}

/* Product overview: only the OUTER product row becomes a grid.
   Never reset every nested Bootstrap column: JoomShopping uses col-* classes inside
   the product card as well and that made title/price/text collapse into narrow strips. */
.kx-shop-component .jshop_list_product > .row,
.kx-shop-component .jshop_list_product > .row-fluid,
.kx-shop-component .jshop_list_product > .products,
.kx-shop-component .jshop_list_product > form > .row,
.kx-shop-component .jshop_list_product > form > .row-fluid,
.kx-shop-component .jshop_list_product > form > .products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px!important;margin:0!important;align-items:stretch!important}

/* Each outer JoomShopping product fills its complete grid cell. */
.kx-shop-component .jshop_list_product > .row > .block_product,
.kx-shop-component .jshop_list_product > .row-fluid > .block_product,
.kx-shop-component .jshop_list_product > .products > .block_product,
.kx-shop-component .jshop_list_product > form > .row > .block_product,
.kx-shop-component .jshop_list_product > form > .row-fluid > .block_product,
.kx-shop-component .jshop_list_product > form > .products > .block_product,
.kx-shop-component .jshop_list_product > .row > [class*="col-"],
.kx-shop-component .jshop_list_product > .row-fluid > [class*="span"],
.kx-shop-component .jshop_list_product > form > .row > [class*="col-"],
.kx-shop-component .jshop_list_product > form > .row-fluid > [class*="span"]{float:none!important;flex:none!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important}

/* The actual product wrapper is the visual card. */
.kx-shop-component .jshop_list_product .block_product{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;height:100%!important;margin:0!important;padding:24px!important;border:1px solid #dde7e1!important;border-radius:26px!important;background:#fff!important;box-shadow:var(--kx-shadow-soft)!important;text-align:left!important;overflow:hidden!important}
.kx-shop-component .jshop_list_product .block_product > .product,
.kx-shop-component .jshop_list_product .block_product > .oiproduct{height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;text-align:left!important;overflow:visible!important}
/* Fallback for JoomShopping themes without block_product. */
.kx-shop-component .jshop_list_product .product:not(.block_product),
.kx-shop-component .jshop_list_product .oiproduct:not(.block_product){min-width:0;max-width:100%;}
.kx-shop-component .jshop_list_product .image,.kx-shop-component .jshop_list_product .image_block{width:100%!important;margin:0 0 18px!important;padding:0!important;text-align:center!important}
.kx-shop-component .jshop_list_product img,.kx-shop-component img.jshop_img{max-width:100%!important;height:auto!important;border:0!important;border-radius:18px!important;box-shadow:none!important}
.kx-shop-component .jshop_list_product .name{min-height:0!important;margin:0 0 9px!important;text-align:left!important}
.kx-shop-component .jshop_list_product .name a{color:#173b2d!important;font-family:var(--kx-font-display);font-size:1.7rem!important;font-weight:650!important;line-height:1.05;text-decoration:none!important}
.kx-shop-component .jshop_list_product .name a:hover{color:var(--kx-green)!important}
.kx-shop-component .jshop_list_product .description{margin:12px 0 18px!important;color:#69716d!important;font-size:.9rem!important;line-height:1.58!important;text-align:left!important}
.kx-shop-component .jshop_list_product .jshop_price,.kx-shop-component .jshop_price{margin:9px 0!important;color:var(--kx-green-deep)!important;font-size:1.55rem!important;font-weight:800!important;text-align:left!important}
.kx-shop-component .jshop_list_product .old_price{color:#8a928e!important;text-align:left!important}
.kx-shop-component .jshop_list_product .product_label,.kx-shop-component .jshop_list_product .product_label span{border-radius:999px!important}
.kx-shop-component .jshop_list_product .buttons{display:flex!important;flex-wrap:wrap!important;gap:9px!important;margin-top:20px!important;padding-top:0!important;text-align:left!important}

/* Buttons and form controls across product detail, cart and checkout. */
.kx-shop-component .button_buy,.kx-shop-component a.button_buy,.kx-shop-component input.button_buy,
.kx-shop-component .btn-primary,.kx-shop-component button[type="submit"],.kx-shop-component input[type="submit"]{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:46px!important;padding:0 20px!important;border:1px solid var(--kx-green)!important;border-radius:999px!important;background:var(--kx-green)!important;color:#fff!important;box-shadow:none!important;font-weight:750!important;text-decoration:none!important;transition:.18s ease}
.kx-shop-component .button_buy:hover,.kx-shop-component a.button_buy:hover,.kx-shop-component .btn-primary:hover,.kx-shop-component button[type="submit"]:hover,.kx-shop-component input[type="submit"]:hover{border-color:var(--kx-green-deep)!important;background:var(--kx-green-deep)!important;color:#fff!important;transform:translateY(-1px)}
.kx-shop-component .button_detail,.kx-shop-component a.button_detail,.kx-shop-component .btn-secondary,.kx-shop-component .btn:not(.btn-primary){display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:46px!important;padding:0 18px!important;border:1px solid #d8e2dc!important;border-radius:999px!important;background:#f1f6f3!important;color:#244b3b!important;box-shadow:none!important;font-weight:700!important;text-decoration:none!important}
.kx-shop-component input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),.kx-shop-component select,.kx-shop-component textarea{min-height:48px;border:1px solid #d9e3dd!important;border-radius:14px!important;background:#fff!important;color:#202522!important;box-shadow:none!important}
.kx-shop-component input:focus,.kx-shop-component select:focus,.kx-shop-component textarea:focus{border-color:var(--kx-green)!important;box-shadow:0 0 0 4px rgba(13,93,69,.10)!important;outline:none!important}

/* Product detail / basket / checkout become white app cards. */
.kx-shop-component .jshop_product,.kx-shop-component .productfull,.kx-shop-component .jshop_cart,.kx-shop-component .cart,.kx-shop-component .jshop_checkout,.kx-shop-component .checkout,.kx-shop-component .jshop_register,.kx-shop-component .jshop_login{padding:clamp(20px,3vw,34px)!important;border:1px solid #dde7e1!important;border-radius:26px!important;background:#fff!important;box-shadow:var(--kx-shadow-soft)!important}
.kx-shop-component table{max-width:100%;border-collapse:separate;border-spacing:0}
.kx-shop-component table td,.kx-shop-component table th{padding:12px 10px;border-color:#e7ece9!important}
.kx-shop-component .pagination,.kx-shop-component .pagination ul{display:flex;flex-wrap:wrap;gap:7px;align-items:center}

/* JoomShopping vendor credit remains visible but intentionally unobtrusive. */
.kx-shop-component .kx-jshop-credit{margin:24px 0 0!important;padding:8px 0!important;color:#65716b!important;font-size:.62rem!important;line-height:1.3!important;text-align:center!important;opacity:.34;filter:saturate(.45);transition:opacity .18s ease}
.kx-shop-component .kx-jshop-credit:hover,.kx-shop-component .kx-jshop-credit:focus-within{opacity:.62}
.kx-shop-component .kx-jshop-credit a{color:inherit!important;font-size:inherit!important;text-decoration:none!important}
.kx-shop-component a.kx-jshop-credit{display:block!important;color:#65716b!important;font-size:.62rem!important;opacity:.34;text-align:center!important;text-decoration:none!important}
.kx-shop-component a.kx-jshop-credit:hover{opacity:.62;color:#415048!important}

@media(max-width:1140px){
  .kx-shop-menubar{display:none!important}
  .kx-shop-mobilebar{display:block}
  .kx-shop-stage{overflow:visible}
  .kx-shop-stage__art{border-radius:38px}
   .kx-shop-component .jshop_list_product > .row,.kx-shop-component .jshop_list_product > .row-fluid,.kx-shop-component .jshop_list_product > .products,.kx-shop-component .jshop_list_product > form > .row,.kx-shop-component .jshop_list_product > form > .row-fluid,.kx-shop-component .jshop_list_product > form > .products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .kx-shop-stage{width:calc(100% - 4px);margin:2px 2px 0;border-radius:24px}
  .kx-shop-stage__art{border-radius:24px}
  .kx-shop-intro{padding-top:28px;padding-bottom:32px}
  .kx-shop-intro h1{font-size:clamp(2.85rem,14vw,4.4rem);line-height:.92}
  .kx-shop-intro>p:last-child{margin-top:15px;font-size:.9rem;line-height:1.55}
  .kx-shop-component{padding:24px 0 58px}
  .kx-shop-component__inner{width:calc(100% - 24px)}
   .kx-shop-component .jshop_list_product > .row,.kx-shop-component .jshop_list_product > .row-fluid,.kx-shop-component .jshop_list_product > .products,.kx-shop-component .jshop_list_product > form > .row,.kx-shop-component .jshop_list_product > form > .row-fluid,.kx-shop-component .jshop_list_product > form > .products{grid-template-columns:1fr;gap:14px!important}
  .kx-shop-component .jshop_list_product .block_product{padding:19px!important;border-radius:22px!important}
  .kx-shop-component .jshop_list_product .name a{font-size:1.55rem!important}
  .kx-shop-component .jshop_list_product .buttons{display:grid!important;grid-template-columns:1fr 1fr!important}
  .kx-shop-component .button_buy,.kx-shop-component a.button_buy,.kx-shop-component input.button_buy,.kx-shop-component .button_detail,.kx-shop-component a.button_detail{width:100%!important}
  .kx-shop-component table{font-size:.8rem}
}
@media(max-width:420px){
  .kx-shop-component .jshop_list_product .buttons{grid-template-columns:1fr!important}
}

/* 0.3.5 – Kraxenberger Blau
   Brand hue derived from the blue wordmark on berggasthaus-kraxenberger.de.
   The original hero photo remains unchanged; only browser overlays/colors change. */
.kx-color-blue{
  --kx-green:#0d4a89;
  --kx-green-deep:#083563;
  --kx-green-soft:#1767b3;
  --kx-border:#d8e3ef;
  --kx-shadow:0 22px 64px rgba(8,53,99,.14);
  --kx-shadow-soft:0 10px 32px rgba(8,53,99,.09);
}
.kx-color-blue .kx-brand__mark{background:#eef4ff;color:#0d4a89}
.kx-color-blue .kx-cart-button{border-color:rgba(13,74,137,.18);color:#083563!important;box-shadow:0 8px 24px rgba(8,53,99,.10)}
.kx-color-blue .kx-cart-button:hover{border-color:rgba(13,74,137,.32);background:#f3f7fd;color:#083563!important}
.kx-color-blue .kx-cart-button__badge{background:#d7e7ff;color:#083563}
.kx-color-blue.kx-home-page .kx-cart-button__badge,.kx-color-blue .kx-shop-stage .kx-cart-button__badge{border-color:#0d4a89;background:#d7e7ff;color:#083563}
.kx-color-blue .kx-home-stage{background:#0d4a89;box-shadow:0 26px 80px rgba(8,53,99,.18)}
.kx-color-blue .kx-home-stage__art::before{background:linear-gradient(90deg,rgba(4,47,96,.90) 0%,rgba(7,65,125,.76) 42%,rgba(13,74,137,.64) 100%)}
.kx-color-blue .kx-home-stage__art::after{background:radial-gradient(circle at 83% 10%,rgba(255,255,255,.055) 0 150px,transparent 151px),url('../images/kraxenberger-mountains-blue.svg') center bottom/cover no-repeat}
.kx-color-blue .kx-btn-primary{color:#083563!important}
.kx-color-blue .kx-btn-primary:hover{background:#edf4ff;color:#083563!important}
.kx-color-blue .kx-hero-contactbar svg{color:#dceaff}
.kx-color-blue.kx-home-page .kx-nav-dropdown,.kx-color-blue .kx-shop-stage .kx-nav-dropdown{background:rgba(5,43,84,.985)!important}
.kx-color-blue .kx-mainnav__item>a:hover,.kx-color-blue .kx-mainnav__item.is-active>a,.kx-color-blue .kx-mainnav__toggle:hover,.kx-color-blue .kx-mainnav__toggle[aria-expanded="true"]{background:#e9f1fb!important;color:#0d4a89!important}
.kx-color-blue .kx-nav-dropdown{box-shadow:0 24px 58px rgba(8,53,99,.18)}
.kx-color-blue .kx-nav-dropdown a{color:#20384f!important}
.kx-color-blue .kx-nav-dropdown a:hover,.kx-color-blue .kx-nav-dropdown a:focus{background:#edf4fc;color:#0d4a89!important}
.kx-color-blue .kx-nav-dropdown__parent{border-bottom-color:#dce6f1!important}
.kx-color-blue .kx-nav-dropdown__icon{color:#0d4a89}
.kx-color-blue .kx-option-com_vikbooking input:focus,.kx-color-blue .kx-option-com_vikbooking select:focus,.kx-color-blue .kx-option-com_vikbooking textarea:focus{border-color:#0d4a89!important;box-shadow:0 0 0 4px rgba(13,74,137,.11)!important}

/* 1.1.1: consistent shell for every Joomla subpage and external Berghotel bridge. */
.kx-subpage-hero{position:relative;min-height:clamp(276px,37.2vw,492px);display:grid;align-items:end;overflow:hidden;background:#102a23;color:#fff}
.kx-subpage-hero__media{position:absolute;inset:0}.kx-subpage-hero__media:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(6,27,22,.82),rgba(6,27,22,.38) 65%,rgba(6,27,22,.18))}
.kx-subpage-hero__media>img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;filter:saturate(.88)}
.kx-subpage-hero__inner{position:relative;z-index:3;padding-block:clamp(54px,8vw,105px) clamp(36px,5vw,66px)}
.kx-subpage-hero p{margin:0 0 10px;font-size:.75rem;font-weight:800;letter-spacing:.18em;color:#f0c56a}.kx-subpage-hero h1{margin:0;max-width:18ch;color:#fff;font-size:clamp(2.35rem,6vw,5.2rem);line-height:.96}
.kx-content-page{background:#f6f3ec;min-height:42vh;padding:clamp(34px,6vw,76px) 0}.kx-content-page__inner{max-width:1120px}.kx-content-page__inner>:first-child{margin-top:0}
.kx-content-page article,.kx-content-page .com-content-article,.kx-content-page .contact,.kx-content-page .blog,.kx-content-page .category-list{background:#fff;border:1px solid rgba(21,54,45,.12);border-radius:24px;padding:clamp(22px,4vw,48px);box-shadow:0 18px 50px rgba(18,48,39,.08)}
.kx-content-page img{max-width:100%;height:auto;border-radius:16px}.kx-content-page input:not([type=checkbox]):not([type=radio]),.kx-content-page select,.kx-content-page textarea{max-width:100%;border:1px solid rgba(21,54,45,.22);border-radius:12px;padding:.78rem 1rem;background:#fff}
.kxrooms__bridge-grid{width:min(1120px,calc(100% - 40px));margin:clamp(36px,6vw,76px) auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:clamp(24px,5vw,64px);align-items:center}
.kxrooms__bridge-copy h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;margin:.5rem 0 1rem}.kxrooms__bridge-copy p{font-size:1.08rem;line-height:1.7}.kxrooms__bridge-copy li{margin:.65rem 0}
.kxrooms__date-form{display:grid;gap:14px;background:#fff;border-radius:24px;padding:clamp(22px,4vw,38px);box-shadow:0 22px 60px rgba(19,47,39,.13)}.kxrooms__date-form label{display:grid;gap:6px;font-weight:700}.kxrooms__date-form input[type=date]{width:100%;border:1px solid rgba(21,54,45,.22);border-radius:12px;padding:.8rem 1rem}.kxrooms__secondary{text-align:center;color:var(--kx-green);font-weight:700}
.kx-booking-switch{display:grid;gap:12px;padding:18px;border:1px solid rgba(240,197,106,.55);border-radius:18px;background:linear-gradient(145deg,rgba(255,250,236,.98),rgba(255,255,255,.95));color:#17352c}.kx-booking-switch strong{font-size:1.12rem;line-height:1.25}.kx-booking-switch p{margin:0;line-height:1.55}.kx-booking-switch__countdown{display:block;padding:10px 12px;border-radius:12px;background:#17352c;color:#fff;font-weight:800;font-variant-numeric:tabular-nums;text-align:center}.kx-booking-switch .kx-btn,.kx-booking-switch .kxrooms__button{margin-top:2px;text-align:center}
@media (max-width:760px){.kxrooms__bridge-grid{grid-template-columns:1fr;width:min(100% - 28px,1120px)}.kx-subpage-hero__inner{padding-inline:20px}.kx-content-page{padding-bottom:95px}.kx-content-page__inner{padding-inline:14px}.kx-content-page article,.kx-content-page .com-content-article,.kx-content-page .contact,.kx-content-page .blog,.kx-content-page .category-list{border-radius:18px;padding:20px}}

/* 1.1.5: Page-specific video modules now run inside the top hero. */
.kx-subpage-hero__motion{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
body.kx-app .kx-subpage-hero__motion,
body.kx-app .kx-subpage-hero__motion .mod_uk_slideshow,
body.kx-app .kx-subpage-hero__motion .uk-slideshow{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
body.kx-app .kx-subpage-hero__motion .uk-slideshow-items{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important;aspect-ratio:auto!important;margin:0!important}
body.kx-app .kx-subpage-hero__motion .uk-slideshow-items>li{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
body.kx-app .kx-subpage-hero__motion video,
body.kx-app .kx-subpage-hero__motion img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center 50%!important;border:0!important;border-radius:0!important;filter:saturate(.9) contrast(1.03)}
body.kx-app .kx-subpage-hero__motion .uk-slidenav,
body.kx-app .kx-subpage-hero__motion .uk-dotnav,
body.kx-app .kx-subpage-hero__motion .uk-slideshow-nav{display:none!important}

/* 1.1.5: Use the available page width proportionally and remove the historic
   empty sidebar/double-card nesting from normal Joomla articles. */
body.kx-app .kx-content-page__inner{width:min(1280px,calc(100% - clamp(32px,7vw,96px)));max-width:1280px;padding-inline:0}
body.kx-app .kx-content-layout:not(:has(.kx-content-layout__aside>*)){grid-template-columns:minmax(0,1fr)}
body.kx-app .kx-content-layout__aside:not(:has(>*)){display:none}
body.kx-app .kx-content-page .kx-content-layout__main{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
body.kx-app .kx-content-page .com-content-article,
body.kx-app .kx-content-page .contact{width:100%;padding:clamp(28px,4.8vw,64px);border-radius:clamp(20px,2.4vw,30px)}
body.kx-app .com-content-article__body{display:grid;gap:clamp(1rem,2vw,2rem);min-width:0}
body.kx-app .com-content-article__body>*{min-width:0;margin-top:0;margin-bottom:0}
body.kx-app .com-content-article__body>p:not(:has(img)):not(:has(video)):not(:has(iframe)){width:min(100%,78ch);margin-inline:auto;font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.75}
body.kx-app .com-content-article__body>.uk-grid{width:calc(100% + var(--uk-grid-column-gutter,30px));margin-top:clamp(.5rem,1.5vw,1.25rem)}
body.kx-app .com-content-article__body>p:has(video),
body.kx-app .com-content-article__body>p:has(iframe){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(1rem,2vw,1.75rem);width:100%}
body.kx-app .com-content-article__body video,
body.kx-app .com-content-article__body iframe{display:block;width:100%;max-width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:18px;object-fit:cover;box-shadow:0 14px 34px rgba(11,46,75,.12)}
body.kx-app .com-content-article__body>p:has(img:nth-of-type(2)){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(1rem,2vw,1.5rem);width:100%}
body.kx-app .com-content-article__body>p:has(img:nth-of-type(2)) img{width:100%;height:100%;min-height:220px;object-fit:cover}
body.kx-app .com-contact.contact{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:clamp(2rem,5vw,5rem);align-items:start}
body.kx-app .com-contact.contact>.com-contact__container{grid-row:1/span 2}
body.kx-app .com-contact.contact>h2{margin:0}

@media (min-width:900px){.kx-subpage-hero{min-height:clamp(468px,49.2vw,672px)}}
@media (max-width:760px){
  .kx-subpage-hero{min-height:384px}
  body.kx-app .kx-content-page__inner{width:min(100% - 24px,1280px)}
  body.kx-app .kx-content-page .com-content-article,
  body.kx-app .kx-content-page .contact{padding:22px 18px}
  body.kx-app .com-contact.contact{grid-template-columns:1fr;gap:1.5rem}
  body.kx-app .com-contact.contact>.com-contact__container{grid-row:auto}
}
.kx-color-blue .kx-shell-head{box-shadow:0 10px 34px rgba(8,53,99,.09)}
.kx-color-blue .kx-contactbar{background:linear-gradient(90deg,#073563,#0d4a89 60%,#1767b3)}
.kx-color-blue .kx-contactitem svg{color:#dceaff}
.kx-color-blue:not(.kx-home-page) .kx-brand{color:#20384f!important}
.kx-color-blue:not(.kx-home-page) .kx-brand__copy small{color:#68809a}
.kx-color-blue:not(.kx-home-page) .kx-header-book{background:#0d4a89;box-shadow:0 8px 22px rgba(8,53,99,.16)}
.kx-color-blue .kx-mobile-nav{box-shadow:0 22px 48px rgba(8,53,99,.15)}
.kx-color-blue .kx-home-stage>.kx-mobile-nav{background:rgba(5,43,84,.985)}
.kx-color-blue .kx-mobile-nav__primary{color:#20384f!important}
.kx-color-blue .kx-mobile-nav__children a{background:#edf4fc;color:#274a6e!important}
.kx-color-blue .kx-site-footer{background:#073563}
.kx-color-blue .kx-home-stage .kx-site-footer--stage{background:rgba(3,32,65,.48)}
.kx-color-blue .kx-offcanvas .kx-mobile-nav__primary{color:#153a61!important}
.kx-color-blue .kx-offcanvas .kx-mobile-nav__primary:hover,.kx-color-blue .kx-offcanvas .kx-mobile-nav__primary:focus{color:#0d4a89!important}
.kx-color-blue .kx-offcanvas .kx-mobile-nav__children a{background:#eaf2fb!important;color:#21496f!important}
.kx-color-blue .kx-offcanvas .kx-mobile-nav__children a:hover,.kx-color-blue .kx-offcanvas .kx-mobile-nav__children a:focus{background:#dceafa!important;color:#0d4a89!important}
.kx-color-blue .kx-offcanvas .kx-mobile-nav__contact a{background:#0d4a89!important}
.kx-color-blue .kx-shop-stage{background:#0d4a89;box-shadow:0 24px 70px rgba(8,53,99,.15)}
.kx-color-blue .kx-shop-stage__art{background:radial-gradient(circle at 86% -8%,rgba(255,255,255,.075) 0 175px,transparent 176px),linear-gradient(112deg,rgba(0,0,0,.13),rgba(0,0,0,.025) 48%,rgba(49,122,199,.16)),url('../images/kraxenberger-mountains-blue.svg') center 65%/cover no-repeat}
.kx-color-blue .kx-shop-kicker{color:#dbe9f8}
.kx-color-blue .kx-shop-component .jshop h1,.kx-color-blue .kx-shop-component .jshop h2,.kx-color-blue .kx-shop-component .jshop h3,.kx-color-blue .kx-shop-component .jshop_list_product h1,.kx-color-blue .kx-shop-component .jshop_list_product h2,.kx-color-blue .kx-shop-component .jshop_list_product h3{color:#153a61}
.kx-color-blue .kx-shop-component .jshop_list_product .block_product{border-color:#dbe6f2!important}
.kx-color-blue .kx-shop-component .jshop_list_product .name a{color:#12385f!important}
.kx-color-blue .kx-shop-component .button_detail,.kx-color-blue .kx-shop-component a.button_detail,.kx-color-blue .kx-shop-component .btn-secondary,.kx-color-blue .kx-shop-component .btn:not(.btn-primary){border-color:#d7e2ef!important;background:#f0f5fb!important;color:#214a71!important}
.kx-color-blue .kx-shop-component input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),.kx-color-blue .kx-shop-component select,.kx-color-blue .kx-shop-component textarea{border-color:#d8e3ef!important}
.kx-color-blue .kx-shop-component input:focus,.kx-color-blue .kx-shop-component select:focus,.kx-color-blue .kx-shop-component textarea:focus{border-color:#0d4a89!important;box-shadow:0 0 0 4px rgba(13,74,137,.10)!important}
.kx-color-blue .kx-shop-component .jshop_product,.kx-color-blue .kx-shop-component .productfull,.kx-color-blue .kx-shop-component .jshop_cart,.kx-color-blue .kx-shop-component .cart,.kx-color-blue .kx-shop-component .jshop_checkout,.kx-color-blue .kx-shop-component .checkout,.kx-color-blue .kx-shop-component .jshop_register,.kx-color-blue .kx-shop-component .jshop_login{border-color:#dbe6f2!important}
.kx-color-blue .kx-shop-component table td,.kx-color-blue .kx-shop-component table th{border-color:#e5edf5!important}
.kx-color-blue .kx-shop-component .kx-jshop-credit,.kx-color-blue .kx-shop-component a.kx-jshop-credit{color:#6c7e92!important;filter:saturate(.3)}
@media(max-width:767.98px){
  .kx-color-blue .kx-home-stage__art::before{background:linear-gradient(180deg,rgba(4,47,96,.72) 0%,rgba(7,65,125,.60) 52%,rgba(13,74,137,.68) 100%)}
}

/* ===================== 0.3.6 BLUE NAVIGATION REFINEMENT =====================
   Premium blue navigation only. No page/content layout changes. */
.kx-color-blue .kx-mainnav__list{gap:6px}
.kx-color-blue .kx-mainnav__item>a,
.kx-color-blue .kx-mainnav__label,
.kx-color-blue .kx-mainnav__toggle{
  min-height:46px;
  padding:0 17px;
  border:1px solid transparent!important;
  border-radius:999px!important;
  font-size:.86rem;
  font-weight:750;
  letter-spacing:.005em;
  transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.kx-color-blue .kx-mainnav__item>a:hover,
.kx-color-blue .kx-mainnav__toggle:hover{transform:translateY(-1px)}
.kx-color-blue .kx-nav-chevron{font-size:.76rem;opacity:.82;transform:rotate(180deg);transition:transform .2s ease,opacity .2s ease}
.kx-color-blue .kx-mainnav__toggle[aria-expanded="true"] .kx-nav-chevron{transform:rotate(0deg);opacity:1}

/* Home + shop: centered glass navigation capsule inside the blue stage. */
.kx-color-blue .kx-home-menubar{
  border:0!important;
  background:transparent!important;
  padding:5px 0 13px;
}
.kx-color-blue .kx-home-menubar__inner{min-height:62px}
.kx-color-blue .kx-home-menubar .kx-mainnav{
  width:auto;
  max-width:100%;
  padding:6px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(4,40,82,.34),rgba(4,38,76,.24));
  box-shadow:0 16px 42px rgba(2,29,60,.16),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
}
.kx-color-blue.kx-home-page .kx-mainnav__item>a,
.kx-color-blue.kx-home-page .kx-mainnav__label,
.kx-color-blue.kx-home-page .kx-mainnav__toggle,
.kx-color-blue .kx-shop-stage .kx-mainnav__item>a,
.kx-color-blue .kx-shop-stage .kx-mainnav__label,
.kx-color-blue .kx-shop-stage .kx-mainnav__toggle{
  color:rgba(255,255,255,.90)!important;
  text-shadow:0 1px 1px rgba(2,30,62,.16);
}
.kx-color-blue.kx-home-page .kx-mainnav__item>a:hover,
.kx-color-blue.kx-home-page .kx-mainnav__toggle:hover,
.kx-color-blue .kx-shop-stage .kx-mainnav__item>a:hover,
.kx-color-blue .kx-shop-stage .kx-mainnav__toggle:hover{
  border-color:rgba(255,255,255,.15)!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.kx-color-blue.kx-home-page .kx-mainnav__item.is-active>a,
.kx-color-blue.kx-home-page .kx-mainnav__toggle[aria-expanded="true"],
.kx-color-blue .kx-shop-stage .kx-mainnav__item.is-active>a,
.kx-color-blue .kx-shop-stage .kx-mainnav__toggle[aria-expanded="true"]{
  border-color:rgba(255,255,255,.34)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,.13))!important;
  color:#fff!important;
  box-shadow:0 7px 20px rgba(2,31,64,.16),inset 0 1px 0 rgba(255,255,255,.19)!important;
}

/* Light premium dropdown on the blue stage and on normal pages. */
.kx-color-blue .kx-nav-dropdown,
.kx-color-blue.kx-home-page .kx-nav-dropdown,
.kx-color-blue .kx-shop-stage .kx-nav-dropdown{
  top:calc(100% + 13px)!important;
  min-width:292px;
  padding:9px!important;
  border:1px solid rgba(116,151,189,.28)!important;
  border-radius:22px!important;
  background:rgba(250,252,255,.975)!important;
  color:#173a5d!important;
  box-shadow:0 28px 70px rgba(3,39,77,.22),0 3px 12px rgba(3,39,77,.07)!important;
  backdrop-filter:blur(22px) saturate(125%);
  -webkit-backdrop-filter:blur(22px) saturate(125%);
}
.kx-color-blue .kx-nav-dropdown::before{
  content:"";
  position:absolute;
  top:-6px;
  left:50%;
  width:12px;
  height:12px;
  border-left:1px solid rgba(116,151,189,.22);
  border-top:1px solid rgba(116,151,189,.22);
  background:rgba(250,252,255,.98);
  transform:translateX(-50%) rotate(45deg);
}
.kx-color-blue .kx-nav-dropdown a,
.kx-color-blue.kx-home-page .kx-nav-dropdown a,
.kx-color-blue .kx-shop-stage .kx-nav-dropdown a{
  position:relative;
  z-index:1;
  min-height:48px;
  padding:10px 13px;
  border:1px solid transparent;
  border-radius:14px;
  color:#1c4166!important;
  font-size:.84rem;
  font-weight:700;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease!important;
}
.kx-color-blue .kx-nav-dropdown a:hover,
.kx-color-blue .kx-nav-dropdown a:focus,
.kx-color-blue.kx-home-page .kx-nav-dropdown a:hover,
.kx-color-blue.kx-home-page .kx-nav-dropdown a:focus,
.kx-color-blue .kx-shop-stage .kx-nav-dropdown a:hover,
.kx-color-blue .kx-shop-stage .kx-nav-dropdown a:focus{
  border-color:#d7e7f7!important;
  background:linear-gradient(135deg,#edf5fd,#f7fbff)!important;
  color:#07509a!important;
  transform:translateX(2px);
}
.kx-color-blue .kx-nav-dropdown__parent{
  margin-bottom:6px;
  border:1px solid #dce8f4!important;
  border-bottom-color:#dce8f4!important;
  background:#f5f9fd!important;
}
.kx-color-blue .kx-nav-dropdown__icon,
.kx-color-blue.kx-home-page .kx-nav-dropdown__icon,
.kx-color-blue .kx-shop-stage .kx-nav-dropdown__icon{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:10px;
  background:#e4effb;
  color:#0d4a89!important;
}
.kx-color-blue .kx-nav-dropdown__icon svg{width:17px;height:17px}

/* Normal content pages: airy blue menu strip with a white floating capsule. */
.kx-color-blue .kx-menurow{
  border-top:1px solid #dce8f3;
  border-bottom:1px solid #dce8f3;
  background:linear-gradient(180deg,#f8fbff,#f2f7fc);
  box-shadow:0 8px 20px rgba(8,53,99,.035);
}
.kx-color-blue .kx-menurow__inner{min-height:68px}
.kx-color-blue .kx-menurow .kx-mainnav{
  padding:5px;
  border:1px solid #dbe7f3;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  box-shadow:0 8px 24px rgba(8,53,99,.07);
}
.kx-color-blue:not(.kx-home-page) .kx-menurow .kx-mainnav__item>a,
.kx-color-blue:not(.kx-home-page) .kx-menurow .kx-mainnav__label,
.kx-color-blue:not(.kx-home-page) .kx-menurow .kx-mainnav__toggle{color:#26496c!important}
.kx-color-blue:not(.kx-home-page) .kx-menurow .kx-mainnav__item>a:hover,
.kx-color-blue:not(.kx-home-page) .kx-menurow .kx-mainnav__toggle:hover{
  border-color:#d7e6f5!important;
  background:#eef5fc!important;
  color:#0d4a89!important;
}
.kx-color-blue:not(.kx-home-page) .kx-menurow .kx-mainnav__item.is-active>a,
.kx-color-blue:not(.kx-home-page) .kx-menurow .kx-mainnav__toggle[aria-expanded="true"]{
  border-color:#0d4a89!important;
  background:linear-gradient(135deg,#0d4a89,#1767b3)!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(13,74,137,.20)!important;
}

/* Mobile bottom dock: blue/white native-app feel. */
@media(max-width:1040px){
  .kx-color-blue .kx-mobile-dock{
    border-color:rgba(77,121,166,.22);
    background:rgba(248,251,255,.94);
    box-shadow:0 18px 54px rgba(4,43,83,.20),inset 0 1px 0 rgba(255,255,255,.92);
    backdrop-filter:blur(24px) saturate(135%);
    -webkit-backdrop-filter:blur(24px) saturate(135%);
  }
  .kx-color-blue .kx-mobile-dock a,
  .kx-color-blue .kx-mobile-dock>span,
  .kx-color-blue .kx-mobile-dock>button{color:#657b91}
  .kx-color-blue .kx-mobile-dock a:hover,
  .kx-color-blue .kx-mobile-dock>button:hover{background:#edf4fb;color:#0d4a89}
  .kx-color-blue .kx-mobile-dock a.is-active,
  .kx-color-blue .kx-mobile-dock>button[aria-expanded="true"]{
    background:linear-gradient(145deg,#0d4a89,#1767b3)!important;
    color:#fff!important;
    box-shadow:0 7px 18px rgba(13,74,137,.22);
  }
}

/* Mobile offcanvas: clean blue app drawer. */
.kx-color-blue .kx-offcanvas__backdrop{background:rgba(3,25,49,.60)!important}
.kx-color-blue .kx-offcanvas__panel{
  background:linear-gradient(180deg,#f8fbff 0%,#eef5fc 100%)!important;
  color:#163b5f!important;
  box-shadow:-28px 0 80px rgba(3,31,61,.32)!important;
}
.kx-color-blue .kx-offcanvas__head{
  border-bottom:1px solid rgba(255,255,255,.14);
  background:linear-gradient(135deg,rgba(8,53,99,.98),rgba(13,74,137,.96) 58%,rgba(23,103,179,.94));
  box-shadow:0 10px 28px rgba(8,53,99,.16);
}
.kx-color-blue .kx-offcanvas__eyebrow{color:#cfe1f5}
.kx-color-blue .kx-offcanvas__head strong{color:#fff}
.kx-color-blue .kx-offcanvas__close{
  border-color:rgba(255,255,255,.28)!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  box-shadow:none!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.kx-color-blue .kx-offcanvas .kx-mobile-nav__inner{padding-top:14px!important}
.kx-color-blue .kx-offcanvas .kx-mobile-nav__group{
  margin:8px 0!important;
  padding:4px 12px 9px!important;
  border:1px solid #dce8f4!important;
  border-radius:18px;
  background:rgba(255,255,255,.72);
  box-shadow:0 7px 20px rgba(8,53,99,.045);
}
.kx-color-blue .kx-offcanvas .kx-mobile-nav__primary{
  min-height:54px;
  padding:10px 1px!important;
  color:#173f66!important;
  font-size:1.13rem!important;
}
.kx-color-blue .kx-offcanvas .kx-mobile-nav__primary:hover,
.kx-color-blue .kx-offcanvas .kx-mobile-nav__primary:focus{color:#0d4a89!important}
.kx-color-blue .kx-offcanvas .kx-mobile-nav__children{padding-bottom:4px!important}
.kx-color-blue .kx-offcanvas .kx-mobile-nav__children a{
  min-height:43px!important;
  border:1px solid #dbe8f5;
  border-radius:13px!important;
  background:#edf5fd!important;
  color:#285176!important;
}
.kx-color-blue .kx-offcanvas .kx-mobile-nav__children a:hover,
.kx-color-blue .kx-offcanvas .kx-mobile-nav__children a:focus{
  border-color:#c8ddf2!important;
  background:#e0eefc!important;
  color:#0a4d8f!important;
}
.kx-color-blue .kx-offcanvas .kx-mobile-nav__contact a{
  background:linear-gradient(135deg,#0d4a89,#1767b3)!important;
  box-shadow:0 8px 20px rgba(13,74,137,.16);
}

@media(max-width:767.98px){
  .kx-color-blue .kx-home-menubar{padding:0}
}

/* v0.3.8 – Buchungstext kompakt direkt untereinander */
.kx-booking-teaser .kx-booking-copy{
  margin:0 0 24px;
  line-height:1.45;
}
@media (max-width: 767.98px){
  .kx-booking-teaser .kx-booking-copy{
    margin-bottom:18px;
    line-height:1.4;
  }
}
@media (max-width: 480px){.kx-hotel-date-form__fields{grid-template-columns:1fr}.kx-video-toggle{right:12px;bottom:58px}.kx-video-toggle [data-kx-hero-label]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
@media (prefers-reduced-motion:reduce){.kx-home-stage__video{display:none}.kx-video-toggle{display:none}}

/* ===================== 0.3.9 CONTENT PAGE HARMONIZATION =====================
   Brings legacy Joomla/Astroid content, contact forms, footer strips and
   image fallbacks into the Kraxenberger blue design. */
.kx-color-blue:not(.kx-home-page):not(.kx-shop-page){
  --kx-page-blue:#0d4a89;
  --kx-page-blue-dark:#073563;
  --kx-page-blue-soft:#1767b3;
  --kx-page-bg:#f4f8fc;
  --kx-page-card:#fff;
  --kx-page-border:#d9e6f2;
  background:var(--kx-page-bg)!important;
  color:#173a5d;
}
.kx-color-blue:not(.kx-home-page):not(.kx-shop-page) #content,
.kx-color-blue:not(.kx-home-page):not(.kx-shop-page) #contact{
  background:linear-gradient(180deg,#f8fbff 0%,#f3f7fb 100%)!important;
}
.kx-color-blue:not(.kx-home-page):not(.kx-shop-page) #content h1,
.kx-color-blue:not(.kx-home-page):not(.kx-shop-page) #content h2,
.kx-color-blue:not(.kx-home-page):not(.kx-shop-page) #content h3,
.kx-color-blue:not(.kx-home-page):not(.kx-shop-page) .page-header h1,
.kx-color-blue:not(.kx-home-page):not(.kx-shop-page) .page-header h2{
  color:#153a61!important;
}

/* Contact / article forms: white cards, calm blue focus and one unified CTA. */
.kx-color-blue:not(.kx-home-page) .contact,
.kx-color-blue:not(.kx-home-page) .com-contact-contact,
.kx-color-blue:not(.kx-home-page) .contact-form,
.kx-color-blue:not(.kx-home-page) form.form-validate{
  border-radius:26px;
}
.kx-color-blue:not(.kx-home-page) .contact-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.kx-color-blue:not(.kx-home-page) .contact-form textarea,
.kx-color-blue:not(.kx-home-page) .contact-form select,
.kx-color-blue:not(.kx-home-page) .com-contact-contact input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.kx-color-blue:not(.kx-home-page) .com-contact-contact textarea,
.kx-color-blue:not(.kx-home-page) .com-contact-contact select{
  min-height:48px;
  border:1px solid #d8e4ef!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#173a5d!important;
  box-shadow:0 3px 12px rgba(8,53,99,.025)!important;
}
.kx-color-blue:not(.kx-home-page) .contact-form textarea,
.kx-color-blue:not(.kx-home-page) .com-contact-contact textarea{min-height:126px}
.kx-form-privacy{margin:20px 0 0;padding:14px 16px;border-left:4px solid #0d4a89;border-radius:0 14px 14px 0;background:#eef6fc;color:#536d86;font-size:.79rem;line-height:1.58}
.kx-form-privacy strong{color:#153f68}
.kx-form-privacy a{color:#0d579f!important;font-weight:800;text-decoration:underline!important}
.kx-color-blue:not(.kx-home-page) .contact-form input:focus,
.kx-color-blue:not(.kx-home-page) .contact-form textarea:focus,
.kx-color-blue:not(.kx-home-page) .contact-form select:focus,
.kx-color-blue:not(.kx-home-page) .com-contact-contact input:focus,
.kx-color-blue:not(.kx-home-page) .com-contact-contact textarea:focus,
.kx-color-blue:not(.kx-home-page) .com-contact-contact select:focus{
  border-color:#0d4a89!important;
  outline:0!important;
  box-shadow:0 0 0 4px rgba(13,74,137,.10)!important;
}

/* Catch legacy green/turquoise primary buttons without recolouring warnings/destructive actions. */
.kx-color-blue:not(.kx-home-page) .btn-primary,
.kx-color-blue:not(.kx-home-page) .btn-success,
.kx-color-blue:not(.kx-home-page) button[type="submit"].btn,
.kx-color-blue:not(.kx-home-page) input[type="submit"].btn,
.kx-color-blue:not(.kx-home-page) .contact-form button[type="submit"],
.kx-color-blue:not(.kx-home-page) .contact-form input[type="submit"],
.kx-color-blue:not(.kx-home-page) .com-contact-contact button[type="submit"],
.kx-color-blue:not(.kx-home-page) .com-contact-contact input[type="submit"]{
  min-height:46px!important;
  padding:.68rem 1.45rem!important;
  border:1px solid #0d4a89!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#0d4a89,#1767b3)!important;
  color:#fff!important;
  font-weight:750!important;
  box-shadow:0 9px 22px rgba(13,74,137,.18)!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.kx-color-blue:not(.kx-home-page) .btn-primary:hover,
.kx-color-blue:not(.kx-home-page) .btn-success:hover,
.kx-color-blue:not(.kx-home-page) button[type="submit"].btn:hover,
.kx-color-blue:not(.kx-home-page) input[type="submit"].btn:hover,
.kx-color-blue:not(.kx-home-page) .contact-form button[type="submit"]:hover,
.kx-color-blue:not(.kx-home-page) .contact-form input[type="submit"]:hover{
  transform:translateY(-1px)!important;
  filter:brightness(1.045)!important;
  box-shadow:0 12px 28px rgba(13,74,137,.23)!important;
}

/* Replace the remaining charcoal Astroid footer/bars by the same brand blue. */
.kx-color-blue #f-oel6e1bpp,
.kx-color-blue .footer-section,
.kx-color-blue .astroid-footer-section{
  border-top:1px solid rgba(255,255,255,.12)!important;
  background:linear-gradient(105deg,#073563 0%,#0d4a89 58%,#1767b3 100%)!important;
  color:rgba(255,255,255,.88)!important;
}
.kx-color-blue #f-oel6e1bpp a,
.kx-color-blue .footer-section a,
.kx-color-blue .astroid-footer-section a{color:#eaf3fd!important}
.kx-color-blue #f-oel6e1bpp a:hover,
.kx-color-blue .footer-section a:hover,
.kx-color-blue .astroid-footer-section a:hover{color:#fff!important}

/* Any legacy dark module blocks that survived an old Astroid layout become blue cards. */
.kx-color-blue #ml2-tn2ti3i6d{
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#0b447d,#1767b3)!important;
  color:#fff!important;
  box-shadow:0 16px 36px rgba(8,53,99,.14)!important;
}
.kx-color-blue #ml2-tn2ti3i6d a{color:#fff!important}

/* Broken-image repair output. Real replacement images always win: the JS only
   substitutes an image when the original is actually missing/broken. */
.kx-fallback-icon{
  display:inline-block!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  object-fit:contain!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  vertical-align:middle;
}
.kx-example-image{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/9;
  object-fit:cover!important;
  border:1px solid #d8e5f2!important;
  border-radius:24px!important;
  background:#eaf2fb!important;
  box-shadow:0 16px 38px rgba(8,53,99,.10)!important;
}
.kx-example-image + .kx-example-note{
  display:inline-flex;
  align-items:center;
  margin-top:8px;
  padding:5px 10px;
  border:1px solid #d6e5f4;
  border-radius:999px;
  background:#eef5fc;
  color:#315a80;
  font-size:.68rem;
  font-weight:750;
  letter-spacing:.04em;
  text-transform:uppercase;
}

/* Legacy overview cards are kept airy and consistent with the new shell. */
.kx-color-blue .kx-repaired-media-card{
  overflow:hidden;
  border:1px solid #dce7f2!important;
  border-radius:26px!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(8,53,99,.07)!important;
}

@media(max-width:767.98px){
  .kx-color-blue:not(.kx-home-page):not(.kx-shop-page) #content,
  .kx-color-blue:not(.kx-home-page):not(.kx-shop-page) #contact{padding-top:28px!important;padding-bottom:96px!important}
  .kx-color-blue:not(.kx-home-page) .contact-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
  .kx-color-blue:not(.kx-home-page) .contact-form textarea,
  .kx-color-blue:not(.kx-home-page) .contact-form select{font-size:16px!important}
}


/* 0.4.1 — desktop account/login chip beside contact details */
.kx-hero-contactbar .kx-account-login{
  background:rgba(255,255,255,.96)!important;
  color:#0b4f93!important;
  border-color:rgba(255,255,255,.82)!important;
  box-shadow:0 10px 28px rgba(0,32,78,.16);
  font-weight:750;
}
.kx-hero-contactbar .kx-account-login:hover{
  background:#fff!important;
  color:#073563!important;
  transform:translateY(-1px);
}
.kx-hero-contactbar .kx-account-login svg{color:#1767b3!important}
@media (max-width: 767.98px){
  .kx-hero-contactbar .kx-account-login{display:none!important}
}


/* ===================== 0.4.2 GUEST ACCOUNT =====================
   Branded Joomla guest profile. Existing uploaded avatars win; the bundled
   illustrated avatars are only fallbacks. Nationality is never inferred. */
.kx-account-chip{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:5px 11px 5px 6px;border:1px solid #d7e4f1;border-radius:999px;background:#fff;color:#153e67!important;text-decoration:none!important;box-shadow:0 8px 24px rgba(5,50,94,.09);transition:.18s ease}
.kx-account-chip:hover{transform:translateY(-1px);border-color:#bfd7ee;background:#f8fbff;color:#0b4f93!important}
.kx-account-chip__avatar{position:relative;display:block;width:34px;height:34px;flex:0 0 34px}
.kx-account-chip__avatar img{display:block;width:34px;height:34px;border:2px solid rgba(255,255,255,.9);border-radius:50%;object-fit:cover;background:#eaf3fc;box-shadow:0 2px 8px rgba(2,39,76,.15)}
.kx-account-chip__flag{position:absolute;top:-4px;right:-6px;display:grid;place-items:center;width:18px;height:18px;border:2px solid #fff;border-radius:50%;background:#fff;font-size:11px;line-height:1;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.kx-account-chip__guesticon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e8f2fc;color:#0d4a89}
.kx-account-chip__guesticon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.kx-account-chip__copy{display:flex;flex-direction:column;line-height:1.05;text-align:left}
.kx-account-chip__copy small{font-size:.61rem;font-weight:650;opacity:.7}
.kx-account-chip__copy strong{margin-top:3px;font-size:.76rem;font-weight:800;white-space:nowrap}
.kx-home-page .kx-account-chip--header,.kx-shop-stage .kx-account-chip--header{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff!important;box-shadow:none}
.kx-home-page .kx-account-chip--header:hover,.kx-shop-stage .kx-account-chip--header:hover{background:rgba(255,255,255,.15);color:#fff!important}
.kx-home-page .kx-account-chip--header .kx-account-chip__copy small,.kx-shop-stage .kx-account-chip--header .kx-account-chip__copy small{color:rgba(255,255,255,.76)}
.kx-hero-contactbar .kx-account-chip--contact{padding:5px 12px 5px 6px!important;background:rgba(255,255,255,.97)!important;color:#0b4f93!important;border-color:rgba(255,255,255,.88)!important;box-shadow:0 10px 28px rgba(0,32,78,.16)}
.kx-hero-contactbar .kx-account-chip--contact:hover{background:#fff!important;color:#073563!important}

/* Hover dropdowns: a forgiving pointer bridge prevents the submenu from
   collapsing while moving from the parent item into its clickable children. */
.kx-mainnav__item.has-children::after{content:"";position:absolute;z-index:20;top:100%;left:-8px;right:-8px;height:18px}
.kx-color-blue .kx-nav-chevron{transform:none!important;transition:transform .18s ease!important}
.kx-color-blue .kx-mainnav__item.has-children:hover>.kx-mainnav__toggle .kx-nav-chevron,
.kx-color-blue .kx-mainnav__item.has-children:focus-within>.kx-mainnav__toggle .kx-nav-chevron,
.kx-color-blue .kx-mainnav__toggle[aria-expanded="true"] .kx-nav-chevron{transform:rotate(180deg)!important}
.kx-mainnav__parentlink{cursor:pointer!important}

.kx-account-page{background:#f3f7fb!important}
.kx-account-dashboard{min-height:calc(100vh - 190px);padding:clamp(32px,5vw,72px) 0 120px;background:linear-gradient(145deg,#f7faff 0%,#edf4fb 100%);color:#173b60}
.kx-account-dashboard__inner{max-width:1380px}
.kx-account-welcome{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.72fr);align-items:center;gap:40px;margin-bottom:28px}
.kx-account-kicker{margin:0 0 8px;color:#1767b3;font-size:.72rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.kx-account-welcome__copy h1{margin:0;color:#0b3f78!important;font-size:clamp(2.8rem,5vw,5rem);font-weight:650;line-height:.98}
.kx-account-welcome__copy>p:last-child{max-width:680px;margin:17px 0 0;color:#61778d;font-size:1rem;line-height:1.7}
.kx-profile-pass{position:relative;isolation:isolate;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-height:150px;padding:22px 24px;overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:28px;background:linear-gradient(135deg,#0a3f79 0%,#0d579f 58%,#1675be 100%);color:#fff;box-shadow:0 20px 50px rgba(7,52,99,.22)}
.kx-profile-pass::before,.kx-profile-pass::after{content:"";position:absolute;z-index:-1;width:230px;height:230px;border-radius:46px;background:rgba(255,255,255,.055);transform:rotate(42deg)}
.kx-profile-pass::before{right:34%;top:-160px}.kx-profile-pass::after{right:-90px;bottom:-170px}
.kx-profile-pass__avatar{position:relative;width:92px;height:92px}
.kx-profile-pass__avatar img{display:block;width:92px;height:92px;border:4px solid rgba(255,255,255,.9);border-radius:50%;object-fit:cover;background:#e8f3fd;box-shadow:0 8px 22px rgba(0,25,55,.24)}
.kx-profile-pass__flag{position:absolute;right:-4px;top:-3px;display:grid;place-items:center;width:28px;height:28px;border:3px solid #fff;border-radius:50%;background:#fff;font-size:17px;line-height:1;box-shadow:0 4px 10px rgba(0,0,0,.2)}
.kx-profile-pass__identity{display:flex;flex-direction:column;min-width:0}
.kx-profile-pass__identity>span{font-size:.7rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.68)}
.kx-profile-pass__identity strong{margin-top:6px;font-family:var(--kx-font-display);font-size:1.65rem;line-height:1.05;color:#fff}
.kx-profile-pass__identity small{margin-top:7px;color:rgba(255,255,255,.78);font-size:.79rem}
.kx-profile-pass__number{text-align:right;align-self:end;padding-left:18px;border-left:1px solid rgba(255,255,255,.2)}
.kx-profile-pass__number span{display:block;color:rgba(255,255,255,.7);font-size:.66rem;text-transform:uppercase;letter-spacing:.09em}
.kx-profile-pass__number strong{display:block;margin-top:3px;color:#fff;font-size:1.12rem}

.kx-account-layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:24px;align-items:start}
.kx-account-menu-card,.kx-account-data-card,.kx-account-booking-card{border:1px solid #d9e6f2;border-radius:28px;background:#fff;box-shadow:0 14px 40px rgba(7,50,94,.075)}
.kx-account-menu-card{position:sticky;top:22px;padding:18px;overflow:hidden}
.kx-account-menu-card__head{display:flex;align-items:center;gap:12px;padding:7px 7px 17px;border-bottom:1px solid #e3ebf4}
.kx-account-menu-card__miniavatar{display:block;width:44px;height:44px;flex:0 0 44px}
.kx-account-menu-card__miniavatar img{display:block;width:44px;height:44px;border-radius:50%;object-fit:cover;background:#eaf2fb}
.kx-account-menu-card__head div{display:flex;flex-direction:column}.kx-account-menu-card__head small{font-size:.68rem;color:#72879b}.kx-account-menu-card__head strong{margin-top:2px;color:#123f6a;font-size:.95rem}
.kx-account-menu-card h2{margin:20px 8px 8px;color:#6d8295!important;font-family:var(--kx-font-body)!important;font-size:.67rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.kx-account-nav{display:grid;gap:4px;margin-top:10px}
.kx-account-nav a{display:grid;grid-template-columns:34px minmax(0,1fr) 14px;align-items:center;gap:8px;min-height:51px;padding:7px 10px;border:1px solid transparent;border-radius:14px;color:#254d73!important;text-decoration:none!important;transition:.16s ease}
.kx-account-nav a>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:#0d579f;background:#edf5fd}
.kx-account-nav a svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.kx-account-nav a b{font-size:.84rem;font-weight:700}.kx-account-nav a i{font-style:normal;font-size:1.3rem;color:#90a4b7}
.kx-account-nav a:hover,.kx-account-nav a.is-active{border-color:#d9e9f8;background:#edf5fd;color:#0a4e91!important;transform:translateX(1px)}
.kx-account-nav a.is-active>span{background:#0d579f;color:#fff}
.kx-account-nav a.is-danger{color:#b53b42!important}.kx-account-nav a.is-danger>span{background:#fff0f1;color:#c9434b}.kx-account-nav a.is-danger:hover{border-color:#f1d6d8;background:#fff7f7}
.kx-account-logout{margin-top:16px;padding-top:16px;border-top:1px solid #e3ebf4}
.kx-account-logout button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:50px;border:0!important;border-radius:14px!important;background:#0b3f78!important;color:#fff!important;font-size:.86rem;font-weight:800;box-shadow:none!important}
.kx-account-logout button:hover{background:#082f5b!important}.kx-account-logout svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}

.kx-account-main{min-width:0;display:grid;gap:22px}
.kx-account-quickgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.kx-account-quickcard{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:112px;padding:17px;border:1px solid #dbe7f2;border-radius:22px;background:#fff;color:#163f68!important;text-decoration:none!important;box-shadow:0 10px 30px rgba(8,53,99,.055);transition:.18s ease}
.kx-account-quickcard:hover{transform:translateY(-2px);border-color:#bed8ef;box-shadow:0 16px 34px rgba(8,53,99,.10);color:#0a4d8e!important}
.kx-account-quickcard__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,#eaf4fd,#dcecfb);color:#0d579f}.kx-account-quickcard__icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75}
.kx-account-quickcard>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.kx-account-quickcard small{font-size:.63rem;color:#8194a5;text-transform:uppercase;letter-spacing:.08em}.kx-account-quickcard strong{margin-top:4px;font-size:.9rem}.kx-account-quickcard em{margin-top:4px;color:#74889a;font-size:.72rem;font-style:normal}.kx-account-quickcard>i{font-style:normal;font-size:1.15rem;color:#6b94ba}
.kx-account-data-card{padding:clamp(20px,3vw,32px)}
.kx-account-data-card__head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:19px}
.kx-account-data-card__head span,.kx-account-booking-card>div>span{color:#1767b3;font-size:.66rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.kx-account-data-card__head h2,.kx-account-booking-card h2{margin:4px 0 0;color:#123f6a!important;font-size:1.6rem;font-weight:650}
.kx-account-data-card__head>a{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#edf5fd;color:#0d579f!important;text-decoration:none!important;font-size:.76rem;font-weight:800}.kx-account-data-card__head>a svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.kx-account-data-list{margin:0;border-top:1px solid #e4ecf4}.kx-account-data-list>div{display:grid;grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);gap:20px;padding:15px 3px;border-bottom:1px solid #e8eef5}.kx-account-data-list dt{display:flex;align-items:center;gap:9px;color:#71869a;font-size:.78rem;font-weight:650}.kx-account-data-list dt svg{width:17px;height:17px;fill:none;stroke:#1767b3;stroke-width:1.8}.kx-account-data-list dd{margin:0;color:#21486f;font-size:.84rem;font-weight:650;overflow-wrap:anywhere}
.kx-account-booking-card{display:grid;grid-template-columns:70px minmax(0,1fr);gap:20px;padding:27px 30px;background:linear-gradient(135deg,#fff 0%,#f3f8fd 100%)}
.kx-account-booking-card__icon{display:grid;place-items:center;width:66px;height:66px;border-radius:20px;background:linear-gradient(145deg,#0d4a89,#1971bb);color:#fff;box-shadow:0 12px 24px rgba(13,74,137,.19)}.kx-account-booking-card__icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7}
.kx-account-booking-card p{max-width:650px;margin:9px 0 16px;color:#6d8296;font-size:.85rem;line-height:1.6}
.kx-account-booking-card__actions{display:flex;flex-wrap:wrap;gap:9px}.kx-account-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 15px;border:1px solid #cdddec;border-radius:999px;background:#fff;color:#174b7d!important;text-decoration:none!important;font-size:.77rem;font-weight:800}.kx-account-btn--primary{border-color:#0d579f;background:#0d579f;color:#fff!important}.kx-account-btn:hover{transform:translateY(-1px)}

@media(max-width:1100px){
  .kx-account-chip--header{display:none!important}
  .kx-account-welcome{grid-template-columns:1fr}.kx-profile-pass{max-width:720px}
  .kx-account-layout{grid-template-columns:300px minmax(0,1fr)}
  .kx-account-quickgrid{grid-template-columns:1fr}
}
@media(max-width:767.98px){
  .kx-hero-contactbar .kx-account-chip--contact{display:none!important}
  .kx-account-dashboard{padding:24px 0 112px}.kx-account-dashboard__inner{width:min(calc(100% - 24px),var(--kx-content))}
  .kx-account-welcome{gap:18px;margin-bottom:18px}.kx-account-kicker{font-size:.64rem}.kx-account-welcome__copy h1{font-size:2.65rem}.kx-account-welcome__copy>p:last-child{margin-top:11px;font-size:.88rem;line-height:1.55}
  .kx-profile-pass{grid-template-columns:auto minmax(0,1fr);gap:14px;min-height:128px;padding:18px;border-radius:22px}.kx-profile-pass__avatar,.kx-profile-pass__avatar img{width:74px;height:74px}.kx-profile-pass__flag{width:24px;height:24px;font-size:14px}.kx-profile-pass__identity strong{font-size:1.38rem}.kx-profile-pass__number{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:12px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.18);text-align:left}.kx-profile-pass__number strong{margin:0}
  .kx-account-layout{display:block}.kx-account-menu-card{position:static;padding:12px;border-radius:22px}.kx-account-menu-card__head{padding:7px 7px 13px}.kx-account-menu-card h2{margin-top:17px}.kx-account-nav{gap:0}.kx-account-nav a{min-height:55px;border:0;border-bottom:1px solid #e4edf5;border-radius:0;padding:7px 8px}.kx-account-nav a:last-child{border-bottom:0}.kx-account-nav a:hover,.kx-account-nav a.is-active{transform:none;border-radius:12px}.kx-account-logout button{min-height:54px;border-radius:12px!important}
  .kx-account-main{margin-top:16px}.kx-account-quickgrid{gap:9px}.kx-account-quickcard{min-height:92px;border-radius:18px;padding:13px}.kx-account-data-card,.kx-account-booking-card{border-radius:22px}.kx-account-data-card{padding:19px 16px}.kx-account-data-card__head{align-items:flex-start}.kx-account-data-card__head h2{font-size:1.35rem}.kx-account-data-card__head>a{padding:7px 9px}.kx-account-data-list>div{grid-template-columns:1fr;gap:5px;padding:13px 2px}.kx-account-data-list dd{padding-left:26px}.kx-account-booking-card{grid-template-columns:50px minmax(0,1fr);gap:14px;padding:20px 17px}.kx-account-booking-card__icon{width:50px;height:50px;border-radius:15px}.kx-account-booking-card__icon svg{width:23px;height:23px}.kx-account-booking-card h2{font-size:1.35rem}.kx-account-booking-card__actions{grid-column:1/-1}.kx-account-btn{flex:1}
}

/* Joomla login/profile forms inherit the same account language. */
.kx-color-blue.kx-option-com_users:not(.kx-account-page) .com-users-login,
.kx-color-blue.kx-option-com_users:not(.kx-account-page) .com-users-profile__edit,
.kx-color-blue.kx-option-com_users:not(.kx-account-page) .profile-edit{
  width:min(calc(100% - 32px),720px);margin:clamp(28px,6vw,72px) auto 120px;padding:clamp(22px,4vw,38px)!important;
  border:1px solid #d8e5f2;border-radius:28px;background:#fff;box-shadow:0 18px 48px rgba(7,50,94,.09)
}
.kx-color-blue.kx-option-com_users:not(.kx-account-page) .com-users-login h1,
.kx-color-blue.kx-option-com_users:not(.kx-account-page) .com-users-profile__edit h1,
.kx-color-blue.kx-option-com_users:not(.kx-account-page) .profile-edit h1{color:#0b477f!important}
.kx-color-blue.kx-option-com_users:not(.kx-account-page) .com-users-login input,
.kx-color-blue.kx-option-com_users:not(.kx-account-page) .com-users-profile__edit input,
.kx-color-blue.kx-option-com_users:not(.kx-account-page) .com-users-profile__edit select,
.kx-color-blue.kx-option-com_users:not(.kx-account-page) .profile-edit input,
.kx-color-blue.kx-option-com_users:not(.kx-account-page) .profile-edit select{
  min-height:48px;border:1px solid #d4e1ed!important;border-radius:13px!important;background:#f9fbfd!important
}
.kx-color-blue.kx-option-com_users:not(.kx-account-page) .com-users-login input:focus,
.kx-color-blue.kx-option-com_users:not(.kx-account-page) .com-users-profile__edit input:focus,
.kx-color-blue.kx-option-com_users:not(.kx-account-page) .profile-edit input:focus{border-color:#1767b3!important;box-shadow:0 0 0 4px rgba(23,103,179,.10)!important}

/* 0.4.5 — SAFE CORE USER AUTH / MFA
   Joomla routes multi-factor authentication through com_users view=captive.
   These screens are rendered directly and must never inherit old module positions. */
.kx-auth-safe{
  min-height:calc(100vh - 190px);
  padding:clamp(34px,6vw,76px) 0 120px;
  background:linear-gradient(145deg,#f7faff 0%,#edf4fb 100%);
}
.kx-auth-safe__inner{width:min(calc(100% - 28px),820px);margin-inline:auto}
.kx-auth-safe__inner > .alert{margin-bottom:18px}
.kx-auth-safe .com-users-login,
.kx-auth-safe .com-users-reset,
.kx-auth-safe .com-users-remind,
.kx-auth-safe .com-users-registration,
.kx-auth-safe [class*="com-users-captive"],
.kx-auth-safe [class*="multifactor"],
.kx-auth-safe [class*="mfa"]{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  max-width:760px;
  margin:0 auto;
  padding:clamp(22px,4vw,38px);
  border:1px solid #d8e6f3;
  border-radius:26px;
  background:#fff;
  color:#173b60;
  box-shadow:0 18px 52px rgba(7,50,94,.10);
}
.kx-auth-safe h1,.kx-auth-safe h2,.kx-auth-safe h3{color:#0b477f!important}
.kx-auth-safe input:not([type="checkbox"]):not([type="radio"]),
.kx-auth-safe select{min-height:48px;border:1px solid #c9dbea!important;border-radius:13px!important;background:#fff!important}
.kx-auth-safe input:focus,.kx-auth-safe select:focus{border-color:#1767b3!important;box-shadow:0 0 0 4px rgba(23,103,179,.10)!important}
.kx-auth-safe button,.kx-auth-safe .btn-primary{border-color:#0d579f!important;border-radius:999px!important;background:#0d579f!important;color:#fff!important}
.kx-auth-safe button:hover,.kx-auth-safe .btn-primary:hover{background:#08477f!important}
@media (max-width:767px){
  .kx-auth-safe{padding:22px 0 100px}
  .kx-auth-safe__inner{width:min(calc(100% - 18px),820px)}
  .kx-auth-safe .com-users-login,
  .kx-auth-safe .com-users-reset,
  .kx-auth-safe .com-users-remind,
  .kx-auth-safe .com-users-registration,
  .kx-auth-safe [class*="com-users-captive"],
  .kx-auth-safe [class*="multifactor"],
  .kx-auth-safe [class*="mfa"]{padding:20px 16px;border-radius:20px}
}


/* ===== Dedicated rooms page 0.5.0 ===== */
.kxrooms{--kx-blue:#0d4a89;--kx-blue-dark:#073563;--kx-blue-mid:#1767b3;--kx-soft:#edf4fb;--kx-line:#dbe7f3;--kx-text:#17324d;--kx-muted:#6a7f94;font-family:inherit;color:var(--kx-text);width:min(100%,1280px);margin:0 auto;padding:16px 18px 72px;box-sizing:border-box}
.kxrooms *{box-sizing:border-box}.kxrooms a{text-decoration:none}.kxrooms__hero{position:relative;overflow:hidden;border-radius:34px;padding:52px;background:linear-gradient(135deg,var(--kx-blue-dark),var(--kx-blue-mid));color:#fff;box-shadow:0 26px 60px rgba(7,53,99,.18)}
.kxrooms__hero:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(120deg,rgba(6,28,71,.82),rgba(18,88,170,.62)),var(--kxrooms-hero-photo);background-size:cover;background-position:center center;background-repeat:no-repeat;transform:scale(1.02)}
.kxrooms__hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 85% 0,rgba(255,255,255,.14),transparent 28%),linear-gradient(135deg,transparent 0 55%,rgba(255,255,255,.05) 55% 65%,transparent 65%)}
.kxrooms__hero-inner,.kxrooms__quickfacts{position:relative;z-index:1}.kxrooms__hero-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:34px}.kxrooms__eyebrow{display:block;font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#d8e8fb;margin-bottom:10px}.kxrooms__hero h2{font-size:clamp(2.35rem,5vw,5rem);line-height:.96;margin:0 0 18px;letter-spacing:-.045em;color:#fff}.kxrooms__hero p{max-width:720px;margin:0;font-size:clamp(1rem,1.45vw,1.18rem);line-height:1.65;color:#eef5ff}.kxrooms__hero-cta{flex:0 0 auto;display:inline-flex;align-items:center;gap:15px;padding:16px 21px;border-radius:999px;background:#fff;color:var(--kx-blue-dark)!important;font-weight:800;box-shadow:0 12px 28px rgba(0,0,0,.16)}.kxrooms__hero-cta svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.kxrooms__quickfacts{display:none}.kxrooms__quickfacts span{display:none}
.kxrooms__introline{display:flex;gap:14px;align-items:center;margin:34px 6px 22px;padding:16px 18px;border:1px solid var(--kx-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(7,53,99,.05)}.kxrooms__introline strong{color:var(--kx-blue);white-space:nowrap}.kxrooms__introline span{color:var(--kx-muted);line-height:1.5}
.kxrooms__grid{display:grid;gap:24px}.kxroom-card{display:grid;grid-template-columns:minmax(0,43%) 1fr;min-height:380px;overflow:hidden;border:1px solid var(--kx-line);border-radius:30px;background:#fff;box-shadow:0 16px 44px rgba(7,53,99,.08)}.kxroom-card:nth-child(even){grid-template-columns:1fr minmax(0,43%)}.kxroom-card:nth-child(even) .kxroom-card__media{order:2}.kxroom-card__media{position:relative;min-height:370px;background:linear-gradient(135deg,#dceaf7,#f7fbff);overflow:hidden}.kxroom-card__media img{width:100%;height:100%;min-height:370px;object-fit:cover;display:block;transition:transform .45s ease}.kxroom-card:hover .kxroom-card__media img{transform:scale(1.025)}.kxroom-card__photo-label{position:absolute;left:16px;bottom:16px;padding:8px 11px;border-radius:999px;background:rgba(7,53,99,.78);backdrop-filter:blur(8px);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.03em}.kxroom-card__body{display:flex;flex-direction:column;padding:34px 36px}.kxroom-card__topline{display:flex;align-items:center;justify-content:space-between;gap:15px}.kxroom-card__number{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--kx-soft);color:var(--kx-blue);font-weight:900}.kxroom-card__kicker{padding:8px 11px;border-radius:999px;background:#f5f9fd;color:#55718c;font-size:.78rem;font-weight:800}.kxroom-card h3{margin:20px 0 11px;font-size:clamp(1.55rem,2.6vw,2.35rem);line-height:1.05;letter-spacing:-.035em;color:var(--kx-blue-dark)}.kxroom-card__desc{margin:0 0 20px;color:#526a81;line-height:1.65}.kxroom-card__features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0 0 26px;padding:0;list-style:none}.kxroom-card__features li{display:flex;align-items:flex-start;gap:9px;color:#344f69;font-size:.9rem;line-height:1.4}.kxroom-card__features svg{flex:0 0 18px;width:18px;height:18px;margin-top:1px;fill:none;stroke:var(--kx-blue-mid);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.kxroom-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:11px;margin-top:auto}.kxrooms__button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:14px;background:linear-gradient(135deg,var(--kx-blue),var(--kx-blue-mid));color:#fff!important;font-weight:800;box-shadow:0 10px 24px rgba(13,74,137,.18);transition:transform .2s ease,box-shadow .2s ease}.kxrooms__button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(13,74,137,.23)}.kxrooms__phone{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;color:#55718c!important;font-weight:700}.kxrooms__phone svg{width:18px;height:18px;fill:none;stroke:var(--kx-blue);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.kxrooms__info{display:grid;grid-template-columns:.86fr 1.3fr;gap:36px;margin-top:34px;padding:38px;border-radius:30px;background:#f4f8fc;border:1px solid var(--kx-line)}.kxrooms__info h3,.kxrooms__final-cta h3{margin:0 0 12px;font-size:clamp(1.7rem,3vw,2.7rem);color:var(--kx-blue-dark);letter-spacing:-.035em}.kxrooms__info p{margin:0;color:#60778e;line-height:1.6}.kxrooms__info .kxrooms__eyebrow{color:var(--kx-blue-mid)}.kxrooms__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kxrooms__facts div{display:flex;flex-direction:column;gap:4px;padding:15px 16px;border-radius:16px;background:#fff;border:1px solid #e2ebf4}.kxrooms__facts strong{color:var(--kx-blue)}.kxrooms__facts span{color:#647b91;font-size:.9rem;line-height:1.4}
.kxrooms__final-cta{display:flex;align-items:center;justify-content:space-between;gap:34px;margin-top:24px;padding:36px 40px;border-radius:30px;background:linear-gradient(135deg,var(--kx-blue-dark),var(--kx-blue));color:#fff}.kxrooms__final-cta .kxrooms__eyebrow{color:#cfe1f5}.kxrooms__final-cta h3{color:#fff}.kxrooms__final-cta p{margin:0;color:#e7f0fa;line-height:1.55}.kxrooms__button--light{flex:0 0 auto;background:#fff;color:var(--kx-blue-dark)!important;box-shadow:0 12px 28px rgba(0,0,0,.15)}
@media(max-width:900px){.kxrooms{padding-inline:12px}.kxrooms__hero{padding:34px 26px;border-radius:26px}.kxrooms__hero-inner{align-items:flex-start;flex-direction:column}.kxrooms__hero-cta{align-self:flex-start}.kxroom-card,.kxroom-card:nth-child(even){grid-template-columns:1fr}.kxroom-card:nth-child(even) .kxroom-card__media{order:0}.kxroom-card__media,.kxroom-card__media img{min-height:300px;max-height:390px}.kxrooms__info{grid-template-columns:1fr}.kxrooms__final-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.kxrooms{padding:6px 8px 90px}.kxrooms__hero{padding:28px 20px;border-radius:22px}.kxrooms__hero h2{font-size:2.75rem}.kxrooms__quickfacts{gap:7px}.kxrooms__quickfacts span{font-size:.76rem}.kxrooms__introline{align-items:flex-start;flex-direction:column;margin-top:22px}.kxroom-card{border-radius:22px}.kxroom-card__media,.kxroom-card__media img{min-height:245px;max-height:300px}.kxroom-card__body{padding:24px 20px}.kxroom-card__features{grid-template-columns:1fr}.kxroom-card__actions{align-items:stretch;flex-direction:column}.kxrooms__button{width:100%}.kxrooms__phone{justify-content:center}.kxrooms__info{padding:26px 20px;border-radius:22px}.kxrooms__facts{grid-template-columns:1fr}.kxrooms__final-cta{padding:28px 20px;border-radius:22px}.kxrooms__button--light{width:100%}}
@media(prefers-reduced-motion:reduce){.kxroom-card__media img,.kxrooms__button{transition:none!important}}

.kx-rooms-component{background:#f7f9fc;padding:34px 0 26px;min-height:60vh}.kx-rooms-page .kx-site-footer{margin-top:0}.kxrooms__hero h1{font-size:clamp(2.35rem,5vw,5rem);line-height:.96;margin:0 0 18px;letter-spacing:-.045em;color:#fff}.kxroom-card h2{margin:20px 0 11px;font-size:clamp(1.55rem,2.6vw,2.35rem);line-height:1.05;letter-spacing:-.035em;color:var(--kx-blue-dark)}
/* 0.5.1: Zimmer-Hero-Ueberschrift immer weiss */
.kxrooms__hero #kxrooms-title{color:#fff!important;}


/* 0.5.3 Zimmer-Hero hard override: survives legacy/cached room markup */
.kxrooms .kxrooms__hero{
  position:relative!important;
  background-image:
    linear-gradient(120deg,rgba(5,31,76,.84),rgba(20,94,178,.62)),
    url("https://berggasthaus-kraxenberger.de/images/fz.jpg")!important;
  background-size:cover!important;
  background-position:center 48%!important;
  background-repeat:no-repeat!important;
}
.kxrooms .kxrooms__hero::before{
  content:none!important;
  display:none!important;
}
.kxrooms .kxrooms__hero::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,rgba(4,39,88,.20),rgba(15,102,190,.08))!important;
}
.kxrooms .kxrooms__hero-inner{
  position:relative!important;
  z-index:2!important;
}
.kxrooms .kxrooms__hero #kxrooms-title,
.kxrooms .kxrooms__hero h1,
.kxrooms .kxrooms__hero h1#kxrooms-title,
.kx-rooms-component .kxrooms__hero #kxrooms-title{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  text-shadow:0 2px 18px rgba(0,0,0,.18)!important;
}
.kxrooms .kxrooms__quickfacts,
.kxrooms .kxrooms__quickfacts span{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
@media(max-width:560px){
  .kxrooms .kxrooms__hero{
    background-position:center 40%!important;
  }
}


/* 0.5.7 — mobile account control + raw Joomla account URLs.
   Desktop guest login stays in the contact row; mobile booking in the header is replaced by account access. */
@media (min-width:768px){
  .kx-header-actions .kx-account-chip--header.is-guest{display:none!important}
}
@media (max-width:767.98px){
  .kx-header-actions .kx-header-book{display:none!important}
  .kx-header-actions .kx-account-chip--header{display:inline-flex!important;align-items:center;justify-content:center;min-height:40px;height:40px;max-width:128px;padding:3px 9px 3px 4px;border-radius:999px;gap:6px;flex:0 0 auto}
  .kx-header-actions .kx-account-chip--header.is-guest .kx-account-chip__guesticon{width:31px;height:31px;flex:0 0 31px}
  .kx-header-actions .kx-account-chip--header.is-guest .kx-account-chip__copy small{display:none}
  .kx-header-actions .kx-account-chip--header.is-guest .kx-account-chip__copy strong{margin:0;font-size:.73rem}
  .kx-header-actions .kx-account-chip--header.is-user{width:42px;min-width:42px;max-width:42px;padding:3px;border-radius:50%}
  .kx-header-actions .kx-account-chip--header.is-user .kx-account-chip__avatar{width:34px;height:34px;flex-basis:34px}
  .kx-header-actions .kx-account-chip--header.is-user .kx-account-chip__avatar img{width:34px;height:34px}
  .kx-header-actions .kx-account-chip--header.is-user .kx-account-chip__copy{display:none}
  .kx-header-actions .kx-account-chip--header.is-user .kx-account-chip__flag{width:16px;height:16px;top:-3px;right:-5px;font-size:9px}
}


/* 0.5.8 — dedicated mobile header account control.
   Kept separate from the desktop account chip so legacy display rules cannot suppress it. */
.kx-mobile-account-top{display:none!important}
@media (max-width:767.98px){
  .kx-header-actions{position:relative;z-index:30;overflow:visible!important;flex-shrink:0}
  .kx-header-actions .kx-header-book{display:none!important;visibility:hidden!important;pointer-events:none!important}
  .kx-header-actions .kx-account-chip--header{display:none!important}
  .kx-mobile-account-top{
    display:inline-flex!important;position:relative;z-index:50;align-items:center;justify-content:center;
    min-height:42px;height:42px;max-width:116px;padding:4px 11px 4px 5px;gap:7px;
    border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(255,255,255,.96);
    color:#0b4f93!important;text-decoration:none!important;box-shadow:0 8px 22px rgba(0,32,78,.16);
    pointer-events:auto!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  }
  .kx-shell-head .kx-mobile-account-top{border-color:#d2e1ef;background:#fff;color:#0b4f93!important}
  .kx-mobile-account-top__icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:#e8f2fc;color:#0d579f}
  .kx-mobile-account-top__icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
  .kx-mobile-account-top__label{font-size:.75rem;font-weight:850;white-space:nowrap}
  .kx-mobile-account-top.is-user{width:42px;min-width:42px;max-width:42px;padding:3px;border-radius:50%}
  .kx-mobile-account-top__avatar{position:relative;display:block;width:34px;height:34px}
  .kx-mobile-account-top__avatar img{display:block;width:34px;height:34px;border-radius:50%;object-fit:cover;background:#e8f2fc}
  .kx-mobile-account-top__flag{position:absolute;top:-4px;right:-6px;display:grid;place-items:center;width:16px;height:16px;border:2px solid #fff;border-radius:50%;background:#fff;font-size:9px;line-height:1;box-shadow:0 2px 6px rgba(0,0,0,.15)}
  .kx-home-top__inner,.kx-mainheader__inner{overflow:visible!important}
}
@media (min-width:768px){.kx-mobile-account-top{display:none!important}}


/* 0.5.9 — iPhone/mobile direct-link hardening.
   Normal anchors in the hero and bottom app bars must always sit above decorative
   layers and remain tappable. The offcanvas menu already uses a button and is not changed. */
@media (max-width: 767.98px){
  .kx-home-stage__art{pointer-events:none!important}
  .kx-home-main,
  .kx-home-copy,
  .kx-hero-actions,
  .kx-booking-teaser,
  .kx-home-mobilebar,
  .kx-home-mobilebar__inner,
  .kx-mobile-dock{
    position:relative!important;
    pointer-events:auto!important;
  }
  .kx-home-main,.kx-home-copy,.kx-hero-actions,.kx-booking-teaser{z-index:20!important}
  .kx-home-mobilebar{z-index:120!important}
  .kx-mobile-dock{z-index:2147481000!important}
  .kx-hero-actions a[href],
  .kx-booking-teaser a[href],
  .kx-home-mobilebar a[href],
  .kx-mobile-dock a[href],
  .kx-mobile-account-top[href]{
    position:relative!important;
    z-index:3!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    -webkit-user-select:none;
    user-select:none;
    -webkit-tap-highlight-color:rgba(255,255,255,.12);
  }
}

/* 0.6.0 Guest account: real bookings / invoices sections */
.kx-account-section-card{min-height:430px}
.kx-account-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:310px;padding:36px 20px;text-align:center;border:1px dashed #cddfec;border-radius:22px;background:linear-gradient(145deg,#fbfdff,#f3f8fd)}
.kx-account-empty__icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:14px;border-radius:20px;background:#e9f4fd;color:#0d579f}.kx-account-empty__icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.7}
.kx-account-empty h3{margin:0;color:#123f6a!important;font-size:1.35rem}.kx-account-empty p{max-width:520px;margin:9px 0 20px;color:#6d8296}
.kx-account-records{display:grid;gap:12px}.kx-account-record{padding:18px 20px;border:1px solid #dce8f3;border-radius:18px;background:#fbfdff}.kx-account-record__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid #e7eef5}.kx-account-record__head strong{color:#123f6a}.kx-account-record__head span{padding:6px 9px;border-radius:999px;background:#edf5fd;color:#0d579f;font-size:.7rem;font-weight:800}.kx-account-record__head span.is-confirmed{background:#e8f7ef;color:#22754c}.kx-account-record__head span.is-cancelled{background:#fff0f1;color:#b63a43}
.kx-account-record__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:14px}.kx-account-record__grid>div{display:flex;flex-direction:column;gap:4px}.kx-account-record__grid small{color:#7a8ea1;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.kx-account-record__grid b{color:#21486f;font-size:.86rem}
.kx-account-payment-summary{margin-top:20px;padding-top:18px;border-top:1px solid #e2ebf3}.kx-account-payment-summary h3{margin:0 0 11px;color:#123f6a!important;font-size:1rem}.kx-account-payment-summary>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #edf2f7;color:#55718c;font-size:.8rem}.kx-account-payment-summary b{color:#21486f}
@media(max-width:700px){.kx-account-record__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kx-account-record{padding:15px}.kx-account-payment-summary>div{flex-direction:column;gap:3px}}

/* 0.6.1: concrete VikBooking reservation detail link */
.kx-account-record__actions{display:flex;justify-content:flex-end;padding-top:14px;margin-top:14px;border-top:1px solid #e7eef5}
.kx-account-record__detail{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:10px 16px;border-radius:999px;background:linear-gradient(135deg,var(--kx-blue-dark),var(--kx-blue-mid));color:#fff!important;font-size:.82rem;font-weight:800;box-shadow:0 8px 20px rgba(16,82,147,.16);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.kx-account-record__detail:hover,.kx-account-record__detail:focus-visible{transform:translateY(-1px);box-shadow:0 11px 25px rgba(16,82,147,.22);filter:brightness(1.05);color:#fff!important}
@media(max-width:700px){.kx-account-record__actions{justify-content:stretch}.kx-account-record__detail{width:100%}}


/* 0.6.2: reliable guest-account booking details */
.kx-account-page .kx-account-record__detail,
.kx-account-dashboard .kx-account-record__detail{
  background:#0b5cad!important;background-image:linear-gradient(135deg,#07467f,#1475c8)!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;border:0!important;opacity:1!important;
  visibility:visible!important;pointer-events:auto!important;cursor:pointer!important;text-shadow:none!important;
}
.kx-account-page .kx-account-record__detail:hover,.kx-account-page .kx-account-record__detail:focus-visible,
.kx-account-dashboard .kx-account-record__detail:hover,.kx-account-dashboard .kx-account-record__detail:focus-visible{
  background:#084f96!important;background-image:linear-gradient(135deg,#063d70,#0d68b8)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
}
.kx-account-back{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;border-radius:999px;background:#eef6ff!important;color:#064d94!important;font-weight:800!important}
.kx-booking-detail__status{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid #e4edf6}.kx-booking-detail__status>span{padding:8px 12px;border-radius:999px;background:#eef4fb;color:#174f83;font-size:.8rem;font-weight:800}.kx-booking-detail__status>span.is-confirmed{background:#e9f8ef;color:#148044}.kx-booking-detail__status>span.is-cancelled{background:#fff0f0;color:#b83232}
.kx-booking-detail__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:20px 0;border:1px solid #e4edf6;border-radius:18px;overflow:hidden}.kx-booking-detail__facts>div{display:flex;flex-direction:column;gap:6px;padding:17px 18px;background:#fbfdff;border-right:1px solid #e4edf6;border-bottom:1px solid #e4edf6}.kx-booking-detail__facts>div:nth-child(3n){border-right:0}.kx-booking-detail__facts>div:nth-last-child(-n+3){border-bottom:0}.kx-booking-detail__facts small{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#7890aa}.kx-booking-detail__facts strong{font-size:1rem;color:#073d72}
.kx-booking-detail__rooms{margin-top:26px}.kx-booking-detail__rooms h3{margin:0 0 12px;color:#073d72}.kx-booking-room-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-top:1px solid #e4edf6}.kx-booking-room-row>div{display:flex;align-items:center;gap:12px}.kx-booking-room-row__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eaf4ff;color:#0b62ad}.kx-booking-room-row__icon svg{width:21px;height:21px}.kx-booking-room-row div div{display:flex;flex-direction:column;gap:3px}.kx-booking-room-row small,.kx-booking-detail__muted{color:#71869d}.kx-booking-detail__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.kx-account-btn--secondary{background:#eef6ff!important;color:#07559c!important}
@media(max-width:700px){.kx-booking-detail__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.kx-booking-detail__facts>div,.kx-booking-detail__facts>div:nth-child(3n),.kx-booking-detail__facts>div:nth-last-child(-n+3){border-right:1px solid #e4edf6;border-bottom:1px solid #e4edf6}.kx-booking-detail__facts>div:nth-child(2n){border-right:0}.kx-booking-detail__facts>div:nth-last-child(-n+2){border-bottom:0}.kx-booking-detail__actions{flex-direction:column}.kx-booking-detail__actions .kx-account-btn{width:100%}.kx-account-data-card__head{align-items:flex-start;gap:12px;flex-wrap:wrap}}


/* 0.6.3 — Login UI polish + reliable desktop account access.
   Keep Joomla core auth/MFA mechanics untouched; this section is presentation
   and clickability only. */
@media (min-width:768px){
  .kx-home-top{z-index:80!important}
  .kx-home-top__inner,.kx-header-actions{position:relative!important;z-index:90!important;overflow:visible!important;pointer-events:auto!important}
  .kx-account-chip--header[href],.kx-account-chip--contact[href]{position:relative!important;z-index:95!important;pointer-events:auto!important;cursor:pointer!important}
}

/* "Angemeldet bleiben" — restore native checkbox behaviour and make the whole
   row readable/tappable. Older generic input rules made the checkbox tall and
   visually broken. */
.kx-auth-safe input[type="checkbox"][name="remember"],
.kx-auth-safe input#remember,
.kx-color-blue.kx-option-com_users:not(.kx-account-page) .com-users-login input[type="checkbox"][name="remember"],
.kx-color-blue.kx-option-com_users:not(.kx-account-page) .com-users-login input#remember{
  -webkit-appearance:checkbox!important;
  appearance:auto!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  max-width:20px!important;
  padding:0!important;
  margin:0!important;
  border-radius:5px!important;
  box-shadow:none!important;
  accent-color:#1767b3!important;
  cursor:pointer!important;
  vertical-align:middle!important;
}
.kx-auth-safe .kx-remember-row,
.kx-auth-safe .control-group:has(input[type="checkbox"][name="remember"]),
.kx-auth-safe .control-group:has(input#remember){
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:10px!important;
  min-height:36px!important;
  margin:8px 0 14px!important;
}
.kx-auth-safe .kx-remember-row .control-label,
.kx-auth-safe .control-group:has(input[type="checkbox"][name="remember"]) .control-label,
.kx-auth-safe .control-group:has(input#remember) .control-label{
  order:2!important;
  margin:0!important;
  padding:0!important;
}
.kx-auth-safe .kx-remember-row .controls,
.kx-auth-safe .control-group:has(input[type="checkbox"][name="remember"]) .controls,
.kx-auth-safe .control-group:has(input#remember) .controls{
  order:1!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
}
.kx-auth-safe label[for="remember"],.kx-auth-safe .kx-remember-label{
  margin:0!important;
  color:#294d70!important;
  font-size:.9rem!important;
  font-weight:650!important;
  line-height:1.35!important;
  cursor:pointer!important;
  user-select:none!important;
}

/* Compact passkey alternative. Joomla's WebAuthn/Passkey plugin remains fully
   functional; only its oversized visual treatment is replaced. */
.kx-auth-safe .kx-passkey-row{margin:12px 0 4px!important;padding:0!important;text-align:left!important}
.kx-auth-safe .kx-passkey-compact{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:44px!important;
  height:auto!important;
  padding:10px 15px!important;
  margin:0!important;
  border:1px solid #bfd6ea!important;
  border-radius:12px!important;
  background:#eef6ff!important;
  color:#07559c!important;
  box-shadow:none!important;
  font-size:.86rem!important;
  font-weight:800!important;
  line-height:1.2!important;
  text-decoration:none!important;
  cursor:pointer!important;
  overflow:hidden!important;
}
.kx-auth-safe .kx-passkey-compact:hover,.kx-auth-safe .kx-passkey-compact:focus-visible{
  border-color:#96bfe2!important;
  background:#e2f0fd!important;
  color:#06477f!important;
  transform:none!important;
}
.kx-auth-safe .kx-passkey-compact svg,
.kx-auth-safe .kx-passkey-compact img,
.kx-auth-safe .kx-passkey-compact [class*="icon"],
.kx-auth-safe .kx-passkey-compact > span:first-child{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  flex:0 0 20px!important;
  font-size:18px!important;
  line-height:20px!important;
  object-fit:contain!important;
}
.kx-auth-safe .kx-passkey-compact svg{fill:none!important;stroke:currentColor!important;stroke-width:1.8!important}

/* Defensive fallback for known Joomla passkey / WebAuthn wrappers, even before
   the JS enhancement adds kx-passkey-compact. */
.kx-auth-safe [class*="webauthn" i] button,
.kx-auth-safe [class*="webauthn" i] a,
.kx-auth-safe [class*="passkey" i] button,
.kx-auth-safe [class*="passkey" i] a,
.kx-auth-safe button[id*="webauthn" i],
.kx-auth-safe button[id*="passkey" i]{
  max-width:260px!important;
  min-height:44px!important;
}
.kx-auth-safe [class*="webauthn" i] svg,
.kx-auth-safe [class*="passkey" i] svg{width:20px!important;height:20px!important;max-width:20px!important;max-height:20px!important}

/* 0.6.5 – Guest-account field editors + auditable change history */
.kx-account-edit-intro{margin:-4px 0 20px;color:#647d95;font-size:.88rem;line-height:1.65;max-width:780px}
.kx-account-edit-list{display:grid;gap:10px}
.kx-account-edit-item{border:1px solid #dce8f3;border-radius:18px;background:#fbfdff;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}
.kx-account-edit-item[open]{border-color:#bfd8ee;box-shadow:0 10px 28px rgba(10,78,145,.07)}
.kx-account-edit-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:76px;padding:14px 18px;cursor:pointer;user-select:none}
.kx-account-edit-item summary::-webkit-details-marker{display:none}
.kx-account-edit-item summary>span{display:flex;flex-direction:column;gap:4px;min-width:0}
.kx-account-edit-item summary small{font-size:.67rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7b90a4}
.kx-account-edit-item summary strong{color:#173f67;font-size:.93rem;overflow-wrap:anywhere}
.kx-account-edit-item summary>b{flex:0 0 auto;padding:8px 12px;border-radius:999px;background:#edf5fd;color:#0c5aa4;font-size:.74rem;font-weight:850}
.kx-account-field-form{padding:16px 18px 18px;border-top:1px solid #e6eef6;background:#fff}
.kx-account-field-form>label{display:block;margin:0 0 7px;color:#46627d;font-size:.76rem;font-weight:800}
.kx-account-field-form__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}
.kx-account-field-form input,.kx-account-field-form select{width:100%!important;min-height:46px!important;margin:0!important;padding:10px 13px!important;border:1px solid #cbddeb!important;border-radius:13px!important;background:#f9fcff!important;color:#173f67!important;font:inherit!important;box-shadow:none!important}
.kx-account-field-form input:focus,.kx-account-field-form select:focus{outline:0!important;border-color:#1767b3!important;box-shadow:0 0 0 4px rgba(23,103,179,.10)!important}
.kx-account-field-form button{min-width:112px!important;min-height:46px!important;margin:0!important;padding:0 16px!important;border:0!important;border-radius:13px!important;background:linear-gradient(135deg,#0c4f94,#1972bd)!important;color:#fff!important;font-size:.78rem!important;font-weight:850!important;box-shadow:0 8px 18px rgba(13,87,159,.16)!important}
.kx-account-field-form button:hover{filter:brightness(1.05)}
.kx-account-privacy-note{margin-top:20px;padding:14px 16px;border:1px solid #dce8f3;border-radius:15px;background:#f4f9fe;color:#5f7890;font-size:.78rem;line-height:1.55}.kx-account-privacy-note strong{color:#164e82}
.kx-account-settings-grid{display:grid;gap:12px}.kx-account-settings-grid>a{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;border:1px solid #dce8f3;border-radius:18px;background:#fbfdff;color:#164873!important;text-decoration:none!important}.kx-account-settings-grid>a:hover{border-color:#bcd7ee;background:#f4f9fe}.kx-account-settings-grid>a>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#eaf4fd;color:#0d579f}.kx-account-settings-grid svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.75}.kx-account-settings-grid>a>div{display:flex;flex-direction:column;gap:3px}.kx-account-settings-grid strong{font-size:.88rem}.kx-account-settings-grid small{color:#74899d;font-size:.73rem}.kx-account-settings-grid i{font-style:normal;font-size:1.1rem;color:#6b94ba}
.kx-account-history-download{white-space:nowrap}.kx-account-history-list{display:grid;gap:10px}.kx-account-history-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:16px 18px;border:1px solid #dce8f3;border-radius:17px;background:#fbfdff}.kx-account-history-row time{color:#617a92;font-size:.73rem;font-weight:750}.kx-account-history-row>div{min-width:0}.kx-account-history-row small{display:block;color:#1767b3;font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.kx-account-history-row strong{display:block;margin-top:3px;color:#163f68;font-size:.9rem}.kx-account-history-row p{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 0}.kx-account-history-row p span{display:block;padding:9px 11px;border-radius:11px;background:#f2f7fc;color:#59728a;font-size:.73rem;overflow-wrap:anywhere}
@media(max-width:700px){.kx-account-edit-item summary{min-height:68px;padding:12px 13px;gap:10px}.kx-account-edit-item summary>b{padding:7px 9px;font-size:.68rem}.kx-account-field-form{padding:13px}.kx-account-field-form__row{grid-template-columns:1fr}.kx-account-field-form button{width:100%!important}.kx-account-history-row{grid-template-columns:1fr;gap:6px;padding:14px}.kx-account-history-row p{grid-template-columns:1fr}.kx-account-data-card__head .kx-account-history-download{width:100%;justify-content:center}}


/* 0.6.6 Guest account completion: avatar, help and deletion request */
.kx-profile-pass__avatar--editable{position:relative;text-decoration:none!important;cursor:pointer}.kx-profile-pass__avatar-edit{position:absolute;right:-4px;bottom:-3px;display:grid;place-items:center;width:24px;height:24px;border:3px solid #fff;border-radius:50%;background:#0d579f;color:#fff;font-size:.72rem;font-weight:900;box-shadow:0 4px 12px rgba(4,42,80,.18)}
.kx-avatar-editor{display:grid;grid-template-columns:220px minmax(0,1fr);gap:34px;align-items:center;margin-top:12px}.kx-avatar-editor__preview{position:relative;width:200px;height:200px}.kx-avatar-editor__preview img{width:100%;height:100%;object-fit:cover;border:8px solid #edf6ff;border-radius:50%;box-shadow:0 16px 38px rgba(9,61,108,.14)}.kx-avatar-editor__preview>span{position:absolute;right:10px;top:10px;display:grid;place-items:center;min-width:34px;height:34px;padding:0 7px;border:3px solid #fff;border-radius:999px;background:#fff;font-size:1.2rem;box-shadow:0 5px 14px rgba(0,0,0,.13)}.kx-avatar-editor__copy h3{margin:0 0 8px;color:#073d72;font-size:1.25rem}.kx-avatar-editor__copy>p{margin:0 0 20px;color:#657f97;line-height:1.6}.kx-avatar-upload-form{display:grid;gap:10px}.kx-avatar-upload-form label{font-size:.75rem;font-weight:800;color:#174c7d}.kx-avatar-upload-form input[type=file]{width:100%;padding:10px;border:1px dashed #b9d3e9;border-radius:14px;background:#f8fbff;color:#345d82}.kx-avatar-upload-form button,.kx-delete-form button{justify-self:start;border:0;border-radius:999px;background:#0d579f;color:#fff;padding:12px 18px;font-weight:800;cursor:pointer}
.kx-account-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.kx-account-contact-grid>a{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;padding:17px;border:1px solid #dce8f3;border-radius:18px;background:#fbfdff;color:#164873!important;text-decoration:none!important}.kx-account-contact-grid>a:hover{background:#f2f8fe;border-color:#bad5eb}.kx-account-contact-grid>a>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#eaf4fd;color:#0d579f}.kx-account-contact-grid svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.75}.kx-account-contact-grid>a>div{display:flex;min-width:0;flex-direction:column;gap:3px}.kx-account-contact-grid small{color:#74899d;font-size:.72rem}.kx-account-contact-grid strong{overflow:hidden;text-overflow:ellipsis;font-size:.83rem}.kx-account-contact-grid i{font-style:normal;color:#6b94ba}
.kx-delete-state{display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;padding:20px;border:1px solid #cfe1f1;border-radius:20px;background:#f4f9fe}.kx-delete-state>span{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#e3f2ff;color:#0d579f}.kx-delete-state svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}.kx-delete-state small{display:block;color:#6f879d;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.kx-delete-state strong{display:block;margin:3px 0 7px;color:#073d72}.kx-delete-state p{margin:6px 0;color:#607b93;line-height:1.55}.kx-delete-form{display:grid;gap:12px;margin-top:18px}.kx-delete-form>label:not(.kx-delete-confirm){font-size:.78rem;font-weight:800;color:#174c7d}.kx-delete-form textarea{width:100%;resize:vertical;border:1px solid #ccddea;border-radius:16px;background:#fbfdff;padding:13px 14px;color:#173f64;outline:none}.kx-delete-form textarea:focus{border-color:#4c8bc3;box-shadow:0 0 0 4px rgba(35,116,187,.09)}.kx-delete-confirm{display:flex;align-items:flex-start;gap:10px;padding:14px 0;color:#365f83;font-size:.82rem}.kx-delete-confirm input{width:19px!important;height:19px!important;min-width:19px!important;margin:0!important;accent-color:#0d579f}.kx-account-btn--danger{border-color:#c73e4e!important;background:#c73e4e!important;color:#fff!important}
@media(max-width:800px){.kx-avatar-editor{grid-template-columns:1fr}.kx-avatar-editor__preview{width:150px;height:150px}.kx-account-contact-grid{grid-template-columns:1fr}.kx-avatar-upload-form button{width:100%;justify-self:stretch}.kx-delete-form .kx-account-btn{width:100%}}


/* 0.6.7 Invoice detail + payment status */
.kx-account-record__head span.is-paid{background:#e8f7ef;color:#22754c}.kx-account-record__head span.is-partial{background:#fff6df;color:#946700}.kx-account-record__head span.is-open{background:#edf5fd;color:#0d579f}
.kx-invoice-actions{gap:10px;flex-wrap:wrap}.kx-account-record__download{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 15px;border:1px solid #c8dcee;border-radius:999px;background:#fff;color:#15578f!important;font-size:.8rem;font-weight:800}.kx-account-record__download svg{width:17px;height:17px}.kx-account-record__download:hover{background:#f1f7fd;color:#0f4e86!important}
.kx-account-payment-summary em{display:inline-block;margin-right:7px;padding:4px 8px;border-radius:999px;background:#eef5fc;color:#175a91;font-style:normal;font-size:.68rem}.kx-invoice-detail__hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:4px 0 20px;padding:20px;border-radius:18px;background:linear-gradient(135deg,#0b3d70,#1768ad);color:#fff}.kx-invoice-detail__hero div{display:flex;flex-direction:column;gap:4px}.kx-invoice-detail__hero small{opacity:.78;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.kx-invoice-detail__hero strong{font-size:1.35rem}.kx-invoice-detail__hero>span{padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.16);font-size:.76rem;font-weight:800}.kx-invoice-detail__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}.kx-invoice-pdf-missing{display:inline-flex;padding:11px 14px;border-radius:12px;background:#fff7e6;color:#7b5d14;font-size:.8rem;font-weight:700}
@media(max-width:700px){.kx-invoice-actions{align-items:stretch;flex-direction:column}.kx-account-record__download,.kx-invoice-actions .kx-account-record__detail{width:100%}.kx-invoice-detail__hero{align-items:flex-start;flex-direction:column}.kx-invoice-detail__actions{align-items:stretch;flex-direction:column}.kx-invoice-detail__actions .kx-account-btn{width:100%}}

/* 0.6.9 — compact, aligned Joomla MFA/captive screen.
   Presentation only: Joomla's MFA mechanics remain untouched. */
.kx-users-captive-page .kx-auth-safe{
  padding:clamp(24px,4vw,46px) 0 110px!important;
}
.kx-users-captive-page .kx-auth-safe__inner{
  width:min(calc(100% - 32px),760px)!important;
  margin-inline:auto!important;
}
.kx-users-captive-page .kx-auth-safe [class*="com-users-captive"],
.kx-users-captive-page .kx-auth-safe [class*="multifactor"],
.kx-users-captive-page .kx-auth-safe [class*="mfa"]{
  width:100%!important;
  max-width:720px!important;
  margin:0 auto!important;
  padding:clamp(22px,3vw,30px)!important;
  border:1px solid #d6e4f1!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 16px 42px rgba(7,50,94,.09)!important;
}
.kx-users-captive-page .kx-auth-safe h1,
.kx-users-captive-page .kx-auth-safe h2,
.kx-users-captive-page .kx-auth-safe h3{
  max-width:680px!important;
  margin:0 0 18px!important;
  color:#0b477f!important;
  font-size:clamp(1.55rem,2.4vw,2.15rem)!important;
  font-weight:650!important;
  line-height:1.16!important;
  letter-spacing:-.025em!important;
  overflow-wrap:anywhere!important;
}
.kx-users-captive-page .kx-auth-safe .alert,
.kx-users-captive-page .kx-auth-safe .alert-info,
.kx-users-captive-page .kx-auth-safe .alert-message{
  margin:0 0 20px!important;
  padding:15px 17px!important;
  border:1px solid #d8e6f3!important;
  border-radius:16px!important;
  background:#f7fbff!important;
  color:#49647d!important;
  font-size:.92rem!important;
  line-height:1.55!important;
  box-shadow:none!important;
}
.kx-users-captive-page .kx-auth-safe form,
.kx-users-captive-page .kx-auth-safe fieldset{
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.kx-users-captive-page .kx-auth-safe .control-group,
.kx-users-captive-page .kx-auth-safe .form-group,
.kx-users-captive-page .kx-auth-safe .mb-3{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  width:100%!important;
  margin:0 0 16px!important;
  padding:0!important;
}
.kx-users-captive-page .kx-auth-safe .control-label,
.kx-users-captive-page .kx-auth-safe .controls,
.kx-users-captive-page .kx-auth-safe .form-label{
  float:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
.kx-users-captive-page .kx-auth-safe label{
  display:block!important;
  margin:0!important;
  color:#234f76!important;
  font-size:.88rem!important;
  font-weight:750!important;
  line-height:1.35!important;
}
.kx-users-captive-page .kx-auth-safe input:not([type="checkbox"]):not([type="radio"]),
.kx-users-captive-page .kx-auth-safe select{
  display:block!important;
  width:100%!important;
  min-height:50px!important;
  margin:0!important;
  padding:0 14px!important;
  border:1px solid #bfd5e8!important;
  border-radius:13px!important;
  background:#fbfdff!important;
  color:#173b60!important;
  font-size:.96rem!important;
  line-height:1.2!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)!important;
}
.kx-users-captive-page .kx-auth-safe input:focus,
.kx-users-captive-page .kx-auth-safe select:focus{
  border-color:#1767b3!important;
  outline:0!important;
  box-shadow:0 0 0 4px rgba(23,103,179,.11)!important;
}
.kx-users-captive-page .kx-auth-safe button,
.kx-users-captive-page .kx-auth-safe .btn,
.kx-users-captive-page .kx-auth-safe .btn-primary,
.kx-users-captive-page .kx-auth-safe .btn-danger{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  width:auto!important;
  margin:2px 0 0!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:12px!important;
  background:#0d579f!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:.88rem!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:0 8px 18px rgba(13,87,159,.16)!important;
}
.kx-users-captive-page .kx-auth-safe button:hover,
.kx-users-captive-page .kx-auth-safe .btn:hover{
  background:#08477f!important;
}
.kx-users-captive-page .kx-auth-safe a:not(.btn){
  color:#0d579f!important;
  font-size:.9rem!important;
  font-weight:700!important;
  text-decoration:none!important;
}
.kx-users-captive-page .kx-auth-safe a:not(.btn):hover{text-decoration:underline!important}

@media(max-width:600px){
  .kx-users-captive-page .kx-auth-safe{padding:16px 0 92px!important}
  .kx-users-captive-page .kx-auth-safe__inner{width:min(calc(100% - 18px),760px)!important}
  .kx-users-captive-page .kx-auth-safe [class*="com-users-captive"],
  .kx-users-captive-page .kx-auth-safe [class*="multifactor"],
  .kx-users-captive-page .kx-auth-safe [class*="mfa"]{
    padding:19px 15px 21px!important;
    border-radius:19px!important;
  }
  .kx-users-captive-page .kx-auth-safe h1,
  .kx-users-captive-page .kx-auth-safe h2,
  .kx-users-captive-page .kx-auth-safe h3{
    margin-bottom:15px!important;
    font-size:1.55rem!important;
    line-height:1.18!important;
  }
  .kx-users-captive-page .kx-auth-safe .alert{padding:13px 14px!important;font-size:.86rem!important}
  .kx-users-captive-page .kx-auth-safe input:not([type="checkbox"]):not([type="radio"]),
  .kx-users-captive-page .kx-auth-safe select{min-height:48px!important;font-size:16px!important}
  .kx-users-captive-page .kx-auth-safe button,
  .kx-users-captive-page .kx-auth-safe .btn{width:100%!important}
}

/* 0.7.0 — MFA text/controls fit fix.
   Prevent Joomla/Bootstrap label and icon rules from clipping text. */
.kx-users-captive-page .kx-auth-safe,
.kx-users-captive-page .kx-auth-safe *{
  box-sizing:border-box!important;
  min-width:0;
}
.kx-users-captive-page .kx-auth-safe__inner{
  width:min(calc(100% - 32px),860px)!important;
}
.kx-users-captive-page .kx-auth-safe [class*="com-users-captive"],
.kx-users-captive-page .kx-auth-safe [class*="multifactor"],
.kx-users-captive-page .kx-auth-safe [class*="mfa"]{
  max-width:820px!important;
  padding:30px 32px 32px!important;
}
.kx-users-captive-page .kx-auth-safe h1,
.kx-users-captive-page .kx-auth-safe h2,
.kx-users-captive-page .kx-auth-safe h3{
  max-width:760px!important;
  font-size:clamp(1.45rem,2vw,1.9rem)!important;
  line-height:1.22!important;
  overflow:visible!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.kx-users-captive-page .kx-auth-safe .control-group,
.kx-users-captive-page .kx-auth-safe .form-group,
.kx-users-captive-page .kx-auth-safe .mb-3{
  display:block!important;
  width:100%!important;
  margin:0 0 18px!important;
  overflow:visible!important;
}
.kx-users-captive-page .kx-auth-safe .control-label,
.kx-users-captive-page .kx-auth-safe .form-label{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 0 8px!important;
  padding:0!important;
  overflow:visible!important;
  white-space:normal!important;
}
.kx-users-captive-page .kx-auth-safe label{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  overflow:visible!important;
  font-size:.92rem!important;
  line-height:1.35!important;
}
.kx-users-captive-page .kx-auth-safe .controls{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.kx-users-captive-page .kx-auth-safe .controls > input:not([type="checkbox"]):not([type="radio"]),
.kx-users-captive-page .kx-auth-safe .controls > select{
  flex:1 0 100%!important;
}
.kx-users-captive-page .kx-auth-safe button,
.kx-users-captive-page .kx-auth-safe .btn{
  flex:0 0 auto!important;
  min-width:132px!important;
  min-height:46px!important;
  padding:0 20px!important;
  gap:8px!important;
  white-space:nowrap!important;
  overflow:visible!important;
  line-height:1.2!important;
}
.kx-users-captive-page .kx-auth-safe .btn [class^="icon-"],
.kx-users-captive-page .kx-auth-safe .btn [class*=" icon-"],
.kx-users-captive-page .kx-auth-safe button [class^="icon-"],
.kx-users-captive-page .kx-auth-safe button [class*=" icon-"]{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:1.1em!important;
  margin:0 2px 0 0!important;
  transform:none!important;
}
.kx-users-captive-page .kx-auth-safe .btn-danger{
  background:#eef5fc!important;
  color:#0d579f!important;
  -webkit-text-fill-color:#0d579f!important;
  box-shadow:none!important;
  border:1px solid #c9ddef!important;
}
.kx-users-captive-page .kx-auth-safe .btn-danger:hover{
  background:#e3effa!important;
  color:#08477f!important;
  -webkit-text-fill-color:#08477f!important;
}
.kx-users-captive-page .kx-auth-safe a:not(.btn){
  display:block!important;
  width:100%!important;
  margin-top:8px!important;
  clear:both!important;
  line-height:1.4!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
}

@media(max-width:600px){
  .kx-users-captive-page .kx-auth-safe__inner{width:min(calc(100% - 16px),860px)!important}
  .kx-users-captive-page .kx-auth-safe [class*="com-users-captive"],
  .kx-users-captive-page .kx-auth-safe [class*="multifactor"],
  .kx-users-captive-page .kx-auth-safe [class*="mfa"]{
    padding:22px 18px 24px!important;
  }
  .kx-users-captive-page .kx-auth-safe h1,
  .kx-users-captive-page .kx-auth-safe h2,
  .kx-users-captive-page .kx-auth-safe h3{
    font-size:1.35rem!important;
    line-height:1.25!important;
  }
  .kx-users-captive-page .kx-auth-safe label{font-size:.88rem!important}
  .kx-users-captive-page .kx-auth-safe .controls{gap:9px!important}
  .kx-users-captive-page .kx-auth-safe button,
  .kx-users-captive-page .kx-auth-safe .btn{
    width:100%!important;
    min-width:0!important;
  }
}
/* 1.1.4: preserved Joomla content and module positions */
.kx-preserved-sections{background:#f6f3ec;padding:clamp(2rem,5vw,5rem) 0;color:#17241f}
.kx-module-zone:empty,.kx-content-layout__aside:empty{display:none}
.kx-module-zone{margin:0 0 clamp(1.5rem,3vw,3rem)}
.kx-module-zone img,.kx-content-layout img{max-width:100%;height:auto;border-radius:18px}
.kx-module-zone iframe{max-width:100%;border:0;border-radius:18px}
.kx-module-grid{display:grid;gap:clamp(1rem,2vw,2rem)}
.kx-module-grid--contact{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.kx-content-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.kx-content-layout__main,.kx-content-layout__aside,.kx-module-zone{min-width:0}
.kx-content-layout__aside>*{background:#f6f3ec;border-radius:18px;padding:1.25rem;margin-bottom:1rem}
.kx-nav-dropdown__heading,.kx-mobile-nav__heading{display:block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.68;padding:.75rem 1rem .35rem}
.kx-nav-dropdown__level-2{padding-left:2.25rem!important}
.kx-mobile-nav__level-2{padding-left:1.5rem!important}
@media(max-width:800px){.kx-module-grid--contact,.kx-content-layout{grid-template-columns:1fr}.kx-content-layout__aside{order:2}.kx-preserved-sections{padding-bottom:5.5rem}}

/* 1.1.10: curated homepage – one coherent visual language, no legacy module collage. */
.kx-home-content{overflow:hidden;background:#f6f8fb;color:#20384f}
.kx-home-content h2,.kx-home-content h3{color:#153a61}
.kx-home-eyebrow{margin:0 0 14px;color:var(--kx-green);font-size:.76rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase}
.kx-home-welcome{padding:clamp(72px,8vw,118px) 0;background:linear-gradient(180deg,#f7f9fc 0%,#eef4fa 100%)}
.kx-home-welcome__grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(380px,.96fr);gap:clamp(46px,7vw,108px);align-items:center}
.kx-home-welcome__media{position:relative;min-height:560px;margin:0;overflow:hidden;border-radius:34px;background:#dce8f3;box-shadow:0 28px 72px rgba(8,53,99,.16)}
.kx-home-welcome__media:after{position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(180deg,transparent,rgba(5,43,84,.62));content:"";pointer-events:none}
.kx-home-welcome__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.kx-home-welcome__media figcaption{position:absolute;right:22px;bottom:22px;z-index:2;display:flex;align-items:center;gap:9px;padding:11px 15px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(5,43,84,.76);color:#fff;font-size:.78rem;font-weight:750;backdrop-filter:blur(10px)}
.kx-home-welcome__media figcaption svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.kx-home-welcome__copy h2{max-width:12ch;margin:0 0 24px;font-size:clamp(3rem,5vw,5rem);font-weight:600;line-height:.96;letter-spacing:-.04em}
.kx-home-welcome__copy>p:not(.kx-home-eyebrow){max-width:690px;margin:0 0 16px;color:#5b7084;font-size:1.03rem;line-height:1.72}
.kx-home-facts{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0 30px}
.kx-home-facts span{display:inline-flex;min-height:36px;align-items:center;padding:0 13px;border:1px solid #d4e1ed;border-radius:999px;background:#fff;color:#285176;font-size:.75rem;font-weight:780;box-shadow:0 5px 16px rgba(8,53,99,.05)}
.kx-home-actions{display:flex;flex-wrap:wrap;gap:11px}
.kx-home-link{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:9px;padding:0 20px;border:1px solid transparent;border-radius:999px;font-size:.84rem;font-weight:800;line-height:1.2;text-decoration:none!important;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}
.kx-home-link svg,.kx-home-choicecard a svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kx-home-link:hover,.kx-home-choicecard a:hover{transform:translateY(-2px)}
.kx-home-link--primary{background:var(--kx-green);color:#fff!important;box-shadow:0 11px 26px rgba(13,74,137,.18)}
.kx-home-link--primary:hover{background:var(--kx-green-deep);color:#fff!important}
.kx-home-link--secondary{border-color:#ccdbea;background:#fff;color:#174c7f!important}
.kx-home-link--secondary:hover{border-color:#91b8dc;background:#edf5fc;color:#0d4a89!important}

.kx-home-choices{padding:clamp(76px,8vw,124px) 0;background:#fff}
.kx-home-sectionhead{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,460px);gap:40px;align-items:end;margin-bottom:42px}
.kx-home-sectionhead h2{max-width:13ch;margin:0;font-size:clamp(2.7rem,4.7vw,4.6rem);font-weight:600;line-height:.98;letter-spacing:-.04em}
.kx-home-sectionhead>p{margin:0;color:#617589;font-size:1rem;line-height:1.7}
.kx-home-choicegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.kx-home-choicecard{min-width:0;overflow:hidden;border:1px solid #dbe6f1;border-radius:28px;background:#f8fafc;box-shadow:0 16px 44px rgba(8,53,99,.08);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.kx-home-choicecard:hover{border-color:#b8d2e8;box-shadow:0 24px 58px rgba(8,53,99,.13);transform:translateY(-5px)}
.kx-home-choicecard>img{display:block;width:100%;height:260px;object-fit:cover}
.kx-home-choicecard>div{display:flex;min-height:310px;flex-direction:column;padding:28px}
.kx-home-choicecard>div>span{color:var(--kx-green);font-size:.7rem;font-weight:850;letter-spacing:.14em}
.kx-home-choicecard h3{margin:12px 0 10px;font-size:clamp(1.65rem,2.4vw,2.35rem);font-weight:600;line-height:1.04}
.kx-home-choicecard p{margin:0 0 23px;color:#65798b;line-height:1.62}
.kx-home-choicecard a{display:inline-flex;align-items:center;gap:8px;margin-top:auto;color:var(--kx-green)!important;font-size:.83rem;font-weight:850;text-decoration:none!important;transition:transform .18s ease}

.kx-home-galleryshow{padding:clamp(78px,8vw,122px) 0;background:linear-gradient(135deg,#062e58,#0d4a89 62%,#1767b3);color:#fff}
.kx-home-galleryshow .kx-home-eyebrow{color:#f0c56a}
.kx-home-galleryshow__head{display:flex;align-items:end;justify-content:space-between;gap:34px;margin-bottom:38px}
.kx-home-galleryshow__head h2{max-width:14ch;margin:0;color:#fff;font-size:clamp(2.75rem,5vw,4.9rem);font-weight:600;line-height:.97;letter-spacing:-.04em}
.kx-home-link--light{background:#fff;color:#0b447d!important;box-shadow:0 11px 28px rgba(0,0,0,.13)}
.kx-home-link--light:hover{background:#edf5fc;color:#083563!important}
.kx-home-link--outline-light{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.06);color:#fff!important}
.kx-home-link--outline-light:hover{background:rgba(255,255,255,.14);color:#fff!important}
.kx-home-galleryshow__grid{display:grid;grid-template-columns:1.35fr .8fr;grid-template-rows:240px 240px;gap:16px}
.kx-home-galleryshow__grid figure{position:relative;margin:0;overflow:hidden;border-radius:25px;background:#0a3c70}
.kx-home-galleryshow__grid figure.is-large{grid-row:1/3}
.kx-home-galleryshow__grid img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.kx-home-galleryshow__grid figure:hover img{transform:scale(1.035)}
.kx-home-galleryshow__grid figure:after{position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,rgba(3,25,48,.72));content:""}
.kx-home-galleryshow__grid figcaption{position:absolute;right:20px;bottom:18px;left:20px;z-index:2;color:#fff;font-size:.84rem;font-weight:780}

.kx-home-reviews{padding:clamp(74px,8vw,116px) 0;background:#edf4fa}
.kx-home-reviews .kx-home-sectionhead{align-items:center}
.kx-home-reviewgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kx-home-reviewgrid article{display:flex;min-height:300px;flex-direction:column;padding:30px;border:1px solid #d8e4ef;border-radius:26px;background:#fff;box-shadow:0 15px 42px rgba(8,53,99,.075)}
.kx-home-reviewstars{color:#d99a25;font-size:1.06rem;letter-spacing:.09em}
.kx-home-reviewgrid blockquote{margin:24px 0;flex:1;color:#29465f;font-family:var(--kx-font-display);font-size:1.28rem;line-height:1.5}
.kx-home-reviewgrid article>p{display:flex;flex-direction:column;gap:4px;margin:0}
.kx-home-reviewgrid article>p strong{color:#153a61}
.kx-home-reviewgrid article>p span{color:#758797;font-size:.75rem}

.kx-home-contactcta{padding:clamp(62px,7vw,100px) 0;background:#f7f5ef}
.kx-home-contactcta__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px 60px;align-items:center;padding:clamp(38px,5vw,66px);border-radius:34px;background:radial-gradient(circle at 92% 0,rgba(255,255,255,.12),transparent 34%),linear-gradient(135deg,#073563,#0d4a89 62%,#1767b3);color:#fff;box-shadow:0 26px 70px rgba(8,53,99,.18)}
.kx-home-contactcta .kx-home-eyebrow{color:#f0c56a}
.kx-home-contactcta h2{max-width:14ch;margin:0 0 17px;color:#fff;font-size:clamp(2.65rem,4.6vw,4.6rem);font-weight:600;line-height:.96;letter-spacing:-.04em}
.kx-home-contactcta__copy>p:last-child{max-width:690px;margin:0;color:#dceafa;line-height:1.65}
.kx-home-contactcta__actions{display:flex;flex-direction:column;gap:10px;min-width:230px}
.kx-home-contactcta__details{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;padding-top:24px;border-top:1px solid rgba(255,255,255,.2)}
.kx-home-contactcta__details a{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#fff!important;font-size:.78rem;text-decoration:none!important}
.kx-home-contactcta__details a:hover{background:rgba(255,255,255,.1)}
.kx-home-contactcta__details svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}

/* The temporary booking notice is intentionally compact on the homepage. */
.kx-home-page .kx-booking-teaser .kx-booking-switch{justify-self:center;width:min(100%,320px);gap:8px;padding:14px;border-radius:16px}
.kx-home-page .kx-booking-teaser .kx-booking-switch strong{font-size:.95rem;line-height:1.3}
.kx-home-page .kx-booking-teaser .kx-booking-switch p{margin:0;color:#68736c;font-size:.82rem;line-height:1.45}
.kx-home-page .kx-booking-teaser .kx-booking-switch__countdown{padding:7px 9px;border-radius:10px;font-size:.76rem;line-height:1.3}
.kx-home-page .kx-booking-teaser .kx-booking-switch .kx-btn{min-height:42px;margin-top:0;padding:0 14px;font-size:.8rem}

@media(max-width:980px){
  .kx-home-welcome__grid{grid-template-columns:1fr;gap:42px}
  .kx-home-welcome__media{min-height:460px}
  .kx-home-welcome__copy h2{max-width:15ch}
  .kx-home-sectionhead{grid-template-columns:1fr;gap:18px}
  .kx-home-sectionhead>p{max-width:680px}
  .kx-home-choicegrid{grid-template-columns:1fr 1fr}
  .kx-home-choicecard:last-child{grid-column:1/-1}
  .kx-home-reviewgrid{grid-template-columns:1fr 1fr}
  .kx-home-reviewgrid article:last-child{grid-column:1/-1}
  .kx-home-contactcta__inner{grid-template-columns:1fr}
  .kx-home-contactcta__actions{flex-direction:row;flex-wrap:wrap;min-width:0}
}
@media(max-width:700px){
  .kx-home-content .kx-shell-inner{width:min(calc(100% - 28px),var(--kx-content))}
  .kx-home-welcome,.kx-home-choices,.kx-home-galleryshow,.kx-home-reviews,.kx-home-contactcta{padding-top:64px;padding-bottom:64px}
  .kx-home-welcome__media{min-height:390px;border-radius:24px}
  .kx-home-welcome__media figcaption{right:14px;bottom:14px;left:14px;justify-content:center}
  .kx-home-welcome__copy h2,.kx-home-sectionhead h2,.kx-home-galleryshow__head h2,.kx-home-contactcta h2{font-size:clamp(2.35rem,12vw,3.5rem)}
  .kx-home-choicegrid,.kx-home-reviewgrid{grid-template-columns:1fr}
  .kx-home-choicecard:last-child,.kx-home-reviewgrid article:last-child{grid-column:auto}
  .kx-home-choicecard>img{height:230px}
  .kx-home-choicecard>div{min-height:0;padding:24px}
  .kx-home-galleryshow__head{align-items:flex-start;flex-direction:column}
  .kx-home-galleryshow__grid{grid-template-columns:1fr;grid-template-rows:330px 220px 220px}
  .kx-home-galleryshow__grid figure.is-large{grid-row:auto}
  .kx-home-contactcta__inner{gap:28px;padding:30px 22px;border-radius:26px}
  .kx-home-contactcta__actions{display:grid;grid-template-columns:1fr}
  .kx-home-contactcta__details{display:grid}
  .kx-home-contactcta__details a{justify-content:flex-start;border-radius:15px;padding:9px 12px}
}
