/* Presentation of Inalko dynamic blocks. Theme tokens are owned by Astra. */
.cloe-gallery-grid.cloe-gallery-carousel{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:var(--cloe-radius,22px);scrollbar-width:thin}
.cloe-gallery-carousel>a{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;border-radius:0}
.cloe-gallery-grid.cloe-gallery-carousel img{height:min(var(--cloe-image-height,620px),65vw);width:100%;object-fit:cover}
.cloe-carousel-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:16px;font-size:13px;font-variant-numeric:tabular-nums}
.cloe-carousel-controls button{min-width:44px;min-height:44px;padding:10px 16px}
.cloe-carousel-controls button:disabled{opacity:.45;cursor:default}
.cloe-carousel-controls a{margin-left:auto;text-decoration:underline;text-underline-offset:3px}
.cloe-carousel{min-width:0;width:100%}.cloe-property-taxonomies{margin-bottom:16px}.cloe-property-taxonomies a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:767px){.cloe-gallery-grid.cloe-gallery-carousel img{height:clamp(300px,92vw,380px)}.cloe-carousel-controls{gap:12px}.cloe-carousel-controls a{font-size:12px}}
:where(.cloe-property,.cloe-gallery,.cloe-catalog){color:inherit;min-width:0;width:100%}
.inalko-design-template{width:100%;padding:0;min-width:0}
.cloe-property-topline{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:18px;font-size:.85em}.cloe-pill{border-radius:40px;background:var(--ast-global-color-0);color:var(--ast-global-color-2);padding:8px 20px}.cloe-property-heading{display:flex;align-items:center;justify-content:space-between;gap:40px}.cloe-property-heading h1{max-width:900px;margin:0}.cloe-property-heading>a{white-space:nowrap;font-size:12px}.cloe-property-price{font-size:22px;margin-top:20px;color:var(--ast-global-color-2)}
.cloe-gallery-grid{display:grid;grid-template-columns:repeat(var(--cloe-columns,3),minmax(0,1fr));gap:var(--cloe-gap,24px)}.cloe-gallery-grid a{overflow:hidden;border-radius:var(--cloe-radius,22px);display:block}.cloe-gallery-grid img{width:100%;height:260px;object-fit:cover;transition:none}.cloe-gallery-hero{grid-template-columns:2.6fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));height:var(--cloe-image-height,430px)}.cloe-gallery-hero a:first-child{grid-row:span 2}.cloe-gallery-hero img{height:100%}.cloe-gallery-hero a:only-child{grid-column:1/-1}
.cloe-facts{display:grid;grid-template-columns:repeat(var(--cloe-columns,3),minmax(0,1fr));gap:var(--cloe-gap,24px);margin:0}.cloe-facts dt{font-size:12px;font-weight:400;margin-bottom:8px}.cloe-facts dd{margin:0;font-size:20px;color:var(--ast-global-color-2)}.cloe-equipment{list-style:none;display:grid;grid-template-columns:repeat(var(--cloe-columns,3),minmax(0,1fr));gap:var(--cloe-gap,24px);margin:0;padding:0}.cloe-equipment span{color:var(--ast-global-color-1)}.cloe-map-link{display:block;padding:24px;border-radius:var(--cloe-radius);background:var(--ast-global-color-4)}
.cloe-catalog .inalko-grid{display:grid;grid-template-columns:repeat(var(--cloe-columns,3),minmax(0,1fr));gap:40px var(--cloe-gap,24px)}.cloe-catalog .inalko-card{min-width:0}.cloe-catalog .inalko-card-image{position:relative;display:block;overflow:hidden;border-radius:var(--cloe-radius,22px)}.cloe-catalog .inalko-card-image img{width:100%;height:300px;object-fit:cover;transition:none}.cloe-catalog .inalko-card-ref{position:absolute;bottom:20px;left:20px;border-radius:12px;padding:10px 18px;background:var(--ast-global-color-2);color:var(--ast-global-color-5);font-size:13px}.cloe-catalog .inalko-card-copy{padding:22px 0}.cloe-catalog .inalko-card h3{font-size:16px;margin-bottom:12px;line-height:1.5}.cloe-catalog .inalko-place{font-size:13px;margin-bottom:10px}.cloe-catalog .inalko-facts{font-size:13px;margin-bottom:12px}.cloe-catalog .inalko-card-price{color:var(--ast-global-color-2);font-size:13px}.inalko-results-line{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin:24px 0}.inalko-results-line span{font-size:13px}.inalko-empty{padding:40px 0}.inalko-pagination{display:flex;gap:12px;justify-content:center}.inalko-pagination a{padding:10px 18px;border-radius:30px;background:var(--ast-global-color-5)}.inalko-pagination [aria-current]{background:var(--ast-global-color-0);color:var(--ast-global-color-2)}
.inalko-filters,.inalko-search{display:flex;flex-wrap:wrap;gap:16px;align-items:end;background:var(--ast-global-color-5);padding:25px;border-radius:18px}.inalko-filters label{flex:1 1 130px}.inalko-search label{flex:1 1 160px}.inalko-filters label,.inalko-search label,.inalko-inquiry label,.inalko-booking label{display:block;font-size:13px}.inalko-filters input,.inalko-filters select,.inalko-search input,.inalko-search select,.inalko-inquiry input:not([type=checkbox]),.inalko-inquiry textarea,.inalko-booking input:not([type=checkbox]),.inalko-booking select{display:block;width:100%;min-width:0;margin-top:8px;background:var(--ast-global-color-4);border:1px solid var(--ast-global-color-8);border-radius:24px;color:var(--ast-global-color-2);font:inherit;font-size:16px;padding:13px 16px;min-height:44px}.inalko-inquiry label{margin-bottom:16px}.inalko-inquiry textarea{border-radius:18px}.inalko-inquiry .inalko-consent{display:block;font-size:12px;line-height:1.7}.inalko-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.inalko-consent input{margin-right:8px}.inalko-button{display:inline-block;background:var(--ast-global-color-0);color:var(--ast-global-color-2);padding:13px 25px;border-radius:50px}.inalko-booking{margin-bottom:35px}.inalko-booking h2,.cloe-section-contact h2{font-size:20px;margin-bottom:24px}.inalko-small{font-size:13px;line-height:1.7}.inalko-date-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.inalko-booking-form button{width:100%;margin:12px 0}.inalko-notice,.inalko-success{padding:16px;border:1px solid currentColor}.inalko-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:10px}.inalko-calendar-nav button{padding:10px;min-width:44px;min-height:44px}.inalko-calendar-key{font-size:12px;margin:12px 0}.inalko-calendar{font-size:13px;margin-bottom:20px}
.inalko-calendar table{width:100%;table-layout:fixed;border:0;border-collapse:separate;border-spacing:2px;margin:12px 0}.inalko-calendar th,.inalko-calendar td{padding:6px 0;text-align:center;border:0;font-size:12px;overflow-wrap:anywhere}.inalko-calendar td span,.inalko-calendar td small{display:block;line-height:1.7}.inalko-calendar td small{font-size:11px}.inalko-calendar .is-available{background:var(--ast-global-color-4);color:var(--ast-global-color-2);border-radius:6px}.inalko-calendar .is-unavailable{color:var(--ast-global-color-3);opacity:1}.inalko-calendar-nav strong{font-size:12px;text-align:center}.inalko-calendar-nav button{flex-shrink:0}
.cloe-lightbox::backdrop{background:rgba(0,0,0,.8)}
@media(max-width:1024px){.cloe-catalog .inalko-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cloe-equipment{grid-template-columns:repeat(2,minmax(0,1fr))}.cloe-property-heading{display:block}.cloe-property-heading>a{display:inline-block;margin-top:20px}}
@media(max-width:767px){.cloe-catalog .inalko-grid,.cloe-gallery-grid,.cloe-facts,.cloe-equipment{grid-template-columns:repeat(var(--cloe-mobile-columns,1),minmax(0,1fr))}.cloe-gallery-hero{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.cloe-gallery-hero a:first-child{grid-row:auto;grid-column:1/-1}.cloe-gallery-hero img{height:150px}.cloe-gallery-hero a:first-child img{height:280px}.cloe-property-topline{gap:12px;font-size:12px}.inalko-results-line{display:block}.inalko-filters,.inalko-search{padding:18px}.inalko-filters button,.inalko-search button{width:100%}.inalko-date-pair{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.cloe-gallery-grid img,.cloe-catalog .inalko-card-image img{transition:none}}

.cloe-section-summary{font-size:13px}.cloe-section-summary p{margin:0 0 8px}.cloe-section-summary strong{font-size:13px;color:var(--ast-global-color-2)}

/* States, readable figures, and keyboard access for the dynamic components. */
.inalko-calendar table,.cloe-property-price,.inalko-card-price,.inalko-quote{font-variant-numeric:tabular-nums}
.inalko-quote p{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:12px 0;font-size:13px}
.inalko-quote strong{white-space:nowrap;color:var(--ast-global-color-2)}
.inalko-filters>a,.cloe-property-heading>a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:.2em}
.inalko-inquiry .inalko-consent{line-height:1.8;font-size:13px}.inalko-consent a{text-decoration:underline}
.inalko-consent input{width:20px;height:20px;vertical-align:middle;accent-color:var(--ast-global-color-1)}
:is(.inalko-filters,.inalko-search,.inalko-inquiry,.inalko-booking) :is(input,textarea)::placeholder{color:var(--ast-global-color-3);opacity:1}
.inalko-booking button:disabled{background:var(--ast-global-color-6);color:var(--ast-global-color-3);opacity:1;cursor:not-allowed}
.inalko-button:hover{background:var(--ast-global-color-1);color:var(--ast-global-color-5)}
:is(.cloe-property,.cloe-gallery,.cloe-catalog) :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--ast-global-color-2);outline-offset:4px}
.cloe-gallery-grid a:focus-visible{outline-offset:-5px;outline-color:var(--ast-global-color-5);box-shadow:inset 0 0 0 8px var(--ast-global-color-2)}
.cloe-gallery-hero>a:nth-child(2):last-child{grid-row:span 2}
.cloe-photo-empty{padding:32px;border-radius:var(--cloe-radius,22px);background:var(--ast-global-color-4);color:var(--ast-global-color-2)}
@media(max-width:767px){.cloe-gallery-hero>a:nth-child(2):last-child{grid-row:auto}.cloe-property-heading h1{overflow-wrap:anywhere}.cloe-property-topline{font-size:12px}.cloe-facts dd{font-size:18px;overflow-wrap:anywhere}.cloe-lightbox{padding:12px}}

