/* Kakadu site-wide finish. Build on the original and the editorial polish.
   No changes to motion, the homepage hero, booking/contact sections, or content.
   Only two gradient treatments: rental hero light and existing closing CTA bands. */

/* Shared typography: keep the size and weight, relieve overly tight tracking. */
body.kk-luxe:not(.kk-taste-blog):not(.kk-article-page) main > section:not(.kk-hero):not(:has(form)) .kk-art-heading {
  letter-spacing: -.035em !important;
  line-height: 1.12 !important;
  text-wrap: balance;
}
body.kk-luxe main > section:not(.kk-hero):not(:has(form)) :is(.kk-services-overview > div, .kk-service-detail) :is(h2,h3) {
  letter-spacing: -.03em !important;
  line-height: 1.2 !important;
}
body.kk-luxe:not(.kk-taste-blog):not(.kk-article-page) main > section:not(.kk-hero):not(:has(form)) > .kk-taste-section-inner > p:not([style*="text-transform"]) {
  font-size: 17px !important;
  line-height: 1.75 !important;
  max-width: 66ch !important;
  color: #bccbbf !important;
}
body.kk-luxe main > section:not(.kk-hero):not(:has(form)) :is(.kk-services-overview > div, .kk-service-detail, .kk-taste-reason, .kk-taste-step) > p,
body.kk-luxe .kk-art-services .kk-service-card > p {
  font-size: 16px !important;
  line-height: 1.75 !important;
  font-weight: 400 !important;
  color: #bccbbf !important;
}
body.kk-luxe main > section:not(.kk-hero):not(:has(form)) .kk-taste-section-heading { gap: 24px !important; }
body.kk-luxe main > section:not(.kk-hero):not(:has(form)) .kk-services-overview > div > :is(ul,p) { margin-bottom: 24px !important; }
body.kk-luxe main > section:not(.kk-hero):not(:has(form)) .kk-taste-step h3 { margin-block: 16px 12px !important; }

