/* Astur tema: astur · generado desde Centro de Control */
:root{
  --color-background: #F8FAF7;
  --color-surface: #FFFFFF;
  --color-text: #24332B;
  --color-text-muted: #65736A;
  --color-border: #D9E3DA;
  --color-primary: #0F9D00;
  --color-primary-strong: #355822;
  --soft: #F1F6EC;
  --color-sea: #4072A8;
  --color-gold: #F2BE3F;
  --color-sky: #65BAE2;
  --color-meadow: #A1C036;
  --color-earth: #BFB296;
  --color-link: #356B8F;
  --color-whatsapp: #0F8D00;
  --color-type-complete: #78A83F;
  --color-type-rooms: #4072A8;
  --color-type-multiple: #E9A72E;
  --color-primary-soft: color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));
  --color-primary-hover: color-mix(in srgb,var(--color-primary) 82%,black);
  --color-on-primary: #FFFFFF;
  --color-surface-hover: color-mix(in srgb,var(--color-primary) 3%,var(--color-surface));
  --color-surface-selected: color-mix(in srgb,var(--color-primary) 9%,var(--color-surface));
  --color-border-soft: color-mix(in srgb,var(--color-border) 62%,var(--color-surface));
  --color-border-strong: color-mix(in srgb,var(--color-border) 58%,var(--color-text));
  --color-overlay: color-mix(in srgb,var(--color-text) 42%,transparent);
  --color-surface-translucent: color-mix(in srgb,var(--color-surface) 96%,transparent);
  --focus-ring: 0 0 0 4px color-mix(in srgb,var(--color-primary) 15%,transparent);
  --bg: var(--color-background);
  --paper: var(--color-surface);
  --ink: var(--color-text);
  --muted: var(--color-text-muted);
  --line: var(--color-border);
  --green: var(--color-primary);
  --green2: var(--color-primary-strong);
  --blue: var(--color-sea);
  --ochre: var(--color-gold);
  --brand-sky: var(--color-sky);
  --brand-meadow: var(--color-meadow);
  --brand-earth: var(--color-earth);
  --brand-link: var(--color-link);
  --whatsapp: var(--color-whatsapp);
  --font-family: Georgia;
  --font-base: 18px;
  --font-small: 15px;
  --font-label: 17px;
  --font-button: 17px;
  --title-weight: 500;
  --heading-weight: 500;
  --item-weight: 650;
  --line-height: 1.55;
  --icon-size: 23px;
  --icon-large: 30px;
  --icon-modal: 28px;
  --type-complete: var(--color-type-complete);
  --type-rooms: var(--color-type-rooms);
  --type-multiple: var(--color-type-multiple);
  --radius-control: 2px;
  --radius-card: 2px;
  --radius-modal: 4px;
  --radius-image: 0px;
  --radius-chip: 2px;
  --border-width: 1px;
  --border-width-strong: 2px;
  --control-height: 40px;
  --control-height-small: 36px;
  --control-height-results: 50px;
  --control-height-search: 58px;
  --control-height-home: 64px;
  --control-height-home-mobile: 62px;
  --control-height-large: 48px;
  --density-gap-tight: 8px;
  --density-gap-normal: 11px;
  --density-gap-list: 14px;
  --density-gap-card: 18px;
  --density-pad-card: 15px;
  --density-pad-suggestion-y: 16px;
  --density-pad-suggestion-x: 18px;
  --density-pad-home-suggestion-y: 14px;
  --density-pad-home-suggestion-x: 16px;
  --density-pad-home-mobile-x: 15px;
  --density-pad-detail-top: 28px;
  --density-pad-detail-x: 32px;
  --density-pad-detail-bottom: 34px;
  --density-pad-detail-mobile-top: 23px;
  --density-pad-detail-mobile-x: 21px;
  --density-pad-detail-mobile-bottom: 30px;
  --shadow-suggestions: none;
  --shadow-detail: none;
  --shadow-info: none;
  --shadow-web: none;
  --shadow-tools: none;
  --shadow-map: none;
  --shadow-cookie: none;
  --shadow-close: none;
  --shadow-card: none;
  --shadow-control: none;
  --multiple-unit-icon: split-house;
  --visual-character: custom;
  --visual-structure: framed;
  --icon-complete: house-chimney;
  --icon-rooms: bed;
  --icon-multiple: split-house;
  --icon-search: magnifying-glass;
  --icon-filters: sliders;
  --icon-phone: phone;
  --icon-web: globe;
  --icon-email: envelope;
  --icon-map: map;
  --icon-route: route;
  --icon-registration: id-card;
  --icon-capacity: user;
  --icon-units: building;
  --icon-pets: paw;
  --icon-parking: square-parking;
  --icon-kitchen: utensils;
  --icon-jacuzzi: hot-tub-person;
  --icon-mountain: mountain-sun;
  --icon-beach: umbrella-beach;
  --icon-location: location-dot;
  --icon-accessibility: wheelchair;
  --icon-hiking: person-hiking;
  --icon-nature: tree;
  --icon-wifi: wifi;
  --icon-fireplace: fire;
  --icon-calendar: calendar-days;
  --icon-mapasturias: map;
  --icon-mapzone: layer-group;
  --icon-mapmunicipio: map-location-dot;
  --icon-maparound: location-crosshairs;
  --icon-info: circle-info;
}
.result-card,.simple-path,.official-type-card,.capacity-card,.zone-card,.detail-link-card,.tool-choice,.astur-map-themed .card,.site-card,.site-panel,.lodging-row,.fact-card{background:var(--color-surface)!important;border:var(--border-width) solid var(--color-border)!important;border-radius:var(--radius-card)!important;box-shadow:var(--shadow-card)!important;}
.astur-map-themed .resultsList{padding:var(--density-gap-list)!important;}
.astur-map-themed .filterBar{background:var(--color-surface)!important;}
.astur-map-themed .filterButton,.astur-map-themed .filterChip,.astur-map-themed .mapBtn{border:var(--border-width) solid var(--color-border)!important;box-shadow:var(--shadow-control)!important;}
.astur-map-themed .filterModal,.astur-map-themed .tunePanel{border:var(--border-width) solid var(--color-border)!important;box-shadow:var(--shadow-detail)!important;}
.astur-map-themed .filterSection,.astur-map-themed .tuneItem,.astur-map-themed .tuneChecks{background:var(--color-surface)!important;border-color:var(--color-border)!important;}
.astur-map-themed .leaflet-popup-content-wrapper{border:var(--border-width) solid var(--color-border)!important;}