/* Motion is pointer feedback only; keyboard and reduced-motion paths stay instant. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .cloe-gallery-grid img,.cloe-catalog .inalko-card-image img{transition:transform 200ms cubic-bezier(.23,1,.32,1)}
 .cloe-gallery-grid a:hover img,.cloe-catalog .inalko-card-image:hover img{transform:scale(1.025)}
 .cloe-lightbox button:not(:focus-visible){transition:transform 140ms cubic-bezier(.23,1,.32,1)}
 .cloe-lightbox button:active:not(:focus-visible){transform:scale(.97)}
}
.cloe-lightbox{border:0;background:var(--ast-global-color-5);border-radius:16px;width:min(1000px,94vw);max-height:94dvh;padding:20px;overflow:auto;color:var(--ast-global-color-2)}
.cloe-lightbox-toolbar,.cloe-lightbox-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px}
.cloe-lightbox-navigation[hidden]{display:none}
.cloe-lightbox-toolbar{margin-bottom:16px}
.cloe-lightbox-toolbar span{font-size:13px;font-variant-numeric:tabular-nums}
.cloe-lightbox button{min-height:44px;min-width:44px;margin:0;font-size:13px;padding:12px 20px}
.cloe-lightbox button:focus-visible{outline:3px solid var(--ast-global-color-2);outline-offset:3px}
.cloe-lightbox-stage{height:min(65dvh,660px);display:grid;place-items:center;background:var(--ast-global-color-4);border-radius:8px;overflow:hidden}
.cloe-lightbox-stage img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.cloe-lightbox-stage a{margin:20px;text-align:center;text-decoration:underline}
.cloe-lightbox-status{font-size:12px;line-height:1.6;margin:12px 0;min-height:20px;color:var(--ast-global-color-3)}
@media(max-width:767px){.cloe-lightbox{padding:12px}.cloe-lightbox-stage{height:min(54dvh,440px)}.cloe-lightbox button{padding:12px 16px}}

/* Compact catalog filters keep labels readable and preserve touch targets. */
.inalko-filters.inalko-filters-compact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;padding:18px;border-radius:14px;scroll-margin-top:32px}
.inalko-filters.inalko-filters-compact label{min-width:0;font-size:12px;line-height:1.4;margin:0}
.inalko-filters.inalko-filters-compact :is(input:not([type=hidden]),select){height:40px;min-height:40px;margin-top:5px;padding:8px 10px;border-radius:10px;font-size:13px;font-weight:400;line-height:1.3;box-sizing:border-box}
.inalko-filters.inalko-filters-compact select{padding-right:25px}
.inalko-filters.inalko-filters-compact select:disabled{opacity:1;color:var(--ast-global-color-3);background:transparent;border-style:dashed;cursor:default}
.inalko-filter-actions{display:flex;align-items:center;gap:12px;min-height:40px}
.inalko-filters.inalko-filters-compact button{width:auto;min-height:40px;padding:9px 19px;margin:0;border-radius:10px;font-size:13px;line-height:1.3}
.inalko-filter-actions a{display:inline-flex;align-items:center;min-height:40px;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.inalko-filter-hint{grid-column:1/-1;margin:0;font-size:11px;line-height:1.5;color:var(--ast-global-color-3)}
.inalko-filters-compact :is(a,button,input,select):focus-visible{outline:2px solid var(--ast-global-color-2);outline-offset:3px}
@media(min-width:1280px){.inalko-filters.inalko-filters-compact{grid-template-columns:repeat(7,minmax(0,1fr)) auto;gap:10px;padding:16px}.inalko-filters.inalko-filters-compact.has-operation{grid-template-columns:repeat(8,minmax(0,1fr)) auto}}
@media(max-width:767px){.inalko-filters.inalko-filters-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}.inalko-filters.inalko-filters-compact :is(input:not([type=hidden]),select){height:44px;min-height:44px;font-size:16px}.inalko-filter-actions{grid-column:1/-1}.inalko-filters.inalko-filters-compact button{min-height:44px;flex:1}.inalko-filter-actions a{min-height:44px;padding:0 12px}}
@media(hover:hover) and (pointer:fine){.inalko-filters-compact button:active:not(:focus-visible){transform:scale(.97)}}