/* The landing page: light stays behind the photograph, not behind every panel. */
body.kk-luxe .kk-rental-hero:not([data-studio-film]) {
  background: radial-gradient(ellipse at 100% 25%, #17341f 0%, #0a1c12 30%, #010a08 66%) !important;
}
body.kk-luxe.kk-rental-v3 .kk-studio-intro > h1 {
  letter-spacing: -.035em !important;
  line-height: 1.1 !important;
}
body.kk-luxe.kk-rental-v3 .kk-studio-intro > p:not(.kk-rental-location) {
  font-size: 17px !important;
  line-height: 1.75 !important;
  color: #c3cfc4 !important;
}
body.kk-luxe.kk-rental-v3 .kk-studio-intro .kk-studio-actions a[data-space-link="podcast"] {
  color: #a7d6b6 !important;
  border-color: #55795e !important;
}
body.kk-luxe.kk-rental-v3 .kk-rental-guide {
  margin-top: 18px !important;
  gap: 10px 22px !important;
}
body.kk-luxe.kk-rental-v3 .kk-rental-guide .kk-hero-book {
  color: #fde500 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-underline-offset: 6px;
}
body.kk-luxe.kk-rental-v3 .kk-room-portrait { border-color: #526d56 !important; }
body.kk-luxe.kk-rental-v3 .kk-portrait-caption > span { color: #e0e8dc !important; }

/* Room descriptions use the same inset as their photos and aligned equipment. */
body.kk-luxe.kk-rental-v3 #prostor > p:not([style*="text-transform"]) {
  max-width: 64ch !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
  color: #bccbbf !important;
}
body.kk-luxe.kk-rental-v3 .kk-room-grid .kk-rental-room > div:last-child > h3 {
  font-size: clamp(24px, 2.4vw, 30px) !important;
  line-height: 1.22 !important;
  letter-spacing: -.025em !important;
  margin-bottom: 16px !important;
}
body.kk-luxe.kk-rental-v3 .kk-room-grid .kk-rental-room > div:last-child > p:not(.kk-room-facts) {
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: #c0cdbf !important;
}
body.kk-luxe.kk-rental-v3 .kk-room-grid .kk-room-facts {
  padding-block: 16px !important;
  margin-top: 20px !important;
  border-top: 1px solid #304b3b;
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: #c4d3c5 !important;
}
body.kk-luxe.kk-rental-v3 .kk-equipment-photo-heading > span:first-child {
  letter-spacing: .1em !important;
  font-size: 11px !important;
}

/* Prices: retain the dimensional frame; give figures a quieter, darker surface. */
body.kk-luxe.kk-rental-v3 .kk-rental-prices .kk-price-heading > p {
  font-size: 16px !important;
  line-height: 1.75 !important;
  max-width: 60ch;
  color: #c3cfc4 !important;
}
body.kk-luxe.kk-rental-v3 .kk-rental-prices .kk-price-card {
  background: #0b1b12 !important;
  border-color: #506c53 !important;
}
body.kk-luxe.kk-rental-v3 .kk-rental-prices .kk-price-card-head { border-bottom-color: #466149 !important; }
body.kk-luxe.kk-rental-v3 .kk-rental-prices .kk-price-card-head > h3 {
  font-size: 32px !important;
  line-height: 1.2 !important;
  letter-spacing: -.025em !important;
}
body.kk-luxe.kk-rental-v3 .kk-rental-prices .kk-price-card-head > p {
  min-height: 3.4em;
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: #becdbe !important;
}
body.kk-luxe.kk-rental-v3 .kk-rental-prices .kk-rate-value > strong {
  font-size: clamp(32px, 3.3vw, 42px) !important;
  line-height: 1.15 !important;
  letter-spacing: -.025em !important;
  font-variant-numeric: tabular-nums;
}
body.kk-luxe.kk-rental-v3 .kk-rental-prices .kk-rate-value > small { color: #c4d0c4 !important; }
body.kk-luxe.kk-rental-v3 .kk-rental-prices .kk-rate-description > strong { line-height: 1.4 !important; }
body.kk-luxe.kk-rental-v3 .kk-rental-prices .kk-rate-description > small { color: #bacbbc !important; line-height: 1.65 !important; }
body.kk-luxe.kk-rental-v3 .kk-rental-prices .kk-price-card-note {
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: #bccbbf !important;
  border-top-color: #304b3b !important;
}

/* FAQs and final steps remain part of the same visual language. */
body.kk-luxe main > section#faq .kk-taste-faq > summary {
  padding-block: 26px !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
}
body.kk-luxe main > section#faq .kk-taste-faq > p {
  font-size: 16px !important;
  color: #bccbbf !important;
  line-height: 1.8 !important;
}
body.kk-luxe main > section.kk-art-cta:not(:has(form)) {
  background: linear-gradient(110deg, #102219 0%, #102219 55%, #23412a 100%) !important;
  border-top-color: #3c5843 !important;
}
body.kk-luxe main > section.kk-art-cta:not(:has(form)) p {
  color: #d0ddce !important;
  max-width: 62ch !important;
  line-height: 1.75 !important;
}
body.kk-luxe footer .kk-ftgrid > div > span:first-child {
  font-size: 12px !important;
  color: #e0e8dc !important;
  margin-bottom: 8px !important;
}
body.kk-luxe footer .kk-ftgrid > div:not(:first-child) > a:not(.kk-taste-action) {
  min-height: 32px;
  line-height: 1.65 !important;
}

@media (min-width: 941px) {
  body.kk-luxe.kk-rental-v3 .kk-room-grid { column-gap: 28px !important; }
  body.kk-luxe.kk-rental-v3 .kk-room-grid .kk-rental-room > div:last-child { padding-inline: 30px !important; }
  body.kk-luxe.kk-rental-v3 .kk-room-thumbs { padding-inline: 30px !important; }
  body.kk-luxe.kk-rental-v3 .kk-rental-prices .kk-rate-cards { gap: 28px !important; }
}
@media (max-width: 760px) {
  body.kk-luxe.kk-rental-v3 .kk-studio-intro > h1 { line-height: 1.1 !important; }
  body.kk-luxe.kk-rental-v3 .kk-studio-intro > p:not(.kk-rental-location) { font-size: 15px !important; line-height: 1.7 !important; }
  body.kk-luxe.kk-rental-v3 .kk-rental-guide { margin-top: 14px !important; gap: 0 16px !important; }
  body.kk-luxe.kk-rental-v3 .kk-rental-guide .kk-hero-book { font-size: 13px !important; }
  body.kk-luxe.kk-rental-v3 #prostor > p:not([style*="text-transform"]),
  body.kk-luxe:not(.kk-taste-blog):not(.kk-article-page) main > section:not(.kk-hero):not(:has(form)) > .kk-taste-section-inner > p:not([style*="text-transform"]) { font-size: 16px !important; }
  body.kk-luxe.kk-rental-v3 .kk-room-grid .kk-rental-room > div:last-child > p:not(.kk-room-facts) { font-size: 15px !important; }
  body.kk-luxe.kk-rental-v3 .kk-rental-prices .kk-price-card-head > h3 { font-size: 28px !important; }
  body.kk-luxe.kk-rental-v3 .kk-rental-prices .kk-price-card-head > p { min-height: 0; font-size: 15px !important; }
  body.kk-luxe main > section#faq .kk-taste-faq > summary { padding-block: 22px !important; font-size: 16px !important; }
  body.kk-luxe footer .kk-ftgrid > div:not(:first-child) > a:not(.kk-taste-action) { min-height: 44px; }
}

/* Dark-only finishing pass: surface hierarchy and usable destinations.
   Scoped away from the hero artwork, forms and animation controllers. */
body.kk-luxe #main-content :is(a,button,summary,[role="button"]):not(:where(#rezervacija *,section:has(form) *,.kk-hero *,.kkp-anim *)):focus-visible {
  outline: 2px solid #fde500 !important;
  outline-offset: 5px !important;
}
body.kk-luxe main > section:not(:has(form)):not(.kk-hero) ::selection {
  background: #fde500;
  color: #010a08;
}

/* Service overview: distinguish descriptive tags from the actual next step. */
body.kk-luxe .kk-services-overview > div {
  background: #102018 !important;
  border-color: #415e48 !important;
  gap: 20px !important;
}
body.kk-luxe .kk-services-overview > div > h2 { margin: 0 !important; }
body.kk-luxe main .kk-services-overview > div > p {
  margin: 0 !important;
  max-width: 56ch;
}
body.kk-luxe .kk-services-overview > div > div > span {
  color: #c4d4c5 !important;
  background: #192e20;
  border-color: transparent !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  padding: 6px 10px !important;
}
body.kk-luxe .kk-services-overview > div > a {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-height: 44px;
  padding: 12px 0 0;
  border-top: 1px solid #415e48;
  width: 100%;
  color: #fde500 !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  letter-spacing: .05em !important;
}

/* Long service inventories keep their editorial rows and breathe consistently. */
body.kk-luxe main > section:not(:has(form)) > .kk-taste-section-inner > div[id]:has(> span + div) {
  border-bottom-color: #34503e !important;
  gap: clamp(20px,3vw,44px) !important;
  padding-block: 40px !important;
}
body.kk-luxe main > section:not(:has(form)) > .kk-taste-section-inner > div[id]:has(> span + div) > div {
  min-width: 0 !important;
}
body.kk-luxe main > section:not(:has(form)) > .kk-taste-section-inner > div[id]:has(> span + div) h2 {
  font-size: clamp(23px,2.3vw,32px) !important;
  line-height: 1.25 !important;
  letter-spacing: -.025em !important;
  margin-bottom: 16px !important;
  text-wrap: balance;
}
body.kk-luxe main > section:not(:has(form)) > .kk-taste-section-inner > div[id]:has(> span + div) p {
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: #c0cec2 !important;
  font-weight: 400 !important;
  max-width: 66ch !important;
}

/* Selectable rates are framed as choices; the surrounding card stays quieter. */
body.kk-luxe.kk-rental-v3 .kk-rental-prices .kk-price-card .kk-rate-row {
  background: #14291b !important;
  border: 1px solid #49684e !important;
  border-radius: 14px !important;
  margin-block: 12px !important;
  padding: 18px !important;
  box-shadow: none !important;
}
body.kk-luxe.kk-rental-v3 .kk-rental-prices .kk-price-card .kk-rate-row:is(:hover,:focus-visible) {
  background: #1b3423 !important;
  border-color: #95b38d !important;
}
body.kk-luxe.kk-rental-v3 .kk-rental-prices .kk-rate-action {
  display: inline-flex !important;
  align-items: center;
  align-self: flex-start;
  background: #263e27;
  color: #f5e856 !important;
  padding: 7px 11px !important;
  border-radius: 99px;
  font-size: 12px !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
  white-space: nowrap;
}
body.kk-luxe.kk-rental-v3 .kk-rental-prices [data-price-panel="podcast"] .kk-rate-action {
  background: #1c4030;
  color: #b9e6c2 !important;
}

/* Gallery descriptions, related service and inquiry form three clear levels. */
body.kk-luxe .kk-work-card > div:last-child { gap: 14px !important; }
body.kk-luxe .kk-work-card > div:last-child > h3 { line-height: 1.3 !important; }
body.kk-luxe .kk-work-card > div:last-child > div:last-child {
  border-top: 1px solid #34503e;
  padding-top: 18px !important;
  row-gap: 14px !important;
}
body.kk-luxe .kk-work-card a[data-kk-href="p.uslugaHref"] {
  color: #c4d4c5 !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  text-decoration: underline !important;
  text-underline-offset: 5px;
  text-decoration-color: #698870;
}
body.kk-luxe .kk-work-card a[data-kk-href="p.ctaHref"] {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: #fde500 !important;
  line-height: 1.5 !important;
  font-size: 12px !important;
  letter-spacing: .04em !important;
}

/* Quietly strengthen secondary buttons and FAQ dividers, preserving their motion. */
body.kk-luxe #main-content .kk-taste-action[style*="border:1px solid rgb(0,168,107)"]:not(:where(#rezervacija *,section:has(form) *)) {
  color: #b9e6c2 !important;
  border-color: #66896d !important;
  background: #173322 !important;
}
body.kk-luxe main > section#faq .kk-taste-faq {
  background: #112319 !important;
  border: 1px solid #3c5945 !important;
  border-radius: 16px !important;
  margin-bottom: 12px;
}
body.kk-luxe main > section#faq .kk-taste-faq > summary { padding-inline: 20px !important; }
body.kk-luxe main > section#faq .kk-taste-faq > p { padding: 0 20px 24px !important; }
body.kk-luxe main > section#faq .kk-taste-faq > summary { color: #f4f7f0 !important; }
body.kk-luxe main > section#faq .kk-taste-faq[open] > summary { color: #fde500 !important; }

@media (max-width: 760px) {
  body.kk-luxe .kk-services-overview > div { padding: 26px !important; }
  body.kk-luxe main > section:not(:has(form)) > .kk-taste-section-inner > div[id]:has(> span + div) {
    display: grid !important;
    grid-template-columns: 48px minmax(0,1fr);
    gap: 16px !important;
    padding-block: 28px !important;
  }
  body.kk-luxe main > section:not(:has(form)) > .kk-taste-section-inner > div[id]:has(> span + div) > span {
    font-size: 32px !important;
    min-width: 0 !important;
    padding-top: 2px;
  }
  body.kk-luxe main > section:not(:has(form)) > .kk-taste-section-inner > div[id]:has(> span + div) h2 { font-size: 22px !important; }
  body.kk-luxe main > section:not(:has(form)) > .kk-taste-section-inner > div[id]:has(> span + div) p { font-size: 15px !important; }
  body.kk-luxe.kk-rental-v3 .kk-rental-prices .kk-price-card .kk-rate-row { padding: 16px !important; }
}

/* Label case. Buttons, links and navigation read in sentence case, exactly as written;
   capitals stay only on small tags and badges. Sizes step up because sentence case at
   the old caps size reads smaller. */
html body :is(header, main, footer, aside, dialog, #kk-fab-wrap) :is(a, button, summary),
html body :is(a, button) .kk-card-action,
html body main a.kk-panel > p + p {
  text-transform: none !important;
  letter-spacing: 0 !important;
}
html body.kk-luxe #kk-header .kk-desknav > a { font-size: 14px !important; }
html body.kk-taste.kk-luxe :is(a, button):is(.kk-taste-action, .kk-button-primary, .kk-deskcta) { font-size: 15px !important; }
html body.kk-taste.kk-luxe :is(.kk-anchor-nav, .kk-room-price-footer) a.kk-taste-action { font-size: 13px !important; }
@media (min-width: 941px) and (max-width: 1100px) {
  html body.kk-luxe #kk-header .kk-desknav > a { font-size: 13px !important; }
}

/* Type scale. Four heading sizes shared by every page, so a section title, a card title
   or a page title is the same size wherever it appears. Home and blog articles keep
   their own hero titles. */
:root {
  --kk-t-page: clamp(38px, 4.05vw, 58px);
  --kk-t-section: clamp(34px, 4.2vw, 58px);
  --kk-t-sub: clamp(28px, 2.7vw, 38px);
  --kk-t-card: clamp(24px, 2vw, 28px);
}
@media (max-width: 1100px) { :root { --kk-t-section: 40px; } }
@media (max-width: 1000px) { :root { --kk-t-page: 46px; } }
@media (max-width: 760px) { :root { --kk-t-page: 34px; --kk-t-section: 34px; --kk-t-sub: 28px; --kk-t-card: 24px; } }

html body.kk-luxe:not(.kk-home-page):not(.kk-article-page) #main-content h1 { font-size: var(--kk-t-page) !important; }
html body.kk-luxe #main-content section:not(.kk-art-cta):not(.kk-closing-panel):not(:has(form)) :is(h2.kk-art-heading, .yt-section-heading h2, .yt-pack-heading h2, .pp-guides h2) {
  font-size: var(--kk-t-section) !important;
}
html body.kk-luxe #main-content #faq h2 { font-size: var(--kk-t-section) !important; }
html body.kk-luxe #main-content :is(.yt-offer-intro h2, #motion-graphics.pp-service h2, [data-screen-label$="Studio cross-link"] h2) { font-size: var(--kk-t-sub) !important; }
html body.kk-luxe #main-content :is(.vp-format h2, .vp-support-item h2, .pp-service:not(#motion-graphics) h2, .yt-service h2, .yt-model h3,
  [data-screen-label="Usluge · Pillar kartice"] .kk-panel h2, [data-screen-label="Podcast produkcija · Oblasti"] .kk-panel h2) {
  font-size: var(--kk-t-card) !important;
}

