/* Shared public-page polish; data, galleries and consent behavior stay unchanged. */
@font-face { font-family:Manrope;src:url('/assets/fonts/manrope-regular.woff2') format('woff2');font-weight:400 500;font-display:swap; }
@font-face { font-family:Manrope;src:url('/assets/fonts/manrope-semibold.woff2') format('woff2');font-weight:600 900;font-display:swap; }
@font-face { font-family:CHBEmoji;src:url('/assets/fonts/emoji-complete-ui.woff2') format('woff2');font-display:swap;unicode-range:U+200D,U+FE0F,U+2600-27FF,U+1F300-1FAFF; }
body { font-family:Manrope,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",CHBEmoji,system-ui,sans-serif; }
.site-header { position:sticky;top:0;z-index:100;background:#faf9f5f5;border-bottom:1px solid #dfe4da;padding:0;backdrop-filter:blur(12px); }
.site-header-inner { position:relative;max-width:1240px;margin:auto;padding:10px 24px;display:flex;align-items:center;gap:16px; }
.site-brand { display:flex;align-items:center;gap:8px;min-height:44px;color:#203b2e;font-size:15px;font-weight:600;text-decoration:none;white-space:nowrap; }
.site-mark { display:grid;place-items:center;width:32px;height:32px;background:#174d3b;color:white;border-radius:11px;font-size:11px; }
.site-desktop-nav { display:flex;gap:16px;margin-left:auto; }
.site-header nav { margin-top:0; }
.site-mobile-contact { display:none; }
body[data-villa-code] .price .rental-price-line + .rental-price-line { font-size:16px;font-weight:500;color:#637368; }
.homepage .more-filters>summary { display:flex;align-items:center;flex-wrap:nowrap;gap:8px; }
.homepage .more-filters>summary .more-filter-label { min-width:0;white-space:normal;line-height:1.35; }
.homepage .more-filters>summary [aria-hidden] { flex:none;margin:0;font-size:24px; }
.site-desktop-nav a,.site-menu a { color:#304b40;text-decoration:none;font-size:14px; }
.site-desktop-nav a { display:flex;align-items:center;min-height:44px; }
.site-header .chb-language-bar { margin:0;padding:0;background:none;flex-wrap:nowrap;gap:4px; }
.site-header .chb-language-bar label span { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
.site-header .chb-language-bar select { width:58px;min-height:44px;padding:8px 0 8px 4px;border:0;background:transparent;box-shadow:none;font-size:14px; }
.site-header .chb-language-bar select { color:#20332b;flex-shrink:0; }
.site-header .chb-language-status:not(:empty) { position:absolute;top:100%;left:0;right:0;padding:6px 16px;background:#faf9f5;border-bottom:1px solid #dfe4da;font-size:11px;text-align:center; }
.site-menu { display:none;position:relative;border:0;margin:0;padding:0; }
.site-menu summary { display:grid;place-items:center;width:44px;height:44px;list-style:none;cursor:pointer;border:1px solid #ccd8ce;border-radius:12px;font-size:21px;background:white; }
.site-menu summary::-webkit-details-marker { display:none; }
.site-menu nav { position:absolute;right:0;top:52px;width:230px;padding:8px;background:white;border:1px solid #dce3d9;border-radius:16px;box-shadow:0 12px 32px #20332b26; }
.site-menu nav a { display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:8px; }
.site-menu nav a:hover { background:#edf2eb; }
.site-header a:focus-visible,.site-menu summary:focus-visible { outline:3px solid #719982;outline-offset:3px; }
.property-body h2 { font-size:21px;font-weight:600;line-height:1.3;letter-spacing:-.02em; }
.property-body .price { margin-block:16px 10px; }
.tag-row span { font-family:Manrope,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",CHBEmoji,system-ui,sans-serif; }
body[data-villa-code] .facts { padding:20px;border:1px solid #dce3d8;border-radius:20px;background:#f1f4ed; }
body[data-villa-code] .description { padding:24px;border:1px solid #e0e5dc;border-radius:20px;background:#fff; }
body[data-villa-code] .description .catalog-heading { padding-top:18px;border-top:1px solid #e7ebe3;margin-top:24px; }
body[data-villa-code] .description .catalog-heading:first-child { margin-top:0;padding-top:0;border:0; }
body:not(.homepage):not([data-villa-code]) main { max-width:1000px;margin:40px auto;padding:0 24px; }
body:not(.homepage):not([data-villa-code]) h1 { font-size:clamp(30px,4vw,48px);line-height:1.15;letter-spacing:-.035em; }
body:not(.homepage):not([data-villa-code]) main p { max-width:70ch;line-height:1.7; }
body:not(.homepage):not([data-villa-code]) main dl { padding:24px;background:#f0f3eb;border:1px solid #dce3d8;border-radius:20px; }
html:not([lang="en"]) .homepage .hero h1 { font-size:clamp(30px,4.5vw,52px);line-height:1.15;overflow-wrap:normal; }
@media(max-width:900px) {
 .site-desktop-nav { display:none; }
 .site-header .chb-language-bar { margin-left:auto; }
 .site-menu { display:block; }
 .site-mobile-contact { display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;background:#174d3b;border-radius:50%;font-size:0; }
 .site-mobile-contact::before { content:'';width:23px;height:23px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8'%3E%3Cpath d='M21 11.5a9 9 0 0 1-13.4 7.8L3 21l1.7-4.6A9 9 0 1 1 21 11.5Z'/%3E%3Cpath d='M8 7c0 5 4 9 9 9l1-3-3-1-1 2c-2-1-3-2-4-4l2-1-1-3-3 1Z'/%3E%3C/svg%3E"); }
}
@media(max-width:540px) {
 .site-header-inner { padding:8px 16px;gap:6px; }
 .site-brand { font-size:12px;gap:5px; }
 .site-mark { width:26px;height:28px;font-size:10px; }
 .site-header .chb-language-bar label { display:none; }
 .homepage .hero,.homepage .hero-copy { min-height:300px; }
 .homepage .service-strip { margin:16px 0 20px; }
 .homepage .filter-intro { margin-bottom:12px; }
 .homepage .field,.homepage .price-field,.homepage .more-filters>summary { padding:8px 10px;min-height:72px; }
 .homepage .field label { margin-bottom:3px;font-size:13px; }
 .homepage .price-field .price-row { gap:3px; }
 .homepage .filters { gap:8px; }
 .homepage .search-tools { gap:8px;margin-top:8px; }
 .homepage .filter-intro h2 { font-size:24px; }
 .property-body h2 { font-size:20px; }
 body[data-villa-code] .description { padding:18px;font-size:16px;line-height:1.7; }
 body:not(.homepage):not([data-villa-code]) main { margin-top:28px;padding-inline:20px; }
 html:not([lang="en"]) .homepage .hero h1 { font-size:30px; }
 .chb-analytics-panel { padding:14px!important;font-size:14px!important;line-height:1.45!important;bottom:8px!important;left:8px!important;right:8px!important; }
 .chb-analytics-panel p { margin-bottom:10px!important; }
 .chb-analytics-actions { display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important; }
 .chb-analytics-panel button { font-size:13px!important;padding:10px 8px!important;min-height:44px; }
}
@media(max-width:360px) {
 .site-brand>span:last-child { max-width:95px;white-space:normal;font-size:11px;line-height:1.2; }
 .site-header-inner { padding-inline:10px;gap:4px; }
 .site-header .chb-language-bar select { width:48px; }
}
.description-translation-notice {
  padding: 12px 16px;
  border-inline-start: 3px solid #a97843;
  border-radius: 8px;
  background: #f6f1e7;
  color: #514638;
  font-size: 0.9rem;
  line-height: 1.5;
}