/* Keep rental catalogues discoverable from the sale catalogue, also on touch screens. */
.inalko-catalog-navigation{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}
.inalko-catalog-navigation a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--ast-global-color-6,#dfdcdd);border-radius:50px;color:var(--ast-global-color-2,#1e1e1e);font-size:13px;line-height:1.4;text-decoration:none}
.inalko-catalog-navigation a[aria-current="page"]{background:var(--ast-global-color-0,#ff3d00);border-color:var(--ast-global-color-0,#ff3d00)}
.inalko-catalog-navigation a:hover{border-color:var(--ast-global-color-2,#1e1e1e);color:var(--ast-global-color-2,#1e1e1e)}
.inalko-catalog-navigation a:focus-visible{outline:2px solid var(--ast-global-color-2,#1e1e1e);outline-offset:4px}
@media(max-width:544px){.inalko-catalog-navigation{gap:8px;margin-bottom:22px}.inalko-catalog-navigation a{padding:10px 13px;font-size:12px}}
.inalko-search .inalko-stay-rule{flex:0 0 100%;margin:0;font-size:13px;line-height:1.6}

/* Tablet filters keep the same readable fields and touch targets as mobile. */
@media (min-width:768px) and (max-width:1024px), (pointer:coarse){
 .inalko-filters.inalko-filters-compact :is(input:not([type=hidden]),select){height:44px;min-height:44px;font-size:16px}
 .inalko-filters.inalko-filters-compact button,.inalko-filter-actions,.inalko-filter-actions a{min-height:44px}
 .inalko-filter-hint{font-size:12px}
}

/* Weekly range picker: only Saturdays are controls; other days show occupancy. */
.inalko-calendar .inalko-calendar-day{display:block;width:100%;min-height:44px;margin:0;padding:8px 0;border:1px solid var(--ast-global-color-0,#ff3d00);border-radius:6px;background:var(--ast-global-color-5,#fff);color:var(--ast-global-color-2,#1e1e1e);font:inherit;font-weight:600;line-height:1.4}
.inalko-calendar .inalko-calendar-day:disabled{border-color:transparent;background:transparent;color:var(--ast-global-color-3,#606060);opacity:.55;cursor:default}
.inalko-calendar .inalko-calendar-day:not(:disabled):hover,.inalko-calendar .is-selected .inalko-calendar-day{background:var(--ast-global-color-0,#ff3d00);color:var(--ast-global-color-2,#1e1e1e);opacity:1}
.inalko-calendar .inalko-calendar-day:focus-visible{outline:2px solid var(--ast-global-color-2,#1e1e1e);outline-offset:2px}
.inalko-calendar .is-in-stay{background:var(--ast-global-color-6,#dfdcdd)}
.inalko-calendar .inalko-calendar-selection{font-size:12px;line-height:1.7;margin:12px 0}
.inalko-calendar .inalko-calendar-reset{min-height:44px;padding:8px 16px;font-size:12px}
.inalko-calendar [hidden]{display:none!important}
.inalko-calendar th:nth-child(6){width:44px}

/* Seller form: CF7 has no native layout/field-style controls. */
.inalko-seller-contact {scroll-margin-top:40px}
.inalko-seller-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.inalko-seller-fields > p {min-width:0;margin-bottom:0}
.inalko-seller-contact .inalko-inquiry select {display:block;width:100%;min-width:0;margin-top:8px;background:var(--ast-global-color-4);border:1px solid var(--ast-global-color-8);border-radius:24px;color:var(--ast-global-color-2);font:inherit;font-size:16px;padding:13px 16px;min-height:48px}
.inalko-seller-contact .inalko-inquiry input[type=submit] {background:var(--ast-global-color-0);color:var(--ast-global-color-2);border-color:transparent;white-space:normal;cursor:pointer;margin-top:24px}
.inalko-seller-contact .inalko-inquiry input[type=submit]:hover {background:var(--ast-global-color-1);color:var(--ast-global-color-5)}
.inalko-seller-contact :is(input,select,textarea):focus-visible {outline:3px solid var(--ast-global-color-2);outline-offset:3px}
@media(max-width:600px){.inalko-seller-fields{grid-template-columns:1fr}}
.cloe-property-plan { margin: 24px 0; }
.cloe-property-plan img { display: block; width: auto; max-width: 100%; height: auto; }
.cloe-property-plan figcaption { margin-top: 12px; }
.cloe-property-documents { padding-left: 24px; }
.cloe-property-documents a { display: inline-block; padding-block: 12px; overflow-wrap: anywhere; }