/* Breadcrumbs: the current page reads like the links before it, and every link gets a
   44px tap area on phones without moving the line. */
html body nav[aria-label="Breadcrumb"] > :is(a, span) { font-size: 13px !important; }
html body nav[aria-label="Breadcrumb"] > span:last-child { text-transform: none !important; letter-spacing: 0 !important; }
html body nav[aria-label="Breadcrumb"] > a { padding-block: 12px; margin-block: -12px; }

/* Blog index cards: "Pročitaj vodič" reads as the card's yellow action, like every other card link. */
html body.kk-luxe.kk-taste-blog #main-content [data-kakadu-category] > a > p:last-child {
  color: #fde500 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

/* Interaction. One hover, one press and one ease for every control, so buttons,
   cards and arrows respond the same way on every page. */
:root { --kk-ease-out: cubic-bezier(.22, 1, .36, 1); }
html body.kk-luxe :is(a, button):is(.kk-taste-action, .kk-button-primary, .kk-deskcta),
html body.kk-luxe #kk-fab,
html body.kk-luxe .yt-package-switch button {
  transition: transform .22s var(--kk-ease-out), box-shadow .22s var(--kk-ease-out),
    background-color .2s, border-color .2s, color .2s, opacity .2s !important;
}
html body.kk-luxe :is(.kk-service-card, .kk-work-card, a.kk-panel, .kk-mega-card) {
  transition: transform .24s var(--kk-ease-out), border-color .2s, box-shadow .24s var(--kk-ease-out) !important;
}
html body.kk-luxe .kk-island-arrow { transition: transform .22s var(--kk-ease-out) !important; }

@media (hover: hover) and (pointer: fine) {
  html body.kk-luxe :is(a, button):is(.kk-taste-action, .kk-button-primary, .kk-deskcta):hover,
  html body.kk-luxe #kk-fab:hover { transform: translateY(-2px) !important; opacity: 1 !important; }
  /* Yellow actions get a soft glow instead of dimming. */
  html body.kk-luxe :is(a, button):is(.kk-button-primary, .kk-deskcta, [style*="background:rgb(253,229,0)"]):hover,
  html body.kk-luxe #kk-fab:hover { box-shadow: 0 10px 28px rgb(253 229 0 / .24) !important; }
  html body.kk-luxe :is(.kk-service-card, .kk-work-card, a.kk-panel):hover { transform: translateY(-4px) !important; }
  html body.kk-luxe :is(a, button):hover .kk-island-arrow { transform: translateX(3px) !important; }
}
/* Touch screens: no hover lift, so a tapped button never stays raised. */
@media (hover: none) {
  html body.kk-luxe :is(a, button, .kk-service-card, .kk-work-card, .kk-panel):hover { transform: none !important; }
}
/* Press: buttons sink a little, cards a touch less. */
html body.kk-luxe :is(a, button):is(.kk-taste-action, .kk-button-primary, .kk-deskcta):active,
html body.kk-luxe #kk-fab:active,
html body.kk-luxe .yt-package-switch button:active {
  transform: translateY(0) scale(.97) !important;
  transition-duration: .08s !important;
}
html body.kk-luxe :is(.kk-service-card, .kk-work-card, a.kk-panel):active {
  transform: translateY(0) scale(.99) !important;
  transition-duration: .08s !important;
}
html body.kk-luxe main details > summary:active::after { scale: .9; }

/* Sections render up front so the page height, and the scrollbar, stay steady while scrolling. */
@media (min-width: 761px) { html body .kk-section-shell { content-visibility: visible !important; } }

@media (prefers-reduced-motion: reduce) {
  html body.kk-luxe :is(a, button, .kk-service-card, .kk-work-card, .kk-panel, .kk-island-arrow) { transform: none !important; transition-duration: 0s !important; }
}

/* Tap to fly: a parrot marked data-kk-tap is a quiet button. */
.kk-inline-mascot.kk-mascot-tap{pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:16px}
.kk-inline-mascot.kk-mascot-tap:focus-visible{outline:2px solid #fde500;outline-offset:6px}

/* Contact: a reserved welcome area keeps the character clear of the fields. */
html body .kk-simple-contact-card:has(.kk-contact-welcome) { overflow: visible !important; }
html body .kk-contact-welcome {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 112px;
  align-items: center;
  gap: 24px;
  padding-bottom: 22px;
  margin-bottom: 28px;
  border-bottom: 1px solid #466149;
}
html body .kk-contact-welcome .kk-contact-invitation {
  margin: 0;
  max-width: 32ch;
  font-size: 18px;
  line-height: 1.65;
  color: #d2dfd2;
  text-wrap: pretty;
}
html body .kk-contact-welcome > .kk-contact-bird {
  position: relative;
  width: 112px;
  height: 158px;
  justify-self: end;
}
@media (max-width: 600px) {
  html body .kk-contact-welcome {
    grid-template-columns: minmax(0, 1fr) 78px;
    gap: 14px;
    padding-bottom: 20px;
    margin-bottom: 24px;
  }
  html body .kk-contact-welcome .kk-contact-invitation { font-size: 16px; line-height: 1.65; }
  html body .kk-contact-welcome > .kk-contact-bird { width: 78px; height: 112px; }
}

/* Studio disclosures: inset both the trigger and revealed content within the existing panels. */
html body.kk-rental-v3 :is(.kk-equipment-details, .kk-support-details) {
  --kk-disclosure-inset: 20px;
  padding: 0;
}
html body.kk-rental-v3 :is(.kk-equipment-details, .kk-support-details) > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 68px;
  box-sizing: border-box;
  padding: 18px var(--kk-disclosure-inset) !important;
  margin: 0 !important;
  border: 0 !important;
  list-style: none;
  line-height: 1.45;
  color: #f4f7f0;
}
html body.kk-rental-v3 :is(.kk-equipment-details, .kk-support-details) > summary::-webkit-details-marker { display: none; }
html body.kk-rental-v3 :is(.kk-equipment-details, .kk-support-details) > summary::after {
  content: '+';
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fde500;
  font-size: 24px;
  line-height: 1;
}
html body.kk-rental-v3 :is(.kk-equipment-details, .kk-support-details)[open] > summary::after { content: '−'; }
html body.kk-rental-v3 :is(.kk-equipment-details, .kk-support-details) > summary:focus-visible {
  outline: 2px solid #fde500;
  outline-offset: 4px;
}
html body.kk-rental-v3 .kk-equipment-details > div {
  padding: 0 var(--kk-disclosure-inset) 18px;
}
html body.kk-rental-v3 .kk-equipment-details > .kk-auto-note {
  margin: 0 var(--kk-disclosure-inset) 20px;
}
html body.kk-rental-v3 .kk-support-details > span {
  margin: 0;
  padding: 0 var(--kk-disclosure-inset) 20px;
}
html body.kk-rental-v3 .kk-room-grid .kk-room-price-footer {
  margin-top: 8px !important;
  padding-top: 10px !important;
  min-height: 0;
}
@media (max-width: 600px) {
  html body.kk-rental-v3 :is(.kk-equipment-details, .kk-support-details) { --kk-disclosure-inset: 16px; }
}

/* Booking controls: consistent boxes in WebKit and Chromium; retain native pickers. */
html body #kk-studio-form .kk-simple-field > :is(input, select) {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 52px;
  min-height: 52px;
  margin: 0;
  font-size: 16px !important;
}
html body #kk-studio-form .kk-simple-field > select {
  padding-right: 44px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23c5d5ca' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 20px 20px !important;
  cursor: pointer;
}
html body #kk-studio-form input[type=date]::-webkit-date-and-time-value {
  min-width: 0;
  text-align: left;
}
html body #kk-studio-form input[type=date]::-webkit-datetime-edit { padding: 0; }
@media (max-width: 600px) {
  html body #kk-studio-form .kk-simple-fields > .kk-simple-row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px;
  }
}

/* Mobile studio landing: one clear booking action in the page, no fixed bottom menu. */
@media (max-width: 760px) {
  html body.kk-luxe.kk-rental-v3 .kk-studio-mobile { display: none !important; }
  html body.kk-luxe.kk-rental-v3 footer { padding-bottom: 0; }
  html body.kk-luxe.kk-rental-v3 .kk-studio-intro > h1 {
    font-size: clamp(30px, 8.2vw, 40px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.035em !important;
  }
  html body.kk-luxe.kk-rental-v3 .kk-studio-intro > .kk-rental-guide {
    order: 3;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px !important;
    margin: 20px 0 0 !important;
  }
  html body.kk-luxe.kk-rental-v3 .kk-rental-guide > a {
    display: flex;
    justify-content: center;
    gap: 10px;
    min-height: 44px;
    font-size: 14px !important;
  }
  html body.kk-luxe.kk-rental-v3 .kk-rental-guide > .kk-hero-book {
    order: -1;
    min-height: 52px;
    padding: 14px 22px;
    border-radius: 999px;
    background: #fde500;
    color: #07140d !important;
    font-weight: 800 !important;
    text-decoration: none;
  }
  html body.kk-luxe.kk-rental-v3 .kk-rental-guide > a:not(.kk-hero-book) {
    text-decoration: underline;
    text-underline-offset: 5px;
  }
  html body.kk-luxe.kk-rental-v3 .kk-rental-guide .kk-guide-arrow { display: none; }
  html body.kk-luxe.kk-rental-v3 .kk-studio-intro > .kk-room-portrait {
    order: 4;
    height: auto;
    aspect-ratio: 16 / 10;
    margin-top: 16px;
  }
  html body.kk-luxe.kk-rental-v3 .kk-studio-intro > p:not(.kk-rental-location) { order: 5; }
  html body.kk-luxe.kk-rental-v3 .kk-studio-intro > .kk-studio-actions {
    order: 6;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px !important;
    margin-top: 20px !important;
  }
  html body.kk-luxe.kk-rental-v3 .kk-studio-intro .kk-studio-actions > a {
    min-width: 0;
    min-height: 50px;
    padding: 12px 8px !important;
    background: #183322 !important;
    border: 1px solid #55795e !important;
    color: #d2e5d7 !important;
    font-size: 13px !important;
  }
}
