
img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */


	img.wp-smiley, img.emoji {
		display: inline !important;
		border: none !important;
		box-shadow: none !important;
		height: 1em !important;
		width: 1em !important;
		margin: 0 0.07em !important;
		vertical-align: -0.1em !important;
		background: none !important;
		padding: 0 !important;
	}
/*# sourceURL=wp-emoji-styles-inline-css */

:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}

/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */

/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
/*# sourceURL=/wp-includes/css/classic-themes.min.css */

:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
/*# sourceURL=global-styles-inline-css */
/*
 * Koiraparkki frontend styles.
 * Namespaced so Gutenberg/React/theme CSS cannot restyle the booking portal.
 */
#kp-booking-app,
#kp-booking-app * {
    box-sizing: border-box;
}

#kp-booking-app {
    all: initial;
    display: block;
    width: 100%;
    max-width: 800px;
    margin: 40px auto;
    padding: 20px;
    border-radius: 12px;
    background: linear-gradient(135deg, #111111 0%, #303030 100%);
    color: #f1f1f1;
    font-family: Inter, Roboto, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    box-shadow: 0 10px 30px rgba(0,0,0,.5);
}

#kp-booking-app::before,
#kp-booking-app::after { box-sizing: border-box; }

#kp-booking-app h2,
#kp-booking-app h3,
#kp-booking-app p,
#kp-booking-app label { margin-top: 0; }

#kp-booking-app h2,
#kp-booking-app h3 { color: #fff; }
#kp-booking-app h2 { margin-bottom: 12px; }
#kp-booking-app h3 { margin-bottom: 12px; }
#kp-booking-app p { color: #ddd; }

#kp-booking-app button,
#kp-booking-app input,
#kp-booking-app select,
#kp-booking-app textarea {
    font: inherit;
}

#kp-booking-app button {
    appearance: none;
    -webkit-appearance: none;
    text-transform: none;
}

#kp-booking-app .kp-view { width: 100%; }
#kp-booking-app .kp-card {
    background: #222;
    border: 1px solid #444;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 4px 6px rgba(0,0,0,.3);
}

#kp-booking-app .kp-form-group { margin-bottom: 15px; }
#kp-booking-app .kp-form-group label {
    display: block;
    margin-bottom: 5px;
    color: #ccc;
    font-size: 14px;
    font-weight: 600;
}

#kp-booking-app .kp-form-group input,
#kp-booking-app .kp-form-group select {
    display: block;
    width: 100%;
    min-height: 44px;
    padding: 10px;
    border: 1px solid #555;
    border-radius: 5px;
    background: #000 !important;
    color: #fff !important;
    color-scheme: dark;
    font-size: 16px;
    line-height: 1.4;
}

#kp-booking-app .kp-form-group input:focus,
#kp-booking-app .kp-form-group select:focus {
    outline: 2px solid #888;
    outline-offset: 1px;
    border-color: #aaa;
}

#kp-booking-app .kp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 20px;
    border: 0;
    border-radius: 5px;
    cursor: pointer;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: background .2s ease, opacity .2s ease, transform .2s ease;
}

#kp-booking-app .kp-btn:hover { transform: translateY(-1px); }
#kp-booking-app .kp-btn:disabled { opacity: .65; cursor: wait; transform: none; }
#kp-booking-app .kp-btn-primary { background: #4a90e2; color: #fff; }
#kp-booking-app .kp-btn-primary:hover { background: #357abd; }
#kp-booking-app .kp-btn-secondary { background: #555; color: #fff; }
#kp-booking-app .kp-btn-secondary:hover { background: #444; }
#kp-booking-app .kp-btn-success { background: #27ae60; color: #fff; }
#kp-booking-app .kp-btn-success:hover { background: #219653; }
#kp-booking-app .kp-btn-danger { background: #e74c3c; color: #fff; }
#kp-booking-app .kp-btn-danger:hover { background: #c0392b; }

#kp-booking-app .kp-error {
    display: block;
    margin-top: 10px;
    color: #ff8b8b;
    font-size: 14px;
}

#kp-booking-app .kp-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

#kp-booking-app .kp-header h2 { margin-bottom: 0; }
#kp-booking-app .kp-service-selector { margin-bottom: 20px; }
#kp-booking-app .kp-service-selector > div {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

#kp-booking-app table#kp_bookings_table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    margin-top: 10px;
    color: #eee;
}
#kp-booking-app table#kp_bookings_table th,
#kp-booking-app table#kp_bookings_table td {
    border: 1px solid #444;
    padding: 8px 12px;
    text-align: left;
    vertical-align: middle;
}
#kp-booking-app table#kp_bookings_table th { background: #333; color: #fff; }
#kp-booking-app table#kp_bookings_table td { background: #222; }
#kp-booking-app .kp-booking-actions-cell { white-space: nowrap; }
#kp-booking-app .kp-booking-actions-cell .kp-btn { min-height: 34px; padding: 6px 10px; margin: 2px; font-size: 12px; }

#kp-booking-app .kp-calendar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
    margin-top: 15px;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff !important;
    color: #333 !important;
}

#kp-booking-app .kp-cal-day {
    flex: 1 1 60px;
    min-width: 60px;
    min-height: 64px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 10px;
    border-radius: 5px;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
}
#kp-booking-app .kp-cal-day strong,
#kp-booking-app .kp-cal-day span { display: block; }
#kp-booking-app .kp-cal-day-green { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
#kp-booking-app .kp-cal-day-red { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
#kp-booking-app .kp-cal-day-target { outline: 2px solid #999; outline-offset: 1px; }
#kp-booking-app .kp-cal-empty { width: 100%; color: #333; }
#kp-booking-app #kp_booking_msg { color: #fff; font-size: 16px; font-weight: 700; }

/* Mobile admin shortcode */
.kp-mobile-admin {
    box-sizing: border-box;
    max-width: 980px;
    margin: 24px auto;
    padding: 16px;
    color: #1f2933;
    font-family: Inter, Roboto, Arial, sans-serif;
}
.kp-mobile-admin *,
.kp-mobile-admin *::before,
.kp-mobile-admin *::after { box-sizing: border-box; }
.kp-mobile-admin__header { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:16px; }
.kp-mobile-admin__header h2,
.kp-mobile-admin-notice h2 { margin:0 0 6px; color:#111827; font-size:26px; line-height:1.2; }
.kp-mobile-admin__header p,
.kp-mobile-admin-notice p { margin:0; color:#5f6b7a; }
.kp-mobile-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:16px 0; }
.kp-mobile-tabs a,
.kp-mobile-button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:8px 12px; border:1px solid #cfd7df; border-radius:6px; background:#fff; color:#1f2933; text-decoration:none; font-size:14px; font-weight:700; line-height:1.2; cursor:pointer; }
.kp-mobile-tabs a.is-active,
.kp-mobile-button-primary { background:#1f6fb2; border-color:#1f6fb2; color:#fff; }
.kp-mobile-panel,
.kp-mobile-admin-notice { background:#f6f8fa; border:1px solid #d9e1e8; border-radius:8px; padding:14px; }
.kp-mobile-filter { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; align-items:end; margin-bottom:14px; }
.kp-mobile-filter-single { grid-template-columns:minmax(0,1fr) 140px; }
.kp-mobile-filter label span { display:block; margin-bottom:4px; color:#243447; font-size:14px; font-weight:700; }
.kp-mobile-filter select,
.kp-mobile-filter input[type="search"],
.kp-mobile-filter button { width:100%; min-height:42px; }
.kp-mobile-filter select,
.kp-mobile-filter input[type="search"] { border:1px solid #cfd7df; border-radius:6px; background:#fff; color:#1f2933; padding:8px 10px; font-size:16px; }
.kp-mobile-card-list,
.kp-mobile-calendar-list { display:grid; gap:10px; }
.kp-mobile-search-results { display:grid; gap:8px; margin-bottom:14px; }
.kp-mobile-result { display:grid; gap:2px; padding:12px; border:1px solid #d9e1e8; border-radius:8px; background:#fff; color:#1f2933; text-decoration:none; }
.kp-mobile-result:hover,
.kp-mobile-result.is-active { border-color:#1f6fb2; background:#eef6fd; }
.kp-mobile-result strong { color:#111827; font-size:16px; }
.kp-mobile-result span { color:#64748b; font-size:13px; overflow-wrap:anywhere; }
.kp-mobile-selected-dog { margin-top:14px; }
.kp-mobile-card,
.kp-mobile-day,
.kp-mobile-empty { background:#fff; border:1px solid #d9e1e8; border-radius:8px; padding:14px; }
.kp-mobile-card__top { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:10px; }
.kp-mobile-card h3 { margin:0; color:#111827; font-size:18px; line-height:1.25; }
.kp-mobile-card dl,
.kp-mobile-day dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; margin:0; }
.kp-mobile-card dl div,
.kp-mobile-day dl div { min-width:0; }
.kp-mobile-card dt,
.kp-mobile-day dt { color:#64748b; font-size:12px; font-weight:800; margin-bottom:2px; text-transform:uppercase; }
.kp-mobile-card dd,
.kp-mobile-day dd { margin:0; color:#1f2933; overflow-wrap:anywhere; }
.kp-mobile-status,
.kp-mobile-badge,
.kp-mobile-day span { display:inline-flex; align-items:center; border-radius:999px; padding:4px 8px; background:#eef2f6; color:#1f2933; font-size:12px; font-weight:800; text-transform:capitalize; white-space:nowrap; }
.kp-status-confirmed { background:#e9f8ed; color:#137333; }
.kp-status-cancelled { background:#fdecec; color:#b3261e; }
.kp-mobile-month-nav { display:grid; grid-template-columns:90px 1fr 90px; gap:8px; align-items:center; margin:4px 0 14px; text-align:center; }
.kp-mobile-month-nav strong { color:#111827; }
.kp-mobile-day { display:grid; grid-template-columns:minmax(112px,.8fr) 1.2fr; gap:12px; align-items:center; }
.kp-mobile-day > div:first-child { display:grid; gap:6px; }
.kp-mobile-day.is-blocked { border-color:#d63638; background:#fff7f7; }
.kp-mobile-day.is-blocked span { background:#fdecec; color:#b3261e; }

@media (max-width: 782px) {
    #kp-booking-app { margin:20px auto; padding:14px; }
    #kp-booking-app .kp-header { align-items:flex-start; flex-direction:column; }
    #kp-booking-app .kp-card { padding:15px; }
    #kp-booking-app table#kp_bookings_table { display:block; overflow-x:auto; white-space:nowrap; }
    .kp-mobile-admin { margin:0 auto; padding:12px; }
    .kp-mobile-tabs,
    .kp-mobile-filter,
    .kp-mobile-filter-single { grid-template-columns:1fr; }
    .kp-mobile-tabs { position:sticky; top:0; z-index:10; background:#fff; padding:8px 0; }
    .kp-mobile-card dl,
    .kp-mobile-day,
    .kp-mobile-day dl { grid-template-columns:1fr; }
    .kp-mobile-month-nav { grid-template-columns:76px 1fr 76px; }
    .kp-mobile-month-nav .kp-mobile-button { padding-inline:6px; }
}
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}.site-header{position:static;background:var(--color-bg-soft);padding-inline:1rem}.navigation-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:1rem 0;position:relative;z-index:60}.nav-link-button,.nav-brand-button{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}.burger-menu{display:inline-flex;align-items:center;justify-content:center;width:2.65rem;height:2.65rem;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1.35rem;cursor:pointer;color:var(--color-text-strong);box-shadow:0 8px 24px var(--color-shadow);transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease}.burger-menu:hover,.burger-menu.open{background:var(--color-accent-soft);border-color:rgba(184,92,42,.22);color:var(--color-accent);transform:translateY(-1px)}.burger-menu:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}.site-title{margin:0;font-family:Bitter,serif;color:var(--color-text-strong);line-height:1}.site-title-mobile{justify-self:center;font-size:1.8rem;font-weight:600;text-decoration:none}.site-logo{width:auto;display:block;flex-shrink:0}.site-logo-mobile{justify-self:end;height:2.55rem}.site-logo-link-mobile{justify-self:end;display:inline-flex;align-items:center}.brand-desktop{display:none;text-decoration:none;color:inherit}.site-logo-desktop{height:4rem}.site-title-desktop{font-size:2.2rem;font-weight:600}.mobile-menu{display:flex;flex-direction:column;position:fixed;top:var(--nav-h, 60px);left:0;right:0;bottom:0;z-index:40;padding:1rem;background:#11182747;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform:translate(-100%);transition:transform .3s ease-in-out;pointer-events:none}.mobile-menu.open{transform:translate(0);pointer-events:auto}.mobile-menu ul{list-style:none;padding:1rem;margin:0;display:flex;flex-direction:column;gap:.3rem;border-radius:var(--radius-lg);background:#ffffffeb;box-shadow:0 18px 50px #10182824}.mobile-menu a,.mobile-menu .nav-link-button{display:block;width:100%;text-align:left;padding:.85rem .9rem;border-radius:var(--radius-md);font-size:1.05rem;font-weight:700;text-decoration:none;color:var(--color-text-strong);transition:background .12s ease,color .12s ease,transform .12s ease}.mobile-menu a:hover,.mobile-menu .nav-link-button:hover{background:var(--color-accent-soft);color:var(--color-accent);transform:translate(2px)}.desktop-nav{display:none;list-style:none;margin:0;padding:0;gap:1.25rem;justify-self:end;align-items:center}.desktop-nav a,.desktop-nav .nav-link-button{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .7rem;border-radius:var(--radius-sm);font-size:1.4rem;text-decoration:none;font-weight:700;color:var(--color-text-strong);transition:background .12s ease,color .12s ease,transform .12s ease}.desktop-nav a:hover,.desktop-nav .nav-link-button:hover{background:var(--color-accent-soft);color:var(--color-accent);transform:translateY(-1px)}.language-switcher{display:inline-flex;align-items:center;gap:.4rem}.language-button{padding:.35rem .65rem;border-radius:var(--radius-sm);border:1px solid transparent;background:#0000000a;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--color-text-muted);transition:all .15s ease}.language-button:hover{background:var(--color-accent-soft);color:var(--color-accent)}.language-button.is-active{background:var(--color-accent-soft);border-color:rgba(184,92,42,.25);color:var(--color-accent);font-weight:700}.language-divider{opacity:.5;font-size:.8rem;color:var(--color-text-muted)}.language-switcher-desktop{display:none}.mobile-menu .language-switcher-mobile{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:#ffffffeb;box-shadow:0 18px 50px #10182824}.mobile-menu .language-switcher-mobile+ul{border-radius:0 0 var(--radius-lg) var(--radius-lg);padding-top:.5rem}@media(min-width:768px)and (max-width:1024px){.site-header{padding-inline:1.5rem}.navigation-bar{padding:1rem 0 0}.site-logo-mobile{height:3rem}.mobile-menu{top:calc(var(--nav-h, 60px) + 1.5rem);left:1.5rem;right:auto;bottom:1.5rem;width:300px;padding:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transform:translate(calc(-100% - 1.5rem))}.mobile-menu.open{transform:translate(0)}.mobile-menu ul{flex:1;min-height:0;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.mobile-menu .language-switcher-mobile+ul{border-radius:0 0 0 var(--radius-lg)}.mobile-menu .language-switcher-mobile{border-radius:var(--radius-lg) 0 0 0}}@media(min-width:1024px)and (max-width:1180px){.site-header{padding-inline:2rem}.navigation-bar{padding:1.25rem 0 0}.site-logo-mobile{height:3rem}.mobile-menu{top:calc(var(--nav-h, 60px) + 2rem);left:2rem;right:auto;bottom:2rem;width:330px;padding:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transform:translate(calc(-100% - 2rem))}.mobile-menu.open{transform:translate(0)}.mobile-menu ul{flex:1;min-height:0;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.mobile-menu .language-switcher-mobile+ul{border-radius:0 0 0 var(--radius-lg)}.mobile-menu .language-switcher-mobile{border-radius:var(--radius-lg) 0 0 0}}@media(min-width:1180px){.site-header{padding-inline:3rem}.navigation-bar{grid-template-columns:auto 1fr auto;padding:1.5rem 0 0}.burger-menu,.site-title-mobile,.site-logo-link-mobile,.site-logo-mobile{display:none}.brand-desktop{display:inline-flex;align-items:center;gap:.55rem;justify-self:start}.mobile-menu{display:none}.desktop-nav{display:flex;gap:.55rem;flex-wrap:nowrap}.desktop-nav a,.desktop-nav .nav-link-button{padding:.35rem .55rem;font-size:1.02rem}.site-logo-desktop{height:3.2rem}.site-title-desktop{font-size:1.9rem}.language-switcher-mobile{display:none}.language-switcher-desktop{display:flex;margin-left:1rem;justify-self:end}}@media(min-width:1400px){.site-header{padding-inline:4rem}}.hero{display:flex;min-height:calc(100svh - var(--nav-h, 60px));background:var(--color-bg-soft);box-sizing:border-box}.hero-bg{position:relative;display:flex;flex:1;width:100%;min-height:100%;align-items:flex-end;overflow:hidden;background:var(--color-surface)}.hero-image,.hero-skeleton{position:absolute;inset:0;width:100%;height:100%}.hero-image{display:block;object-fit:cover;object-position:60% center}.hero-skeleton{background:#11182714}.hero-skeleton-shimmer{display:block;width:100%;height:100%;background:linear-gradient(90deg,#1118270a,#ffffff6b,#1118270a);background-size:200% 100%;animation:heroShimmer 1.4s linear infinite}@keyframes heroShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.hero-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to right,#1118279e,#1118272e),linear-gradient(to top,#11182761,#11182705)}.hero-content{position:relative;z-index:2;display:flex;width:100%;flex-direction:column;align-items:center;gap:.7rem;padding:0 1.25rem 6rem;text-align:center;color:var(--color-white);text-shadow:0 2px 16px rgba(17,24,39,.38)}.hero-content h2{margin:0;max-width:18ch;font-size:clamp(2.5rem,12vw,3.2rem);line-height:1.04;font-weight:700;letter-spacing:-.035em}.hero-content p{margin:0;max-width:38ch;font-size:1.15rem;line-height:1.5;font-weight:550;opacity:.96}.hero-actions{display:flex;width:100%;flex-direction:column;gap:.75rem;margin-top:1.05rem}.hero-contact,.hero-cta{display:inline-flex;width:100%;align-items:center;justify-content:center;gap:.6rem;padding:.9rem 1.1rem;border-radius:var(--radius-md);text-decoration:none;font-size:1.05rem;font-weight:750;line-height:1;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease,box-shadow .12s ease}.hero-cta{color:var(--color-white);border:1px solid var(--color-accent);background:var(--color-accent);box-shadow:0 12px 28px rgba(184,92,42,.22)}.hero-cta:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark);transform:translateY(-1px)}.hero-contact{color:var(--color-white);border:1px solid rgba(255,255,255,.5);background:#ffffff14;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.hero-contact:hover{background:#ffffff29;border-color:#ffffffbf;transform:translateY(-1px)}.hero-contact:active,.hero-cta:active{transform:translateY(0)}.hero-contact:focus-visible,.hero-cta:focus-visible{outline:none;box-shadow:0 0 0 3px #ffffff3d}@media(min-width:768px){.hero{padding:1.5rem}.hero-bg{border-radius:var(--radius-lg);box-shadow:0 10px 30px var(--color-shadow)}.hero-image{object-position:40% center}.hero-content{align-items:flex-start;padding:0 2rem 10rem;text-align:left}.hero-content h2{max-width:14ch;font-size:clamp(4rem,8vw,5rem)}.hero-content p{font-size:1.25rem}.hero-actions{width:auto;flex-direction:row;flex-wrap:wrap;align-items:center}.hero-contact,.hero-cta{width:auto;min-width:210px;font-size:1.15rem;padding:.9rem 1.25rem;border-radius:14px}}@media(min-width:1024px){.hero{padding:2rem}.hero-image{object-position:center}.hero-content{min-height:100%;justify-content:center;align-items:flex-start;padding:0 0 0 4rem;text-align:left}.hero-content h2{max-width:13ch;font-size:clamp(4.2rem,6vw,5.4rem)}.hero-content p{font-size:1.35rem}.hero-contact,.hero-cta{font-size:1.2rem;padding:.95rem 1.4rem;gap:.7rem}}@media(min-width:1440px){.hero-content h2{max-width:14ch;font-size:clamp(5.6rem,6vw,6.8rem)}.hero-contact,.hero-cta{font-size:1.3rem;padding:1rem 1.5rem}}.stats{padding:4rem 1rem;background:var(--color-bg-alt)}.stats-inner{max-width:1100px;margin:0 auto}.stats-heading{margin:0 0 3rem;text-align:center;font-size:2rem;font-weight:700;line-height:1.15;color:var(--color-text-strong)}.stats-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr}.stat-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.7rem;padding:2rem 1rem;transition:transform .15s ease}.stat-card:hover{transform:translateY(-2px)}.stat-card+.stat-card{border-top:1px solid var(--color-border)}.stat-icon{font-size:1.5rem;color:var(--color-accent);opacity:.9}.stat-number{font-size:2.5rem;font-weight:750;line-height:1;letter-spacing:-.02em;color:var(--color-text-strong)}.stat-label{font-size:1.05rem;font-weight:500;line-height:1.45;color:var(--color-text-muted)}@media(min-width:768px){.stats{padding:5rem 1.5rem}.stats-heading{font-size:2.4rem;margin-bottom:4rem}.stats-grid{grid-template-columns:repeat(3,1fr)}.stat-card{padding:2.5rem 1.5rem}.stat-card+.stat-card{border-top:none;border-left:1px solid var(--color-border)}.stat-number{font-size:3rem}.stat-label{font-size:1.1rem}}@media(min-width:1024px){.stats{padding:6rem 2rem}.stat-card{padding:3rem 2rem}.stat-number{font-size:3.3rem}.stat-label{font-size:1.15rem}}.intro-quote{padding:3.5rem 1.25rem;background:var(--color-bg-soft)}.intro-quote-inner{max-width:900px;margin:0 auto;text-align:center}.intro-quote-text{position:relative;margin:0;font-size:1.25rem;line-height:1.85;font-weight:550;color:var(--color-text);max-width:52ch;margin-inline:auto}.intro-quote-text:before,.intro-quote-text:after{content:"“";position:absolute;font-size:4.5rem;line-height:1;pointer-events:none;color:var(--color-accent-soft)}.intro-quote-text:before{left:-1.2rem;top:0;transform:translateY(-55%)}.intro-quote-text:after{right:-1.2rem;top:100%;transform:translateY(-45%) rotate(180deg)}.intro-quote-inner:after{content:"";display:block;width:60px;height:3px;margin:1.75rem auto 0;border-radius:999px;background:var(--color-accent);opacity:.9}@media(min-width:768px){.intro-quote{padding:4.5rem 2rem}.intro-quote-text{font-size:1.5rem}.intro-quote-text:before,.intro-quote-text:after{font-size:6rem}}.locations,.locations *{box-sizing:border-box}.locations{padding:3.5rem 1.25rem;background:var(--color-bg-blue);overflow-x:hidden}.locations-inner{max-width:1100px;margin:0 auto;min-width:0}.locations-header{text-align:center;margin-bottom:1.75rem}.locations-title{margin:0 0 .6rem;font-size:1.9rem;font-weight:650;line-height:1.15;color:var(--color-text)}.locations-lead{margin:0 auto;max-width:60ch;line-height:1.7;font-weight:500;color:var(--color-text-muted)}.locations-tabs{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-bottom:1.25rem}.locations-tab{max-width:100%;border:1px solid var(--color-border);background:#ffffffc7;color:var(--color-text);font-weight:650;border-radius:999px;padding:.6rem .9rem;cursor:pointer;overflow-wrap:anywhere;transition:background .12s ease,color .12s ease,transform .12s ease,border-color .12s ease,box-shadow .12s ease}.locations-tab:hover{transform:translateY(-1px);background:#fffffff2;border-color:rgba(184,92,42,.22)}.locations-tab:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}.locations-tab.is-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-white)}.locations-panel{display:grid;grid-template-columns:1fr;gap:1rem;min-width:0;padding:1rem;border-radius:var(--radius-lg);background:#ffffffc2;box-shadow:0 10px 30px var(--color-shadow)}.locations-bento{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem;min-width:0}.bento-tile{position:relative;min-width:0;overflow:hidden;border-radius:16px;background:#1118270f;box-shadow:0 8px 22px #1018280a}.bento-tile img{display:block;width:100%;height:100%;min-width:0;object-fit:cover;object-position:center;transition:transform .25s ease}.bento-tile:hover img{transform:scale(1.035)}.bento-big{grid-column:1 / -1;aspect-ratio:16 / 9}.bento-small{aspect-ratio:1 / 1}.bento-skeleton{background:#11182714}.bento-skeleton-shimmer{display:block;width:100%;height:100%;background:linear-gradient(90deg,#1118270a,#ffffff6b,#1118270a);background-size:200% 100%;animation:locationsShimmer 1.4s linear infinite}@keyframes locationsShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.locations-info{display:grid;gap:1rem;min-width:0}.locations-info-head{display:grid;gap:.6rem;min-width:0}.locations-name-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;min-width:0}.locations-name{min-width:0;margin:0;font-size:1.35rem;font-weight:750;color:var(--color-text-strong);letter-spacing:-.01em;overflow-wrap:anywhere}.locations-city{min-width:0;color:var(--color-text-muted);font-weight:650;font-size:.95rem;overflow-wrap:anywhere}.locations-summary{min-width:0;margin:0;color:var(--color-text-muted);line-height:1.65;font-weight:500;overflow-wrap:anywhere}.locations-badges{display:flex;flex-wrap:wrap;gap:.35rem;min-width:0}.locations-badge{max-width:100%;font-size:.85rem;padding:.28rem .58rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent-dark);border:1px solid rgba(184,92,42,.12);font-weight:650;overflow-wrap:anywhere}.locations-info-grid{display:grid;grid-template-columns:1fr;gap:1rem;min-width:0}.info-block{min-width:0;padding:.95rem;border-radius:14px;background:#ffffffb8;border:1px solid rgba(31,41,55,.06)}.info-block-full{grid-column:1 / -1}.info-title{display:inline-flex;align-items:center;gap:.55rem;max-width:100%;margin:0 0 .6rem;font-size:1rem;font-weight:700;color:var(--color-text-strong);overflow-wrap:anywhere}.info-title svg{color:var(--color-accent)}.hours-list,.contact-list,.highlights{list-style:none;display:grid;gap:.5rem;margin:0;padding:0;min-width:0}.hours-row{display:flex;justify-content:space-between;gap:1rem;min-width:0;padding:.55rem .7rem;border-radius:var(--radius-md);background:#f4f6f8b3}.hours-label{min-width:0;color:var(--color-text-muted);font-weight:650;overflow-wrap:anywhere}.hours-value{min-width:0;color:var(--color-text-strong);font-weight:750;overflow-wrap:anywhere}.contact-muted{min-width:0;color:var(--color-text-muted);line-height:1.55;overflow-wrap:anywhere}.contact-link{display:inline-flex;align-items:center;gap:.6rem;max-width:100%;min-width:0;text-decoration:none;color:var(--color-text-strong);font-weight:700;overflow-wrap:anywhere}.contact-link svg{color:var(--color-accent)}.contact-link:hover{color:var(--color-accent);text-decoration:underline}.map-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;max-width:100%;min-width:0;margin-top:.75rem;padding:.7rem .95rem;border-radius:var(--radius-md);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-white);text-decoration:none;font-weight:750;overflow-wrap:anywhere;transition:background .12s ease,border-color .12s ease,transform .12s ease,box-shadow .12s ease}.map-button:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark);transform:translateY(-1px);box-shadow:0 10px 24px rgba(184,92,42,.18)}.map-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}.highlight{min-width:0;padding:.6rem .75rem;border-radius:var(--radius-md);background:#f4f6f8b8;color:var(--color-text-muted);font-weight:650;overflow-wrap:anywhere}@media(max-width:360px){.locations{padding-inline:1rem}.locations-panel{padding:.85rem}.locations-name-row{display:grid;gap:.25rem}.hours-row{display:grid;gap:.2rem}.contact-link,.map-button{width:100%}.map-button{justify-content:center}}@media(min-width:768px){.locations{padding:4.5rem 1.5rem}.locations-title{font-size:2.4rem}.locations-panel{padding:1.25rem;gap:1.25rem}.locations-info-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(min-width:1024px){.locations{padding:5rem 2rem}.locations-panel{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;padding:1.5rem;gap:1.5rem}.locations-name{font-size:1.55rem}}.pricing{padding:3.5rem 1.25rem;background:var(--color-bg-soft)}.pricing-inner{max-width:1100px;margin:0 auto}.pricing-header{text-align:center;margin-bottom:1.75rem}.pricing-title{margin:0 0 .6rem;font-size:1.9rem;font-weight:650;line-height:1.15;color:var(--color-text)}.pricing-lead{margin:0 auto;max-width:60ch;line-height:1.7;font-weight:500;color:var(--color-text-muted)}.pricing-tabs{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-bottom:1.25rem}.pricing-tab{border:1px solid var(--color-border);background:#ffffffd9;color:var(--color-text);font-weight:650;border-radius:999px;padding:.6rem .95rem;cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease,border-color .12s ease,box-shadow .12s ease}.pricing-tab:hover{transform:translateY(-1px);background:#fff;border-color:rgba(184,92,42,.22)}.pricing-tab:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}.pricing-tab.is-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-white)}.pricing-panel{margin-bottom:1.25rem}.pricing-panel-main{display:grid;grid-template-columns:1fr;gap:1rem;padding:1rem;border-radius:var(--radius-lg);background:#ffffffc7;box-shadow:0 10px 30px var(--color-shadow);align-items:start}.pricing-offer{padding:1rem;border-radius:16px;background:#f4f6f8d9;display:flex;flex-direction:column;border:1px solid rgba(31,41,55,.06)}.pricing-service{margin:0 0 .5rem;font-size:1rem;font-weight:650;color:var(--color-text-muted)}.pricing-price-wrap{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.pricing-price{font-size:2.7rem;font-weight:750;line-height:1;letter-spacing:-.03em;color:var(--color-text-strong)}.pricing-unit{font-size:1rem;font-weight:650;color:var(--color-text-muted)}.pricing-hours{margin:1rem 0 0;display:inline-flex;align-items:center;gap:.6rem;font-weight:650;color:var(--color-text-strong)}.pricing-hours svg{color:var(--color-accent)}.pricing-summary{margin:1rem 0 0;line-height:1.7;color:var(--color-text-muted)}.pricing-includes{margin-top:1.5rem;display:grid;gap:.55rem}.pricing-includes .pricing-block-title{margin-bottom:.65rem}.pricing-booking-button{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:1rem;padding:.9rem 1.15rem;border-radius:var(--radius-md);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-white);font:inherit;font-weight:750;line-height:1;text-decoration:none;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}.pricing-booking-button:hover{transform:translateY(-1px);background:var(--color-accent-dark);border-color:var(--color-accent-dark);box-shadow:0 10px 24px rgba(184,92,42,.18)}.pricing-booking-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}.pricing-side{display:grid;gap:1rem}.pricing-block{padding:1rem;border-radius:16px;background:#f4f6f8d9;border:1px solid rgba(31,41,55,.06)}.pricing-block-title{margin:0 0 .75rem;display:inline-flex;align-items:center;gap:.6rem;font-size:1rem;font-weight:700;color:var(--color-text-strong)}.pricing-block-title svg{color:var(--color-accent)}.pricing-list{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}.pricing-list li{line-height:1.6;color:var(--color-text-muted)}.season-card{margin-top:2rem;padding:1.4rem;border-radius:var(--radius-lg);background:#ffffffc7;border:1px solid rgba(31,41,55,.08);box-shadow:0 10px 30px var(--color-shadow)}.season-card-header{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start;margin-bottom:1rem}.season-badge{font-size:1.2rem;font-weight:750;letter-spacing:-.02em;padding:.4rem .65rem;border-radius:var(--radius-sm);background:var(--color-accent-soft);color:var(--color-accent-dark)}.season-header-text{display:flex;flex-direction:column;gap:.25rem}.season-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--color-text-strong)}.season-description{margin:0;line-height:1.6;color:var(--color-text-muted)}.season-tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.45rem}.season-tag{padding:.4rem .65rem;border-radius:999px;background:#f4f6f8d9;border:1px solid var(--color-border);font-size:.9rem;font-weight:600;color:var(--color-text)}@media(min-width:768px){.pricing{padding:4.5rem 1.5rem}.pricing-title{font-size:2.4rem}.pricing-panel-main{padding:1.25rem}.pricing-price{font-size:3.2rem}.season-card-header{flex-direction:row;gap:1rem}.season-badge{font-size:1.4rem;padding:.45rem .7rem}.pricing-booking-button{width:auto;min-width:220px}}@media(min-width:1024px){.pricing{padding:5rem 2rem}.pricing-panel-main{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:1.25rem;align-items:start}.pricing-offer,.pricing-block{height:100%}.pricing-side{display:flex;flex-direction:column;gap:1.25rem}}.process{padding:3rem 1.25rem;background:var(--color-bg)}.process-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:1.25rem}.process-media{width:100%;max-width:425px;min-height:380px;margin:0 auto;border-radius:var(--radius-lg);overflow:hidden;background:#ffffffb3;box-shadow:0 10px 30px var(--color-shadow)}.process-image{width:100%;height:100%;min-height:380px;display:block;object-fit:cover;object-position:center}.process-content{display:grid;gap:1.25rem}.process-header{display:grid;gap:.55rem}.process-title{margin:0;font-size:1.9rem;font-weight:650;line-height:1.15;color:var(--color-text)}.process-lead{margin:0;max-width:56ch;line-height:1.65;font-weight:500;color:var(--color-text-muted)}.process-steps{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}.process-step{display:grid;grid-template-columns:auto 1fr;gap:.95rem;align-items:start;padding-top:.85rem;border-top:1px solid var(--color-border)}.process-step:first-child{padding-top:0;border-top:none}.process-number{font-size:1.9rem;line-height:1;font-weight:750;letter-spacing:-.03em;color:var(--color-accent-soft);min-width:2.2rem}.process-step-text{display:grid;gap:.25rem}.process-step-title{margin:0;font-size:1.05rem;font-weight:700;line-height:1.3;color:var(--color-text-strong)}.process-step-description{margin:0;line-height:1.6;color:var(--color-text-muted)}.process-cta{display:inline-flex;align-items:center;justify-content:center;justify-self:start;width:100%;margin-top:.9rem;padding:.9rem 1.15rem;border-radius:var(--radius-md);text-decoration:none;font-weight:750;line-height:1;color:var(--color-white);background:var(--color-accent);border:1px solid var(--color-accent);transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}.process-cta:hover{transform:translateY(-1px);background:var(--color-accent-dark);border-color:var(--color-accent-dark);box-shadow:0 10px 24px rgba(184,92,42,.18)}.process-cta:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}.process-skeleton{width:100%;height:100%;min-height:inherit;background:#11182714}.process-skeleton-shimmer{width:100%;height:100%;min-height:inherit;display:block;background:linear-gradient(90deg,#1118270a,#ffffff6b,#1118270a);background-size:200% 100%;animation:processShimmer 1.4s linear infinite}@keyframes processShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(min-width:768px){.process{padding:3.5rem 1.5rem}.process-inner{grid-template-columns:minmax(280px,320px) 1fr;gap:1.25rem;align-items:flex-start}.process-media{max-width:320px;margin:0}.process-title{font-size:2.25rem}.process-number{font-size:2.15rem}.process-cta{width:auto;min-width:220px}}@media(min-width:1024px){.process{padding:4rem 2rem}.process-inner{grid-template-columns:minmax(300px,360px) 1fr;gap:1.5rem}.process-media{max-width:360px;min-height:420px}.process-title{font-size:2.4rem}.process-number{font-size:2.3rem}}.monthly-plans{padding:3.5rem 1.25rem;background:var(--color-bg-blue)}.monthly-plans-inner{max-width:1100px;margin:0 auto}.monthly-plans-header{text-align:center;margin-bottom:1.75rem}.monthly-plans-title{margin:0 0 .6rem;font-size:1.9rem;font-weight:650;line-height:1.15;color:var(--color-text)}.monthly-plans-lead{margin:0 auto;max-width:60ch;line-height:1.7;font-weight:500;color:var(--color-text-muted)}.monthly-plans-grid{display:grid;grid-template-columns:1fr;gap:1rem}.monthly-plan-card{display:flex;flex-direction:column;width:100%;max-width:none;gap:.85rem;padding:1.25rem;border-radius:var(--radius-lg);background:#ffffffc2;border:1px solid rgba(31,41,55,.06);box-shadow:0 10px 30px var(--color-shadow)}.monthly-plan-card.is-featured{background:var(--color-white);border:1px solid rgba(184,92,42,.2);box-shadow:0 16px 38px rgba(184,92,42,.12)}.monthly-plan-name{margin:0;font-size:1.2rem;font-weight:700;color:var(--color-text-strong)}.monthly-plan-price{font-size:2.3rem;font-weight:750;letter-spacing:-.03em;color:var(--color-text-strong)}.monthly-plan-rate{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text-muted)}.monthly-plan-details{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.5rem}.monthly-plan-details li{font-size:.95rem;line-height:1.6;color:var(--color-text-muted)}.monthly-plan-button{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.9rem 1.05rem;border-radius:var(--radius-md);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-white);text-decoration:none;font:inherit;font-weight:750;line-height:1;transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}.monthly-plan-button:hover{transform:translateY(-1px);background:var(--color-accent-dark);border-color:var(--color-accent-dark);box-shadow:0 10px 24px rgba(184,92,42,.18)}.monthly-plan-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}.monthly-plans-note{margin-top:1.5rem;padding:1.2rem;border-radius:var(--radius-lg);background:#ffffffc2;border:1px solid rgba(31,41,55,.08);box-shadow:0 10px 30px var(--color-shadow)}.monthly-plans-note-title{margin:0 0 .65rem;font-size:1rem;font-weight:700;color:var(--color-text-strong)}.monthly-plans-note-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.monthly-plans-note-list li{font-size:.95rem;line-height:1.6;color:var(--color-text-muted)}@media(min-width:426px){.monthly-plans-grid{grid-template-columns:minmax(0,320px);justify-content:center}.monthly-plan-card{max-width:320px}}@media(min-width:768px){.monthly-plans{padding:4.5rem 1.5rem}.monthly-plans-title{font-size:2.4rem}.monthly-plans-grid{display:flex;justify-content:center;gap:1.25rem;flex-wrap:wrap}.monthly-plan-card{flex:1 1 260px;max-width:340px;padding:1.4rem}.monthly-plan-price{font-size:2.6rem}.monthly-plan-button{width:auto;min-width:180px}}@media(min-width:1024px){.monthly-plans{padding:5rem 2rem}.monthly-plan-card{padding:1.5rem}}.gallery{padding:3.5rem 1.25rem;background:var(--color-bg-soft)}.gallery-inner{max-width:1100px;margin:0 auto}.gallery-header{text-align:center;margin-bottom:1.75rem}.gallery-title{margin:0 0 .6rem;font-size:1.9rem;font-weight:650;line-height:1.15;color:var(--color-text)}.gallery-lead{margin:0 auto;max-width:60ch;line-height:1.7;font-weight:500;color:var(--color-text-muted)}.gallery-tabs{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-bottom:1.25rem}.gallery-tab{border:1px solid var(--color-border);background:var(--color-white);color:var(--color-text);font-weight:650;border-radius:999px;padding:.6rem .9rem;cursor:pointer;transition:background .12s ease,transform .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.gallery-tab:hover{transform:translateY(-1px);background:#fffffff2;border-color:rgba(184,92,42,.22)}.gallery-tab:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}.gallery-tab.is-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-white)}.gallery-panel{padding:1rem;border-radius:var(--radius-lg);background:var(--color-white);box-shadow:0 10px 30px var(--color-shadow)}.gallery-panel-head{text-align:center;margin-bottom:1rem}.gallery-location-name{margin:0 0 .35rem;font-size:1.35rem;font-weight:750;color:var(--color-text-strong);letter-spacing:-.01em}.gallery-location-text{margin:0 auto;max-width:60ch;color:var(--color-text-muted);line-height:1.65;font-weight:500}.gallery-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.gallery-bento{display:grid;grid-template-columns:1fr;gap:.75rem;margin-bottom:.75rem}.gallery-slot,.gallery-rest-tile{margin:0;border-radius:var(--radius-md);overflow:hidden;background:#1118270f;position:relative}.gallery-slot-1,.gallery-slot-2,.gallery-slot-3,.gallery-slot-4,.gallery-slot-5,.gallery-slot-6,.gallery-slot-7{grid-column:1 / -1;aspect-ratio:1 / 1}.gallery-rest-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.gallery-rest-tile{aspect-ratio:16 / 10}.gallery-tile--skeleton{background:#11182714}.gallery-skeleton-shimmer{width:100%;height:100%;background:linear-gradient(90deg,#1118270a,#ffffff6b,#1118270a);background-size:200% 100%;animation:galleryShimmer 1.4s linear infinite}@keyframes galleryShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(min-width:768px){.gallery-bento{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));aspect-ratio:3 / 4;gap:.8rem}.gallery-slot-1{grid-column:1 / span 2;grid-row:1;aspect-ratio:auto}.gallery-slot-2{grid-column:3;grid-row:1 / span 2;aspect-ratio:auto}.gallery-slot-3{grid-column:1;grid-row:2 / span 2;aspect-ratio:auto}.gallery-slot-4{grid-column:2;grid-row:2;aspect-ratio:auto}.gallery-slot-5{grid-column:2 / span 2;grid-row:3;aspect-ratio:auto}.gallery-slot-6{grid-column:1 / span 2;grid-row:4;aspect-ratio:auto}.gallery-slot-7{grid-column:3;grid-row:4;aspect-ratio:auto}}@media(min-width:1024px){.gallery{padding:5rem 2rem}.gallery-panel{padding:1.5rem}.gallery-location-name{font-size:1.65rem}.gallery-bento{gap:.9rem;margin-bottom:.9rem}.gallery-rest-grid{gap:.9rem}}.faq{padding:3.5rem 1.25rem;background:var(--color-bg-blue)}.faq-inner{max-width:1100px;margin:0 auto}.faq-header{text-align:center;margin-bottom:1.75rem}.faq-title{margin:0 0 .6rem;font-size:1.9rem;font-weight:650;line-height:1.15;color:var(--color-text)}.faq-lead{margin:0 auto;max-width:60ch;line-height:1.7;font-weight:500;color:var(--color-text-muted)}.faq-grid{display:grid;grid-template-columns:1fr;gap:.9rem}.faq-card{border-radius:var(--radius-lg);background:#ffffffc7;border:1px solid rgba(31,41,55,.06);box-shadow:0 10px 30px var(--color-shadow);overflow:hidden;transition:transform .22s ease,background .22s ease,opacity .22s ease,box-shadow .22s ease,filter .22s ease,border-color .22s ease}.faq-card.is-open{border-color:rgba(184,92,42,.18)}.faq-question{width:100%;border:none;background:transparent;padding:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;cursor:pointer;font:inherit;color:var(--color-text-strong);font-size:1.02rem;font-weight:700}.faq-question:hover{background:var(--color-accent-soft)}.faq-question:focus-visible{outline:none;box-shadow:inset 0 0 0 3px var(--color-accent-soft)}.faq-icon{flex-shrink:0;font-size:.95rem;color:var(--color-accent);transition:transform .2s ease}.faq-card.is-open .faq-icon{transform:rotate(180deg)}.faq-answer-wrap{display:grid;grid-template-rows:0fr;opacity:0;border-top:1px solid transparent;transition:grid-template-rows .28s ease,opacity .22s ease,border-color .22s ease}.faq-answer-wrap.is-open{grid-template-rows:1fr;opacity:1;border-top:1px solid var(--color-border)}.faq-answer{overflow:hidden;padding:0 1rem}.faq-answer-wrap.is-open .faq-answer{padding:.95rem 1rem 1rem}.faq-answer p{margin:0;color:var(--color-text-muted);line-height:1.65;font-weight:500}@media(min-width:768px){.faq{padding:4.5rem 1.5rem}.faq-title{font-size:2.4rem}.faq-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:stretch}.faq-question{cursor:default;padding:1.1rem 1.1rem .75rem;font-size:1.05rem}.faq-question:hover{background:transparent}.faq-answer-wrap{display:block;opacity:1;border-top:1px solid var(--color-border);transition:none}.faq-answer{overflow:visible;padding:0 1.1rem 1.1rem}.faq-grid:has(.faq-card:hover) .faq-card{opacity:.72;filter:saturate(.9);background:#ffffff94}.faq-grid:has(.faq-card:hover) .faq-card:hover{opacity:1;filter:none;transform:scale(1.02);background:var(--color-white);border-color:rgba(184,92,42,.16);box-shadow:0 16px 36px #1018281a}}@media(min-width:1024px){.faq{padding:5rem 2rem}.faq-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}}.contact{padding:3.5rem 1.25rem;background:var(--color-bg-soft)}.contact-inner{max-width:900px;margin:0 auto;display:grid;gap:1.15rem}.contact-header{text-align:center;display:grid;gap:.65rem}.contact-title{margin:0;font-size:1.95rem;font-weight:650;line-height:1.15;color:var(--color-text)}.contact-lead{margin:0 auto;max-width:60ch;line-height:1.7;font-weight:500;color:var(--color-text-muted)}.contact-details{display:grid;gap:.75rem;padding:1.15rem;border-radius:18px;background:var(--color-white);border:1px solid var(--color-border);box-shadow:0 14px 36px #10182817}.contact-detail{display:grid;grid-template-columns:1.2rem 1fr;align-items:start;gap:.8rem;text-decoration:none;color:var(--color-text);font-weight:500;line-height:1.6;transition:color .12s ease}.contact-detail svg{color:var(--color-accent)}.contact-detail:hover{color:var(--color-accent)}.contact-detail:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft);border-radius:8px}.contact-form-wrap{position:relative}.contact-success-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:1rem;border-radius:18px;background:#f4f6f8b8;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.contact-success-card{width:100%;max-width:540px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem;padding:1.25rem 1.15rem;border-radius:18px;background:var(--color-white);border:1px solid rgba(0,102,255,.18);box-shadow:0 10px 30px var(--color-shadow)}.contact-success-icon{display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent);font-size:1.4rem}.contact-success-content{display:grid;gap:.2rem}.contact-success-title{margin:0;font-size:1.08rem;font-weight:700;line-height:1.25;color:var(--color-text-strong)}.contact-success-text{margin:0;line-height:1.6;font-weight:500;color:var(--color-text-muted)}.contact-form{display:grid;gap:1rem;padding:1.15rem;border-radius:18px;background:var(--color-white);border:1px solid var(--color-border);box-shadow:0 14px 36px #10182817}.contact-fields{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}.contact-field{display:flex;flex-direction:column;gap:.55rem;min-width:0}.contact-field label{margin:0;font-size:.95rem;font-weight:650;line-height:1.45;color:var(--color-text)}.contact-field input,.contact-field textarea{width:100%;min-width:0;box-sizing:border-box;margin:0;border:1px solid var(--color-border);border-radius:12px;background:var(--color-white);padding:.9rem 1rem;font:inherit;line-height:1.5;color:var(--color-text-strong);transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#1f293773}.contact-field textarea{min-height:160px;resize:none}.contact-field input:focus,.contact-field textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);background-color:var(--color-white)}.contact-field--full{grid-column:1 / -1}.contact-message{margin:0;padding:.9rem 1rem;border-radius:12px;font-weight:500;line-height:1.5}.contact-message--error{background:#fdecea;border:1px solid #f5c2c0;color:#b42318}.contact-actions{display:flex;justify-content:flex-start}.contact-submit{width:100%;max-width:none;border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-white);font:inherit;font-weight:750;border-radius:12px;padding:.95rem 1.2rem;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}.contact-submit:hover{transform:translateY(-1px);background:var(--color-accent-dark);border-color:var(--color-accent-dark);box-shadow:0 10px 24px rgba(184,92,42,.18)}.contact-submit:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}.contact-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}@media(max-width:767px){.contact-success-card{grid-template-columns:1fr;text-align:center;justify-items:center}.contact-success-content{justify-items:center}}@media(min-width:768px){.contact{padding:4.5rem 1.5rem}.contact-title{font-size:2.35rem}.contact-details,.contact-form{padding:1.35rem}.contact-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-field--half{grid-column:span 1}.contact-field--full{grid-column:1 / -1}.contact-submit{width:auto;min-width:220px;max-width:none}.contact-success-card{padding:1.4rem 1.3rem}}@media(min-width:1024px){.contact{padding:5rem 2rem}.contact-title{font-size:2.55rem}.contact-details,.contact-form{padding:1.5rem}}.footer{padding:3rem 1.25rem 2rem;background:var(--color-bg);border-top:1px solid rgba(255,255,255,.08)}.footer-inner{max-width:1100px;margin:0 auto;display:grid;gap:2rem}.footer-brand{display:grid;gap:.9rem}.footer-logo{width:42px;height:auto;filter:brightness(0) invert(1)}.footer-description{max-width:32ch;margin:0;font-size:.95rem;line-height:1.6;color:#ffffffa6}.footer-socials{display:flex;gap:.75rem}.footer-social{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#ffffffeb;border:1px solid rgba(255,255,255,.9);color:var(--color-text-strong);font-size:1rem;text-decoration:none;transition:background .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease}.footer-social:hover{background:var(--color-accent);color:#fff;transform:translateY(-2px);box-shadow:0 8px 18px rgba(184,92,42,.35)}.footer-social:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}.footer-columns{display:grid;gap:1.5rem}.footer-column{display:grid;align-content:start;gap:.6rem}.footer-column button{background:none;border:none;padding:0;margin:0;font:inherit;color:#ffffffa6;cursor:pointer;text-align:left;transition:color .12s ease}.footer-column button:hover{color:var(--color-accent)}.footer-column h4{margin:0;font-size:.9rem;font-weight:700;color:#fff}.footer-column a{width:fit-content;font-size:.9rem;line-height:1.45;text-decoration:none;color:#ffffffa6;transition:color .12s ease}.footer-column a:hover{color:var(--color-accent)}.footer-column a:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft);border-radius:6px}.footer-bottom{max-width:1100px;margin:2.2rem auto 0;text-align:center;font-size:.85rem;color:#ffffff80}@media(min-width:768px){.footer{padding:4rem 1.5rem 2.5rem}.footer-inner{grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);align-items:start}.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem;row-gap:1.75rem}}@media(min-width:1024px){.footer{padding:4.5rem 2rem 2.5rem}.footer-inner{grid-template-columns:minmax(260px,.85fr) minmax(0,1.7fr);gap:3rem}}.scroll-top-btn{position:fixed;left:1.25rem;bottom:1.25rem;z-index:80;width:3rem;height:3rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-accent);border-radius:999px;background:var(--color-accent);color:var(--color-white);cursor:pointer;box-shadow:0 12px 28px rgba(184,92,42,.24);opacity:0;transform:translateY(12px) scale(.95);pointer-events:none;transition:opacity .25s ease,transform .25s ease,background .15s ease,box-shadow .15s ease}.scroll-top-btn.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.scroll-top-btn.show:hover{transform:translateY(-2px);background:var(--color-accent-dark);border-color:var(--color-accent-dark);box-shadow:0 16px 34px rgba(184,92,42,.28)}@media(min-width:768px){.scroll-top-btn{right:2rem;bottom:2rem;width:3.25rem;height:3.25rem}.scroll-top-btn svg{font-size:1.05rem}}.agreement{padding:3.5rem 1.25rem;background:var(--color-bg-soft)}.agreement--success{min-height:calc(100svh - var(--nav-h, 60px));display:flex;align-items:flex-start}.agreement-inner{max-width:1100px;margin:0 auto}.agreement-back{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.15rem;padding:.7rem 1rem;background:var(--color-white);border:1px solid var(--color-border);border-radius:12px;font:inherit;font-size:.95rem;font-weight:650;line-height:1;color:var(--color-text);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease}.agreement-back svg{font-size:.9rem}.agreement-back:hover{background:var(--color-white);border-color:rgba(184,92,42,.22);color:var(--color-accent);transform:translateY(-1px)}.agreement-back:active{transform:translateY(0)}.agreement-back:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}.agreement-header{text-align:center;margin-bottom:2rem}.agreement-title{margin:0 0 .85rem;font-size:1.95rem;font-weight:650;line-height:1.15;color:var(--color-text)}.agreement-lead{margin:0 auto;max-width:62ch;line-height:1.7;font-weight:500;color:var(--color-text-muted)}.agreement-form{display:grid;gap:1rem}.agreement-card{padding:1.15rem;border-radius:18px;background:var(--color-white);border:1px solid var(--color-border);box-shadow:0 14px 36px #10182817}.agreement-card-title{margin:0 0 1.35rem;font-size:1.14rem;font-weight:750;line-height:1.35;color:var(--color-text-strong)}.agreement-note{margin:0 0 1.25rem;color:var(--color-text-muted);line-height:1.65;font-weight:500}.agreement-fields{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}.field{display:flex;flex-direction:column;gap:.55rem;min-width:0}.field label{display:block;margin:0;font-size:.95rem;font-weight:650;line-height:1.45;color:var(--color-text)}.field input,.field textarea{width:100%;min-width:0;box-sizing:border-box;margin:0;border:1px solid var(--color-border);border-radius:12px;background:var(--color-white);padding:.9rem 1rem;font:inherit;line-height:1.5;color:var(--color-text-strong);transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.field input::placeholder,.field textarea::placeholder{color:#1f293773}.field textarea{min-height:150px;resize:none}.field input:focus,.field textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);background-color:var(--color-white)}.field--full{grid-column:1 / -1}.custom-select{position:relative;display:flex;flex-direction:column;gap:.55rem}.custom-select-label{display:block;font-size:.95rem;font-weight:650;line-height:1.45;color:var(--color-text)}.custom-select-button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-white);padding:.9rem 1rem;font:inherit;line-height:1.5;color:var(--color-text-strong);cursor:pointer;text-align:left}.custom-select-button:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.custom-select-placeholder{color:#1f293773}.custom-select-arrow{width:10px;height:10px;border-right:2px solid var(--color-accent);border-bottom:2px solid var(--color-accent);transform:rotate(45deg);transition:transform .18s ease}.custom-select-button.is-open .custom-select-arrow{transform:rotate(225deg)}.custom-select-menu{position:absolute;z-index:20;top:calc(100% + .4rem);left:0;right:0;display:grid;gap:.25rem;padding:.35rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-white);box-shadow:0 14px 34px #10182824}.custom-select-option{width:100%;border:0;border-radius:9px;background:transparent;padding:.8rem .85rem;font:inherit;color:var(--color-text-strong);text-align:left;cursor:pointer}.custom-select-option:hover,.custom-select-option:focus-visible{outline:none;background:var(--color-bg-soft)}.custom-select-option[aria-selected=true]{background:var(--color-accent);color:var(--color-white)}.custom-select-button.has-error{border-color:#b42318}.custom-select-error{margin:-.2rem 0 0;font-size:.85rem;color:#b42318}.checkbox-group{display:grid;gap:.95rem}.checkbox-row{display:grid;grid-template-columns:1.35rem 1fr;align-items:start;gap:.85rem;cursor:pointer;color:var(--color-text);line-height:1.55;font-weight:500}.checkbox-row span{display:block;padding-top:.02rem}.checkbox-row input{appearance:none;-webkit-appearance:none;-moz-appearance:none;position:relative;width:1.15rem;height:1.15rem;margin:.12rem 0 0;border:1.5px solid var(--color-border);border-radius:.4rem;background:var(--color-white);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .12s ease}.checkbox-row input:hover{border-color:var(--color-accent)}.checkbox-row input:checked{background:var(--color-accent);border-color:var(--color-accent)}.checkbox-row input:after{content:"";position:absolute;left:50%;top:45%;width:.3rem;height:.55rem;border-right:2px solid var(--color-white);border-bottom:2px solid var(--color-white);transform:translate(-50%,-50%) rotate(45deg) scale(0);transform-origin:center;transition:transform .14s ease}.checkbox-row input:checked:after{transform:translate(-50%,-50%) rotate(45deg) scale(1)}.checkbox-row input:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}.form-message{margin:0;padding:.9rem 1rem;border-radius:12px;font-weight:500;line-height:1.5}.form-message.error{background:#fdecea;border:1px solid #f5c2c0;color:#b42318}.agreement-actions{display:flex;justify-content:center;padding-top:.35rem}.agreement-submit{width:100%;max-width:260px;border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-white);font:inherit;font-weight:750;border-radius:12px;padding:.95rem 1.2rem;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}.agreement-submit:hover{transform:translateY(-1px);background:var(--color-accent-dark);border-color:var(--color-accent-dark);box-shadow:0 10px 24px rgba(184,92,42,.18)}.agreement-submit:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}.agreement-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}.agreement-success-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1.25rem;border-radius:20px;background:var(--color-white);border:1px solid var(--color-border);box-shadow:0 14px 36px #10182817}.agreement-success-icon{display:inline-flex;align-items:center;justify-content:center;width:4.25rem;height:4.25rem;margin-bottom:1rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent);font-size:2rem}.agreement-success-title{margin:0 0 .75rem;font-size:1.9rem;font-weight:700;line-height:1.15;color:var(--color-text)}.agreement-success-text{margin:0;max-width:52ch;line-height:1.7;font-weight:500;color:var(--color-text-muted)}.agreement-success-actions{margin-top:1.5rem}.agreement-success-button{display:inline-flex;align-items:center;justify-content:center;min-width:220px;padding:.95rem 1.2rem;border-radius:12px;border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-white);text-decoration:none;font-weight:750;transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}.agreement-success-button:hover{transform:translateY(-1px);background:var(--color-accent-dark);border-color:var(--color-accent-dark);box-shadow:0 10px 24px rgba(184,92,42,.18)}.agreement-success-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}@media(min-width:768px){.agreement{padding:4.5rem 1.5rem}.agreement-header{margin-bottom:2.2rem}.agreement-title{font-size:2.35rem}.agreement-form{gap:1.15rem}.agreement-card{padding:1.35rem}.agreement-card-title{margin-bottom:1.45rem;font-size:1.2rem}.agreement-note{margin-bottom:1.35rem}.agreement-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field--half{grid-column:span 1}.field--full{grid-column:1 / -1}.agreement-submit{width:auto;min-width:220px}.agreement-success-card{padding:2.5rem 2rem}.agreement-success-title{font-size:2.3rem}}@media(min-width:1024px){.agreement{padding:5rem 2rem}.agreement-title{font-size:2.55rem}.agreement-card{padding:1.5rem}.agreement-success-card{padding:3rem 2.5rem}.agreement-success-title{font-size:2.5rem}}.legal-page{background:var(--color-bg-soft);padding:3.5rem 1.25rem}.legal-inner{max-width:1100px;margin:0 auto}.legal-back{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.15rem;padding:.7rem 1rem;background:var(--color-white);border:1px solid var(--color-border);border-radius:12px;font:inherit;font-size:.95rem;font-weight:650;color:var(--color-text);cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease}.legal-back:hover{color:var(--color-accent);transform:translateY(-1px)}.legal-back:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}.legal-hero{margin-bottom:1rem}.legal-hero-media{position:relative;min-height:280px;border-radius:18px;overflow:hidden;background:var(--color-white);border:1px solid var(--color-border);box-shadow:0 14px 36px #10182817}.legal-hero-image,.legal-skeleton{position:absolute;inset:0;width:100%;height:100%}.legal-hero-image{display:block;object-fit:cover;object-position:center}.legal-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,#121c289e,#121c281f)}.legal-hero-content{position:relative;z-index:2;min-height:280px;display:flex;align-items:flex-end;padding:1.25rem}.legal-title{margin:0;font-size:2.15rem;font-weight:700;line-height:1.1;color:var(--color-white);text-shadow:0 2px 12px rgba(46,46,46,.35)}.legal-skeleton{background:#11182714}.legal-skeleton-shimmer{width:100%;height:100%;background:linear-gradient(90deg,#1118270a,#ffffff6b,#1118270a);background-size:200% 100%;animation:legalShimmer 1.4s linear infinite}@keyframes legalShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.legal-content-card{max-width:900px;margin:0 auto;padding:1.15rem;border-radius:18px;background:var(--color-white);border:1px solid var(--color-border);box-shadow:0 14px 36px #10182817}.legal-content{color:var(--color-text)}.legal-content>p:first-child{margin-top:0}.legal-block{padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid var(--color-border)}.legal-block:first-of-type{padding-top:0;margin-top:0;border-top:none}.legal-content h2{margin:0 0 .8rem;font-size:1.25rem;font-weight:750;line-height:1.25;color:var(--color-text-strong)}.legal-content p{margin:0 0 1rem;line-height:1.75;font-weight:500}.legal-content p:last-child{margin-bottom:0}.legal-content ul{list-style:none;display:grid;gap:.5rem;margin:1rem 0;padding-left:0}.legal-content li{position:relative;padding-left:1.35rem;line-height:1.7;font-weight:500}.legal-content li:before{content:"";position:absolute;left:0;top:.7rem;width:6px;height:6px;border-radius:999px;background:var(--color-accent)}.legal-content strong{color:var(--color-text-strong);font-weight:750}.legal-content a{color:var(--color-accent);font-weight:700}@media(min-width:768px){.legal-page{padding:4.5rem 1.5rem}.legal-hero{margin-bottom:1.25rem}.legal-hero-media{min-height:360px}.legal-hero-content{min-height:360px;padding:2rem}.legal-title{font-size:3rem}.legal-content-card{padding:1.5rem}.legal-block{padding-top:1.75rem;margin-top:1.75rem}.legal-content h2{font-size:1.4rem}}@media(min-width:1024px){.legal-page{padding:5rem 2rem}.legal-hero{margin-bottom:1.5rem}.legal-hero-media{min-height:420px}.legal-hero-content{min-height:420px;padding:2.5rem}.legal-title{font-size:3.4rem}.legal-content-card{padding:2rem}}.card-order{padding:3.5rem 1.25rem;background:var(--color-bg-soft)}.card-order-inner{max-width:1100px;margin:0 auto}.card-order-back{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.15rem;padding:.7rem 1rem;background:var(--color-white);border:1px solid var(--color-border);border-radius:12px;font:inherit;font-size:.95rem;font-weight:650;line-height:1;color:var(--color-text);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease}.card-order-back:hover{background:var(--color-white);border-color:rgba(184,92,42,.22);color:var(--color-accent);transform:translateY(-1px)}.card-order-back:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}.card-order-header{text-align:center;margin-bottom:2rem}.card-order-title{margin:0 0 .85rem;font-size:1.95rem;font-weight:650;line-height:1.15;color:var(--color-text)}.card-order-lead{margin:0 auto;max-width:62ch;line-height:1.7;font-weight:500;color:var(--color-text-muted)}.card-order-form{display:grid;gap:1rem}.card-order-card{padding:1.15rem;border-radius:18px;background:var(--color-white);border:1px solid var(--color-border);box-shadow:0 14px 36px #10182817}.card-order-card-title{margin:0 0 1.35rem;font-size:1.14rem;font-weight:750;line-height:1.35;color:var(--color-text-strong)}.card-order-fields{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}.card-field{display:flex;flex-direction:column;gap:.55rem;min-width:0}.card-field label{margin:0;font-size:.95rem;font-weight:650;line-height:1.45;color:var(--color-text)}.card-field input,.card-field textarea{width:100%;min-width:0;box-sizing:border-box;margin:0;border:1px solid var(--color-border);border-radius:12px;background:var(--color-white);padding:.9rem 1rem;font:inherit;line-height:1.5;color:var(--color-text-strong);transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.card-field textarea{min-height:150px;resize:none}.card-field input::placeholder,.card-field textarea::placeholder{color:#1f293773}.card-field input:focus,.card-field textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.card-choice-group{display:grid;gap:.95rem}.card-choice-row{display:grid;grid-template-columns:1.35rem 1fr;align-items:start;gap:.85rem;cursor:pointer;color:var(--color-text);line-height:1.55;font-weight:500}.card-choice-row input{width:1.15rem;height:1.15rem;margin:.18rem 0 0;accent-color:var(--color-accent);cursor:pointer}.card-choice-row span{display:block}.card-order-message{margin:0;padding:.9rem 1rem;border-radius:12px;font-weight:500;line-height:1.5}.card-order-message--error{background:#fdecea;border:1px solid #f5c2c0;color:#b42318}.card-order-actions{display:flex;justify-content:center;padding-top:.35rem}.card-order-submit{width:100%;max-width:260px;border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-white);font:inherit;font-weight:750;border-radius:12px;padding:.95rem 1.2rem;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}.card-order-submit:hover{transform:translateY(-1px);background:var(--color-accent-dark);border-color:var(--color-accent-dark);box-shadow:0 10px 24px rgba(184,92,42,.18)}.card-order-submit:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}.card-order-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}.card-order--success{min-height:calc(100svh - var(--nav-h, 60px));display:flex;align-items:flex-start}.card-order-success-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1.25rem;border-radius:20px;background:var(--color-white);border:1px solid var(--color-border);box-shadow:0 14px 36px #10182817}.card-order-success-icon{display:inline-flex;align-items:center;justify-content:center;width:4.25rem;height:4.25rem;margin-bottom:1rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent);font-size:2rem}.card-order-success-title{margin:0 0 .75rem;font-size:1.9rem;font-weight:700;line-height:1.15;color:var(--color-text)}.card-order-success-text,.card-order-success-note{margin:0;max-width:52ch;line-height:1.7;font-weight:500;color:var(--color-text-muted)}.card-order-success-note{margin-top:.75rem}@media(min-width:768px){.card-order{padding:4.5rem 1.5rem}.card-order-header{margin-bottom:2.2rem}.card-order-title{font-size:2.35rem}.card-order-form{gap:1.15rem}.card-order-card{padding:1.35rem}.card-order-card-title{margin-bottom:1.45rem;font-size:1.2rem}.card-order-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.card-field--half{grid-column:span 1}.card-field--full{grid-column:1 / -1}.card-order-submit{width:auto;min-width:220px}.card-order-success-card{padding:2.5rem 2rem}.card-order-success-title{font-size:2.3rem}}@media(min-width:1024px){.card-order{padding:5rem 2rem}.card-order-title{font-size:2.55rem}.card-order-card{padding:1.5rem}.card-order-success-card{padding:3rem 2.5rem}.card-order-success-title{font-size:2.5rem}}.booking{padding:3.5rem 1.25rem;background:var(--color-bg-soft)}.booking--success{min-height:calc(100svh - var(--nav-h, 60px));display:flex;align-items:flex-start}.booking-inner{max-width:1100px;margin:0 auto}.booking-back{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.15rem;padding:.7rem 1rem;background:var(--color-white);border:1px solid var(--color-border);border-radius:12px;font:inherit;font-size:.95rem;font-weight:650;line-height:1;color:var(--color-text);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease}.booking-back:hover{background:var(--color-white);border-color:rgba(184,92,42,.22);color:var(--color-accent);transform:translateY(-1px)}.booking-back:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}.booking-header{text-align:center;margin-bottom:2rem}.booking-title{margin:0 0 .85rem;font-size:1.95rem;font-weight:650;line-height:1.15;color:var(--color-text)}.booking-lead{margin:0 auto;max-width:62ch;line-height:1.7;font-weight:500;color:var(--color-text-muted)}.booking-form{display:grid;gap:1rem}.booking-card{padding:1.15rem;border-radius:18px;background:var(--color-white);border:1px solid var(--color-border);box-shadow:0 14px 36px #10182817}.booking-card-title{margin:0 0 1.35rem;font-size:1.14rem;font-weight:750;line-height:1.35;color:var(--color-text-strong)}.booking-fields{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}.booking-field{display:flex;flex-direction:column;gap:.55rem;min-width:0}.booking-field label,.booking-fields label{display:block;margin:0;font-size:.95rem;font-weight:650;line-height:1.45;color:var(--color-text)}.booking-field input,.booking-field textarea,.booking-fields input,.booking-fields textarea,.booking-card textarea{width:100%;min-width:0;box-sizing:border-box;margin:0;border:1px solid var(--color-border);border-radius:12px;background:var(--color-white);padding:.9rem 1rem;font:inherit;line-height:1.5;color:var(--color-text-strong);transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.booking-field input::placeholder,.booking-field textarea::placeholder,.booking-fields input::placeholder,.booking-fields textarea::placeholder,.booking-card textarea::placeholder{color:#1f293773}.booking-field textarea,.booking-card textarea{min-height:150px;resize:none}.booking-field input:focus,.booking-field textarea:focus,.booking-fields input:focus,.booking-fields textarea:focus,.booking-card textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);background-color:var(--color-white)}.booking-radio-group{display:grid;gap:.95rem}.booking-radio-group label{display:grid;grid-template-columns:1.35rem 1fr;align-items:start;gap:.85rem;cursor:pointer;color:var(--color-text);line-height:1.55;font-weight:500}.booking-radio-group input{width:1.15rem;height:1.15rem;margin:.18rem 0 0;accent-color:var(--color-accent);cursor:pointer}.booking-radio-group span{display:block}.booking-error{margin:0;padding:.9rem 1rem;border-radius:12px;font-weight:500;line-height:1.5;background:#fdecea;border:1px solid #f5c2c0;color:#b42318}.booking-actions{display:flex;justify-content:center;padding-top:.35rem}.booking-submit{width:100%;max-width:260px;border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-white);font:inherit;font-weight:750;border-radius:12px;padding:.95rem 1.2rem;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}.booking-submit:hover{transform:translateY(-1px);background:var(--color-accent-dark);border-color:var(--color-accent-dark);box-shadow:0 10px 24px rgba(184,92,42,.18)}.booking-submit:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-accent-soft)}.booking-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}.booking-success-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1.25rem;border-radius:20px;background:var(--color-white);border:1px solid var(--color-border);box-shadow:0 14px 36px #10182817}.booking-success-icon{display:inline-flex;align-items:center;justify-content:center;width:4.25rem;height:4.25rem;margin-bottom:1rem;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent);font-size:2rem}.booking-success-title{margin:0 0 .75rem;font-size:1.9rem;font-weight:700;line-height:1.15;color:var(--color-text)}.booking-success-text{margin:0;max-width:52ch;line-height:1.7;font-weight:500;color:var(--color-text-muted)}.date-field{width:100%}.date-field input[type=date]{width:100%;cursor:pointer;color-scheme:light;min-height:48px;padding-right:1rem}.date-field input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer}@media(min-width:768px){.booking{padding:4.5rem 1.5rem}.booking-header{margin-bottom:2.2rem}.booking-title{font-size:2.35rem}.booking-form{gap:1.15rem}.booking-card{padding:1.35rem}.booking-card-title{margin-bottom:1.45rem;font-size:1.2rem}.booking-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-field--half{grid-column:span 1}.booking-field--full{grid-column:1 / -1}.booking-submit{width:auto;min-width:220px}.booking-success-card{padding:2.5rem 2rem}.booking-success-title{font-size:2.3rem}}@media(min-width:1024px){.booking{padding:5rem 2rem}.booking-title{font-size:2.55rem}.booking-card{padding:1.5rem}.booking-success-card{padding:3rem 2.5rem}.booking-success-title{font-size:2.5rem}}
:root {
  --color-white: #ffffff;
  --color-black: #0D0C0A;
  --color-bg: #FAFAF7;
  --color-bg-soft: #F4F1EC;
  --color-bg-blue: #D9E1CB;
  --color-bg-alt: #EBE7DE;
  --color-text: #1A1714;
  --color-text-strong: #0D0C0A;
  --color-text-muted: rgba(26, 23, 20, 0.65);
  --color-accent: #B85C2A;
  --color-accent-dark: #7d4a1e;
  --color-accent-soft: rgba(184, 92, 42, 0.12);
  --color-border: rgba(42, 74, 46, 0.13);
  --color-shadow: rgba(26, 23, 20, 0.07);
  --radius-sm: 10px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 20px;
}
*, *:before, *:after { box-sizing: border-box; }
::selection { background: #B85C2A38; }
::-moz-selection { background: #B85C2A38; }
.footer ::selection { background: #ffffff47; color: var(--color-white); }
.footer ::-moz-selection { background: #ffffff47; color: var(--color-white); }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Montserrat, sans-serif; background: var(--color-bg); color: var(--color-text); }
button, input, textarea, select { font: inherit; }
img { max-width: 100%; height: auto; display: block; }
:root{--color-white:#ffffff;--color-black:#0D0C0A;--color-bg:#FAFAF7;--color-bg-soft:#F4F1EC;--color-bg-blue:#D9E1CB;--color-bg-alt:#EBE7DE;--color-sand:#FAF5EC;--color-text:#1A1714;--color-text-strong:#0D0C0A;--color-text-muted:rgba(26,23,20,.65);--color-accent:#B85C2A;--color-accent-dark:#943F18;--color-accent-soft:rgba(184,92,42,.12);--color-border:rgba(42,74,46,.13);--color-shadow:rgba(26,23,20,.07);--radius-sm:10px;--radius-md:12px;--radius-lg:18px;--radius-xl:20px}

/* ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ Form pages (varaus, contact) ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â topbar without hero image ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ */
.extra-form-topbar{padding:1rem 1.25rem}
.extra-back-inline{display:inline-flex;align-items:center;margin-bottom:0}

/* ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ Green top zone (header + hero) ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ */
.extra-top{background:#D9E1CB !important;color:#1A1714 !important}

/* ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ Header ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ */
.extra-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}
.extra-brand{font-family:Montserrat,Arial,sans-serif!important;font-size:1.55rem!important;font-weight:800!important;letter-spacing:-.02em!important;color:#0D0C0A!important;text-decoration:none}
.extra-nav{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}
.extra-nav a{font-family:Montserrat,Arial,sans-serif!important;padding:.45rem .75rem!important;border-radius:10px!important;color:#0D0C0A!important;font-weight:700!important;font-size:.92rem!important;text-decoration:none!important;transition:all .15s ease!important}
.extra-nav a:hover:not(.is-active){background:rgba(184,92,42,.14)!important;color:#B85C2A!important}
.extra-nav a.is-active{background:#B85C2A!important;color:#ffffff!important;font-weight:800!important;box-shadow:0 4px 14px rgba(184,92,42,.32)!important}

/* ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ Back link ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ */
.extra-back{color:#0D0C0A !important}
.extra-back:hover{color:var(--color-accent) !important}

/* ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ Hero wrap (still inside green zone) ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ */
.extra-hero-wrap{padding:1.25rem 1.25rem 0;max-width:1100px;margin:0 auto}
.extra-back{display:inline-flex;align-items:center;margin-bottom:1rem;padding:.7rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:rgba(255,255,255,.55);color:#0D0C0A !important;font-weight:700;text-decoration:none;transition:color .12s ease,border-color .12s ease,transform .12s ease}
.extra-back:hover{color:var(--color-accent) !important;border-color:rgba(184,92,42,.3);transform:translateY(-1px)}
.extra-hero{position:relative;min-height:140px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden;background:var(--color-bg-alt);box-shadow:0 14px 36px var(--color-shadow)}
.extra-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.extra-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(17,24,39,.72),rgba(17,24,39,.1))}
.extra-cta{position:absolute;left:50%;bottom:1.25rem;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;min-width:210px;padding:.95rem 1.4rem;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;text-decoration:none;font-weight:800;box-shadow:0 12px 28px rgba(184,92,42,.35);transition:background .12s ease,transform .12s ease}
.extra-cta:hover{background:var(--color-accent-dark)}

/* ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ Cream content zone ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ */
.extra-main{background:var(--color-sand) !important;padding:2.5rem 1.25rem 4rem}
.extra-main-inner{max-width:1100px;margin:0 auto}
.extra-title{margin:0 0 1.75rem;text-align:center;font-size:clamp(2.1rem,6vw,3.4rem);font-weight:750;line-height:1.08;color:var(--color-text-strong)}

/* ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ Gutenberg free-form content ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚ÂÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ */
.extra-gutenberg-content{max-width:100%;margin:0}
.extra-gutenberg-content p{margin:0 0 1.1rem;line-height:1.75;font-size:1.05rem;color:var(--color-text-muted)}
.extra-gutenberg-content h2{margin:2rem 0 .75rem;font-size:1.45rem;font-weight:800;color:var(--color-text-strong)}
.extra-gutenberg-content h3{margin:1.5rem 0 .6rem;font-size:1.15rem;font-weight:750;color:var(--color-text-strong)}
.extra-gutenberg-content ul,.extra-gutenberg-content ol{margin:0 0 1.1rem;padding-left:1.4rem}
.extra-gutenberg-content li{margin-bottom:.45rem;line-height:1.65;font-weight:600;color:var(--color-text)}
.extra-gutenberg-content a{color:var(--color-accent);text-decoration:underline}
.extra-gutenberg-content a:hover{color:var(--color-accent-dark)}
.extra-gutenberg-content img{max-width:100%;border-radius:var(--radius-md)}
.extra-gutenberg-content figure{margin:1.5rem 0}
.extra-gutenberg-content blockquote{margin:1.5rem 0;padding:.85rem 1.25rem;border-left:4px solid var(--color-accent);background:var(--color-bg-alt);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-text-muted);font-style:italic}
.extra-gutenberg-content .wp-block-table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.97rem}
.extra-gutenberg-content .wp-block-table td,.extra-gutenberg-content .wp-block-table th{padding:.65rem .85rem;border:1px solid var(--color-border);text-align:left}
.extra-gutenberg-content .wp-block-table th{background:var(--color-bg-alt);font-weight:750}
.extra-gutenberg-content .wp-block-separator{border:none;border-top:1px solid var(--color-border);margin:2rem 0}
.extra-gutenberg-content .wp-block-buttons{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.25rem 0}
.extra-gutenberg-content .wp-block-button__link{display:inline-flex;align-items:center;padding:.8rem 1.4rem;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;font-weight:800;text-decoration:none;transition:background .12s ease}
.extra-gutenberg-content .wp-block-button__link:hover{background:var(--color-accent-dark)}

/* Compact footer for the extra pages (koirakoulu, muuta/faq, dog-training,
   more, varaus, booking). Only the contact block stays - no page-link
   column, no description, no big padding. */
.extra-page-body .footer{padding:1.75rem 1.25rem 1.5rem!important}
.extra-page-body .footer-inner{grid-template-columns:auto 1fr;align-items:center;gap:1.5rem;max-width:1100px}
.extra-page-body .footer-columns{grid-template-columns:1fr}
.extra-page-body .footer-column{gap:.4rem}
.extra-page-body .footer-bottom{margin-top:1rem;font-size:.78rem}
@media(max-width:759px){
  .extra-page-body .footer{padding:1.5rem 1rem 1.25rem!important}
  .extra-page-body .footer-inner{grid-template-columns:1fr;justify-items:center;text-align:center;gap:.85rem}
}

@media(min-width:760px){
  .extra-header{padding:1.25rem 2rem}
  .extra-hero-wrap{padding:1.5rem 2rem 0}
  .extra-hero{min-height:180px}
  .extra-main{padding:3.5rem 1.5rem 5rem}
}
@media(min-width:1024px){
  .extra-header{padding:1.5rem 3rem}
  .extra-hero-wrap{padding:1.75rem 3rem 0}
  .extra-hero{min-height:210px}
  .extra-main{padding:4rem 2rem 6rem}
}

/* Mobile menu: replaced 28.8.2026. The nav used to wrap onto its own
   row and show every link at once, which looked messy on narrow
   screens. Now it collapses behind a compact hamburger toggle and
   opens as a dropdown, like the rest of the site's mobile nav. */
.extra-menu-toggle{display:none}
@media(max-width:759px){
  .extra-header{flex-wrap:nowrap;position:relative;padding:.65rem 1rem}
  .extra-brand{flex:1 1 auto;min-width:0;font-size:1.3rem}
  .extra-menu-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.5rem;height:2.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;padding:0;cursor:pointer}
  .extra-menu-toggle-bars,.extra-menu-toggle-bars:before,.extra-menu-toggle-bars:after{content:"";display:block;width:1.15rem;height:2px;border-radius:2px;background:#0D0C0A}
  .extra-menu-toggle-bars{position:relative}
  .extra-menu-toggle-bars:before{position:absolute;top:-6px;left:0}
  .extra-menu-toggle-bars:after{position:absolute;top:6px;left:0}
  .extra-nav{display:none;position:absolute;left:0;right:0;top:100%;z-index:20;flex-direction:column;width:100%;min-width:0;gap:.15rem;padding:.6rem 1rem 1rem;background:#fff;box-shadow:0 16px 34px rgba(13,12,10,.16);border-radius:0 0 var(--radius-lg) var(--radius-lg)}
  .extra-nav.is-open{display:flex}
  .extra-nav a{white-space:normal;width:100%;text-align:center;font-size:.95rem;padding:.65rem .75rem}
  .extra-top{overflow-x:hidden}

  /* Tighter hero block: less padding above the back link, smaller
     back link, shorter hero image, CTA sits closer to the image edge */
  .extra-hero-wrap{padding:.6rem .75rem 0}
  .extra-back{margin-bottom:.5rem;padding:.5rem .75rem;font-size:.85rem}
  .extra-hero{min-height:110px}
  .extra-cta{bottom:.75rem;min-width:170px;padding:.7rem 1rem;font-size:.9rem}

  /* Less top padding before content starts */
  .extra-main{padding:1.1rem 1rem 2.5rem}

  /* The h1 page title duplicates the brand/nav above it and was
     eating vertical space for no visual benefit on small screens.
     Kept in the DOM (not display:none) so it still exists for
     accessibility/SEO, just not visually taking up room. */
  .extra-title{
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;
    overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0
  }
}
.site-logo,.footer-logo{object-fit:contain;object-position:center}.site-logo-mobile{height:2.9rem;width:auto;max-width:8.5rem}.site-logo-desktop{height:3.75rem;width:auto;max-width:11rem}.footer-logo{width:auto;max-width:7.25rem;max-height:4.25rem}.footer-logo,.extra-footer-logo{object-position:left top}.hero-logo{position:absolute;top:1.25rem;left:50%;z-index:3;transform:translateX(-50%);width:auto;height:3.2rem;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.25))}.stats{padding-left:0!important;padding-right:0!important}.stats .stats-inner{width:calc(100% - 4cm)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important}.stats-grid{display:none!important}.stats-rich{display:block;max-width:none!important;width:100%;margin-top:1.5rem}.stats-rich-media{width:100%}.stats-rich-image{display:block;width:100%;height:auto;border-radius:16px;object-fit:cover;box-shadow:0 14px 34px #10182814}.stats-rich-body{min-width:0}.stats-rich-body > *:first-child{margin-top:0}.stats-rich-body > *:last-child{margin-bottom:0}.stats-rich .wp-block-columns{display:flex;width:100%;max-width:none;margin-left:0;margin-right:0;gap:clamp(1.25rem,4vw,3rem);align-items:center}.stats-rich .wp-block-column{min-width:0;flex:1 1 0}.stats-rich figure,.stats-rich .wp-block-image{margin:0}.stats-rich img{width:100%;height:auto;display:block}.gallery-section-hidden{display:none!important}.location-gallery-cta-wrap{margin-top:1rem}.location-gallery-cta{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.2rem;border:1px solid rgba(19,78,74,.18);border-radius:12px;background:#162726;color:var(--color-text-strong,#f5faf9);font-weight:700;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.22)}.location-gallery-cta:hover{color:#B85C2A;border-color:rgba(184,92,42,.3)}.gallery-modal-open{overflow:hidden}.location-gallery-modal[hidden]{display:none}.location-gallery-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:1rem}.location-gallery-backdrop{position:absolute;inset:0;background:rgba(17,24,39,.62);backdrop-filter:blur(4px)}.location-gallery-dialog{position:relative;z-index:1;width:min(1120px,100%);max-height:min(88vh,920px);overflow:auto;padding:1.25rem;border-radius:20px;background:#fff;box-shadow:0 32px 80px rgba(16,24,40,.28)}.location-gallery-close{position:absolute;top:.85rem;right:.85rem;width:2.5rem;height:2.5rem;border:0;border-radius:999px;background:rgba(17,24,39,.08);color:#111827;font-size:1.4rem;line-height:1;cursor:pointer}.location-gallery-header{padding-right:3rem;margin-bottom:1rem}.location-gallery-title{margin:0 0 .35rem;font-size:1.5rem;color:#111827}.location-gallery-description{margin:0;color:rgba(31,41,55,.72);line-height:1.6}.location-gallery-viewer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-bottom:1rem}.location-gallery-feature{margin:0;border-radius:18px;overflow:hidden;background:#f3f4f6;min-height:240px}.location-gallery-feature-image{display:block;width:100%;height:min(62vh,620px);object-fit:cover}.location-gallery-nav{width:2.75rem;height:2.75rem;border:0;border-radius:999px;background:#ffffff;color:#111827;font-size:2rem;line-height:1;cursor:pointer;box-shadow:0 12px 28px rgba(16,24,40,.12)}.location-gallery-grid{display:grid;grid-template-columns:1fr;gap:1rem}.location-gallery-item{margin:0;border-radius:16px;overflow:hidden;background:#f3f4f6;cursor:pointer}.location-gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.location-gallery-item:hover img{transform:scale(1.03)}.location-gallery-empty{margin:1rem 0 0;color:rgba(31,41,55,.72)}.navigation-bar{column-gap:.85rem}.desktop-nav{padding:.45rem .55rem;background:#ffffffeb;border:1px solid rgba(31,41,55,.08);border-radius:14px;box-shadow:0 14px 34px #10182814;flex-wrap:wrap;justify-content:flex-end}.desktop-nav li{display:flex}.desktop-nav a,.desktop-nav .nav-link-button{white-space:nowrap}.mobile-menu{gap:0;padding:1rem 1rem 1.25rem}.mobile-menu .language-switcher-mobile{margin-bottom:0;padding:.9rem 1.15rem;background:#ffffffeb;box-shadow:0 18px 50px #10182824;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.mobile-menu ul{background:#ffffffeb;box-shadow:0 18px 50px #10182824;border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:.65rem 1rem 1rem}.mobile-menu a,.mobile-menu .nav-link-button{padding:.95rem 1rem}.mobile-menu .language-switcher-mobile+ul{margin-top:0}.site-header{position:absolute;top:0;left:0;right:0;z-index:1000;background:transparent;pointer-events:none}.navigation-bar{display:block;height:0;padding:0;position:relative;z-index:10002}.burger-menu{display:inline-flex!important;position:fixed;top:1rem;left:1rem;z-index:10003;width:auto;min-width:0;height:3rem;padding:0 1rem;gap:.55rem;border-radius:999px;pointer-events:auto}.burger-menu:not(.open):not(:hover){background:#ffffff!important;color:#162726!important;border-color:rgba(184,92,42,.28)!important}.burger-menu.open{background:#111;color:#fff;border-color:rgba(255,255,255,.32);box-shadow:0 12px 32px rgba(0,0,0,.34)}.burger-menu:after{content:"Menu";font-size:.95rem;font-weight:800;line-height:1;letter-spacing:0}.burger-menu svg{width:1.1rem;height:1.1rem}.hero{min-height:100svh!important;padding-top:0!important;box-sizing:border-box}.hero-bg{min-height:100svh!important}.hero-image{inset:0;width:100%;height:100%;object-fit:cover}.hero-bg:before{content:"";display:none}.hero-headline{position:absolute;top:calc(38% + 60px);left:50%;z-index:2;transform:translateX(-50%);width:min(90vw,720px);color:#fff;font-family:Montserrat,Arial,sans-serif;font-size:clamp(20px,3.2vw,32px);font-weight:600;line-height:1.25;text-align:center;text-shadow:0 2px 16px rgba(0,0,0,.42);pointer-events:none}.hero-bg:after{content:"";display:none}.hero-subheadline{position:absolute;top:calc(38% + 108px);left:50%;z-index:2;transform:translateX(-50%);width:min(90vw,620px);color:rgba(255,255,255,.9);font-size:clamp(14px,2vw,19px);font-weight:500;line-height:1.4;text-align:center;text-shadow:0 2px 16px rgba(0,0,0,.42);pointer-events:none}.hero-contact-info{position:absolute;top:calc(38% + 182px);left:50%;z-index:2;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:1.4rem;flex-wrap:wrap;width:min(92vw,760px);color:rgba(255,255,255,.85);font-size:16px;font-weight:600;line-height:1.3;text-align:center;text-shadow:0 2px 16px rgba(0,0,0,.42)}.hero-trust-badge{position:absolute;top:calc(38% - 24px);left:50%;z-index:2;transform:translateX(-50%);color:#fff;font-family:Bitter,serif;font-size:clamp(40px,7vw,80px);font-weight:800;line-height:1.0;text-align:center;text-shadow:0 3px 28px rgba(0,0,0,.6);white-space:nowrap;background:none;padding:0;border-radius:0;backdrop-filter:none;letter-spacing:-.01em}.hero-social-proof{position:absolute;top:calc(38% + 148px);left:50%;z-index:2;transform:translateX(-50%);padding:.4rem 1rem;border-radius:12px;background:rgba(255,255,255,.14);color:#fff;font-size:15px;font-weight:700;text-shadow:0 1px 6px rgba(0,0,0,.3);backdrop-filter:blur(6px);white-space:nowrap}.hero-content h2,.hero-content p,.hero-contact{display:none!important}.hero-content{justify-content:flex-end;padding-bottom:3.5rem!important}.hero-actions{display:none!important}.faq{display:none!important}.site-title-mobile,.site-logo-link-mobile,.brand-desktop{display:none!important}.desktop-nav,.language-switcher-desktop{display:none!important}.mobile-menu{display:flex!important;position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;z-index:10001;align-items:center;justify-content:center;width:auto!important;min-height:100svh;padding:5.75rem 1.25rem 1.75rem!important;background:#000!important;backdrop-filter:none;-webkit-backdrop-filter:none;transform:translateY(-100%)!important;opacity:0;pointer-events:none;transition:transform .28s ease,opacity .2s ease}.mobile-menu.open{transform:translateY(0)!important;opacity:1;pointer-events:auto}.mobile-menu:before{content:"Koiraparkki";position:absolute;top:1.15rem;left:50%;transform:translateX(-50%);color:#fff;font-family:Bitter,serif;font-size:clamp(1.25rem,4vw,1.8rem);font-weight:700;line-height:1;white-space:nowrap}.koiraparkki-sticky-lang{position:fixed!important;top:1rem!important;right:1rem!important;z-index:10003!important;display:inline-flex!important;align-items:center!important;pointer-events:auto!important}.koiraparkki-sticky-lang .language-switcher,.koiraparkki-sticky-lang .language-switcher-mobile,.koiraparkki-sticky-lang .language-switcher-desktop{display:inline-flex!important;align-items:center!important;gap:.2rem!important;padding:.25rem .45rem!important;border-radius:999px!important;background:#ffffff!important;color:#162726!important;border:1px solid rgba(184,92,42,.35)!important;box-shadow:0 4px 18px rgba(0,0,0,.18)!important;height:3rem!important;box-sizing:border-box!important;position:relative!important;top:0!important;right:0!important;margin:0!important}.koiraparkki-sticky-lang .language-button{font-size:.85rem!important;font-weight:800!important;padding:.4rem .75rem!important;border-radius:999px!important;border:none!important;cursor:pointer!important;transition:all .2s ease!important;color:#162726!important;background:transparent!important;line-height:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.koiraparkki-sticky-lang .language-button.is-active,.koiraparkki-sticky-lang .language-button[aria-current="true"],.koiraparkki-sticky-lang .language-button.active{background:#a0622a!important;color:#ffffff!important;box-shadow:0 2px 8px rgba(160,98,42,.35)!important}.koiraparkki-sticky-lang .language-button:hover:not(.is-active){color:#a0622a!important;background:rgba(184,92,42,.12)!important}.koiraparkki-sticky-lang .language-divider{color:rgba(22,39,38,.3)!important;font-weight:600!important;font-size:.85rem!important;margin:0 .1rem!important}.mobile-menu ul{width:min(520px,100%);padding:0!important;background:transparent;box-shadow:none;border-radius:0!important;gap:.1rem;align-items:stretch}.mobile-menu li{display:block}.mobile-menu a,.mobile-menu .nav-link-button{text-align:center;padding:.52rem clamp(.8rem,3vw,1.4rem);border-radius:10px;font-size:clamp(.85rem,2.6vw,1.5rem);line-height:1.08;font-weight:800;background:transparent;color:#fff}.mobile-menu a:hover,.mobile-menu .nav-link-button:hover{background:rgba(255,255,255,.12);color:#fff;transform:none}@media(max-width:759px){.location-gallery-viewer{grid-template-columns:1fr}.location-gallery-nav{display:none}.location-gallery-feature-image{height:280px}}@media(max-width:759px){.stats .stats-inner{width:calc(100% - 2rem)!important}.stats-rich .wp-block-columns{flex-direction:column;align-items:stretch}}@media(min-width:760px){.location-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.location-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.location-gallery-dialog{padding:1.5rem}.location-gallery-item:nth-child(7n+1){grid-column:span 2;grid-row:span 2}}@media(min-width:900px){.stats-rich{grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:2rem}}@media(min-width:768px)and (max-width:1024px){.site-logo-mobile{height:3.15rem;max-width:9.25rem}.mobile-menu{width:340px;padding:0}.mobile-menu .language-switcher-mobile{padding:1rem 1.2rem;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.mobile-menu ul,.mobile-menu .language-switcher-mobile+ul{border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:.7rem 1rem 1rem}}@media(min-width:1024px)and (max-width:1180px){.site-logo-mobile{height:3.15rem;max-width:9.25rem}.mobile-menu{width:370px;padding:0}.mobile-menu .language-switcher-mobile{padding:1rem 1.2rem;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.mobile-menu ul,.mobile-menu .language-switcher-mobile+ul{border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:.7rem 1rem 1rem}}@media(min-width:1180px){.navigation-bar{grid-template-columns:auto minmax(0,1fr) auto;align-items:start}.brand-desktop{align-self:center}.desktop-nav{justify-self:end;max-width:100%}.site-logo-desktop{height:3.55rem;max-width:10.5rem}}.site-logo,.footer-logo,.hero-logo{border-radius:50%!important;object-fit:cover!important;background:transparent!important;flex-shrink:0!important}.hero-logo{width:80px!important;height:80px!important;max-width:80px!important;max-height:80px!important;top:1.25rem!important;object-fit:cover!important;display:block!important}.footer .footer-logo,.footer img[class*="logo"],.site-footer img[class*="logo"]{width:64px!important;height:64px!important;display:block!important;border-radius:50%!important;object-fit:cover!important;background:transparent!important}.stats-cta-wrap{display:flex;justify-content:center;margin-top:2rem}.stats-cta{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 2rem;border-radius:12px;background:#a0622a;color:#fff;font-size:1.05rem;font-weight:800;text-decoration:none;border:none;cursor:pointer;box-shadow:0 4px 18px rgba(160,98,42,.4);transition:background .18s ease}.stats-cta:hover{background:#7d4a1e}
:root{--color-accent:#B85C2A !important;--color-accent-dark:#7d4a1e!important;--color-accent-soft:rgba(184,92,42,.15)!important;--color-primary:#2A4A2E!important;--color-bg-soft:#162726!important;--color-bg:#0f1c1b!important;--color-bg-blue:#D9E1CB!important;--color-text:#e8f0ef!important;--color-text-strong:#f5faf9!important;--color-text-muted:rgba(232,240,239,.62)!important;--color-border:rgba(184,92,42,.18)!important;}.desktop-nav a:hover,.desktop-nav .nav-link-button:hover{background:rgba(184,92,42,.15)!important;color:#B85C2A!important}.desktop-nav a.is-active,.desktop-nav .nav-link-button.is-active{color:#B85C2A!important}.hero-cta,.hero .cta-button,[class*="hero"] a[href*="contact"],[class*="hero"] button{background:#a0622a!important;color:#fff!important;border-color:#a0622a!important}.hero-cta:hover,.hero .cta-button:hover{background:#7d4a1e!important;border-color:#7d4a1e!important}.hero-actions{display:none!important}button[class*="cta"],a[class*="cta"],.contact-cta,.cta-btn{background:#a0622a!important;color:#fff!important;border-color:#a0622a!important}button[class*="cta"]:hover,a[class*="cta"]:hover,.contact-cta:hover,.cta-btn:hover{background:#7d4a1e!important}a[style*="0066ff"],button[style*="0066ff"]{background:#B85C2A!important;border-color:#B85C2A!important}body{background:#0f1c1b!important;color:#e8f0ef!important}.koiraparkki-sticky-bar{position:fixed;bottom:0;left:0;right:0;z-index:9990;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:#2A4A2E;color:#fff;box-shadow:0 -4px 20px rgba(19,78,74,.28)}.koiraparkki-sticky-bar a{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:.7rem .75rem;border-radius:10px;font-weight:800;font-size:.9rem;text-decoration:none;white-space:nowrap}.koiraparkki-sticky-bar .sticky-phone{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2)}.koiraparkki-sticky-bar .sticky-phone:hover{background:rgba(255,255,255,.2)}.koiraparkki-sticky-bar .sticky-book{background:#a0622a;color:#fff;border:none;box-shadow:0 4px 14px rgba(160,98,42,.45)}@media(max-width:768px){.hero-trust-badge{position:absolute!important;top:9.8rem!important;left:50%!important;transform:translateX(-50%)!important;width:100%!important;max-width:92vw!important;font-size:clamp(1.8rem,8vw,2.9rem)!important;text-align:center!important;margin:0!important}.hero-headline{position:absolute!important;top:13.8rem!important;left:50%!important;transform:translateX(-50%)!important;text-align:center!important}.hero-subheadline{position:absolute!important;top:17.2rem!important;left:50%!important;transform:translateX(-50%)!important;text-align:center!important}.hero-contact-info{position:absolute!important;top:21.2rem!important;left:50%!important;transform:translateX(-50%)!important;display:flex!important;flex-direction:column!important;align-items:center!important}.stats,.stats-rich,section.stats,.quote{display:block!important}}@media(min-width:768px){.koiraparkki-sticky-bar{display:none!important}}

    /* --- Single photo: hide the two small bento tiles, keep only the big one --- */
    .locations-bento .bento-small {
        display: none !important;
    }
    .locations-bento .bento-big {
        grid-column: 1 / -1;
        aspect-ratio: 4 / 3;
        border-radius: 16px;
    }
 
    /* --- Gallery CTA sits directly under the photo --- */
    .location-gallery-cta-wrap {
        margin-top: .75rem;
    }
    .location-gallery-cta {
        width: 100%;
        display: flex;
        justify-content: center;
        font-size: 1rem;
    }
 
    /* --- Photo+CTA left, info right at desktop --- */
    @media (min-width: 1024px) {
        .locations-panel {
            grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
            grid-template-rows: auto auto;
            align-items: start;
        }
        .locations-bento {
            grid-column: 1;
            grid-row: 1;
        }
        .location-gallery-cta-wrap {
            grid-column: 1;
            grid-row: 2;
            margin-top: 0;
        }
        .locations-info {
            grid-column: 2;
            grid-row: 1 / span 2;
        }
    }
 
    /* --- Remove "Tärkeimmät erot" / process section entirely --- */
    .process {
        display: none !important;
    }
    

    /* Sections using --color-bg-blue / --color-bg-alt (light, not overridden to dark) */
    .stats,
    .locations,
    .monthly-plans,
    .faq {
        --color-text: #1A1714 !important;
        --color-text-strong: #0D0C0A !important;
        --color-text-muted: rgba(26,23,20,.65) !important;
        --color-border: rgba(42,74,46,.13) !important;
        color: #1A1714;
    }

    /* Cards / panels with hardcoded white or near-white backgrounds */
    .locations-panel, .info-block, .hours-row, .highlight,
    .locations-tab, .pricing-tab,
    .pricing-panel-main, .pricing-offer, .pricing-block,
    .season-card, .season-tag,
    .faq-card, .faq-question,
    .monthly-plan-card, .monthly-plans-note,
    .contact-details, .contact-form,
    .contact-field input, .contact-field textarea,
    .gallery-panel,
    .agreement-card, .booking-card,
    .card-order-card, .legal-content-card,
    .mobile-menu ul, .custom-select-menu, .custom-select-button,
    .agreement-back, .booking-back, .card-order-back, .legal-back {
        --color-text: #1A1714 !important;
        --color-text-strong: #0D0C0A !important;
        --color-text-muted: rgba(26,23,20,.65) !important;
        --color-border: rgba(42,74,46,.13) !important;
        color: #1A1714;
    }

    /* Section headings / titles that reference the CSS variables */
    .footer{background:var(--color-bg)!important}
    .locations-title,.pricing-title,.gallery-title,.faq-title,.monthly-plans-title,
    .process-title,.contact-title,.agreement-title,.booking-title,
    .card-order-title,.legal-title,.stats-heading {
        color: var(--color-text-strong) !important;
    }
    .locations-lead,.pricing-lead,.gallery-lead,.faq-lead,.monthly-plans-lead,
    .process-lead,.contact-lead,.agreement-lead,.booking-lead,.card-order-lead {
        color: var(--color-text) !important;
        opacity: 0.95;
    }
    body{background:var(--color-bg)!important;color:var(--color-text)!important}
    

    /* --- 1. Hide the seasonal pricing card entirely --- */
    .season-card {
        display: none !important;
    }

    /* --- 2. Shrink right-side pricing blocks by ~25% --- */

    /* Block titles (e.g. "Varaus ja peruutus", "Sopii erityisesti") */
    .pricing-side .pricing-block-title {
        font-size: 0.8rem !important;
        margin-bottom: 0.5rem !important;
    }
    .pricing-side .pricing-block-title svg {
        width: 0.85rem !important;
        height: 0.85rem !important;
    }

    /* List items inside the right-side blocks */
    .pricing-side .pricing-list li {
        font-size: 0.82rem !important;
        line-height: 1.5 !important;
    }

    /* Tighten block padding */
    .pricing-side .pricing-block {
        padding: 0.75rem !important;
    }

    /* Gap between blocks */
    .pricing-side {
        gap: 0.75rem !important;
    }
    

    body:has(.contact) .contact {
        padding-top: 2.25rem !important;
        padding-bottom: 2.75rem !important;
    }
    .contact-inner {
        max-width: 920px !important;
    }
    .contact-header {
        margin-bottom: 1.35rem !important;
    }
    .contact-title {
        font-size: clamp(1.9rem, 4vw, 2.65rem) !important;
        margin-bottom: .55rem !important;
    }
    .contact-lead {
        max-width: 54ch !important;
        line-height: 1.55 !important;
    }
    .contact-grid {
        gap: 1rem !important;
        align-items: start !important;
    }
    .contact-details,
    .contact-form {
        padding: 1rem !important;
        border-radius: 14px !important;
    }
    .contact-details {
        gap: .65rem !important;
    }
    .contact-form {
        gap: .75rem !important;
    }
    .contact-field {
        gap: .35rem !important;
    }
    .contact-field label {
        font-size: .88rem !important;
        line-height: 1.35 !important;
    }
    .contact-field input,
    .contact-field textarea {
        min-height: 42px !important;
        padding: .68rem .8rem !important;
        border-radius: 10px !important;
        line-height: 1.35 !important;
    }
    .contact-field textarea {
        min-height: 105px !important;
    }
    .contact-submit {
        min-height: 42px !important;
        padding: .72rem 1rem !important;
        border-radius: 10px !important;
    }
    @media (min-width: 1024px) {
        .contact-grid {
            grid-template-columns: minmax(0, .82fr) minmax(0, 1fr) !important;
        }
    }
    
/*# sourceURL=react-app-inline-css */

        .mobile-menu .language-switcher-mobile,
        .mobile-menu .language-switcher,
        .desktop-nav .language-switcher-desktop,
        .language-switcher,
        .language-switcher-mobile,
        .language-switcher-desktop {
            display: none !important;
        }

        /* Hide Galleria / Gallery links everywhere site-wide.
           (Muuta/More used to be hidden here too, but they now serve as the
           real UKK/FAQ page - see extra-pages.php - so they stay visible.) */
        a[href*="gallery"],
        a[href*="galleria"],
        li:has(a[href*="gallery"]),
        li:has(a[href*="galleria"]) {
            display: none !important;
        }

        .koiraparkki-global-lang-pill {
            position: fixed !important;
            top: 1rem !important;
            right: 1rem !important;
            z-index: 10005 !important;
            display: inline-flex !important;
            align-items: center !important;
            gap: 0.2rem !important;
            padding: 0.25rem 0.45rem !important;
            border-radius: 999px !important;
            background: #ffffff !important;
            color: #162726 !important;
            border: 1px solid rgba(184, 92, 42, 0.35) !important;
            box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18) !important;
            height: 3rem !important;
            box-sizing: border-box !important;
            pointer-events: auto !important;
        }

        .koiraparkki-global-lang-pill button {
            font-family: Montserrat, Arial, sans-serif !important;
            font-size: 0.85rem !important;
            font-weight: 800 !important;
            padding: 0.4rem 0.75rem !important;
            border-radius: 999px !important;
            border: none !important;
            cursor: pointer !important;
            transition: all 0.2s ease !important;
            color: #162726 !important;
            background: transparent !important;
            line-height: 1 !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            outline: none !important;
        }

        .koiraparkki-global-lang-pill button.is-active {
            background: #a0622a !important;
            color: #ffffff !important;
            box-shadow: 0 2px 8px rgba(160, 98, 42, 0.35) !important;
        }

        .koiraparkki-global-lang-pill button:hover:not(.is-active) {
            color: #a0622a !important;
            background: rgba(184, 92, 42, 0.12) !important;
        }

        .koiraparkki-global-lang-pill .lang-sep {
            color: rgba(22, 39, 38, 0.3) !important;
            font-weight: 600 !important;
            font-size: 0.85rem !important;
            margin: 0 0.1rem !important;
            user-select: none !important;
        }

        /* ================================================================
           SAGE GREEN GRADIENT & LIGHT WHITE-SAND GRADIENT BACKGROUNDS
           ================================================================ */
        :root {
            --color-bg-blue: #D4E2C5 !important;
        }

        /* 1. Sage Green Gradient for main sections */
        .stats,
        .locations,
        .monthly-plans,
        .pricing,
        .faq {
            background: linear-gradient(160deg, #E8F1E3 0%, #D4E2C5 50%, #C3D5B3 100%) !important;
        }

        /* NOTE: .extra-top / .extra-main (koirakoulu, muuta/faq, dog-training, more,
           varaus, booking -sivut) poistettu tasta listasta 28.8.2026 - ne saivat
           vahingossa taman saleviherran gradientin, vaikka niilla on oma paletti
           extra-pages.php:ssa (ks. sielta .extra-main taustavari + hiekanvaalea-ohje). */

        /* 2. Lighter White-Sand Gradient for Content Cards, Panels & Forms */
        .locations-panel,
        .info-block,
        .hours-row,
        .highlight,
        .locations-tab,
        .pricing-tab,
        .pricing-panel-main,
        .pricing-offer,
        .pricing-block,
        .faq-card,
        .faq-question,
        .monthly-plan-card,
        .monthly-plans-note,
        .contact-details,
        .contact-form,
        .contact-field input,
        .contact-field textarea,
        .gallery-panel,
        .agreement-card,
        .booking-card,
        .card-order-card,
        .legal-content-card {
            background: linear-gradient(145deg, #FFFFFF 0%, #FAF8F4 45%, #F4ECE1 100%) !important;
            border: 1px solid rgba(184, 92, 42, 0.15) !important;
            box-shadow: 0 14px 36px rgba(22, 39, 38, 0.07) !important;
        }

        /* NOTE: .extra-gutenberg-content / .extra-form-topbar (koirakoulu, muuta/faq
           ym.) poistettu tasta "kortti"-listasta 28.8.2026 - taman vuoksi sivun
           sisaltoteksti nakyi kapeana, reunustettuna ja varjostettuna "korttina"
           sen sijaan etta se olisi taysileveaa tekstisisaltoa. */

        .locations-tab.is-active,
        .pricing-tab.is-active {
            background: linear-gradient(135deg, #B85C2A 0%, #a0622a 100%) !important;
            color: #ffffff !important;
        }

        /* 3. Pricing Section Header & Subheader High Contrast */
        .pricing,
        .pricing-header,
        .pricing-title,
        .pricing-lead,
        .pricing-header h2,
        .pricing-header p,
        .pricing h2,
        .pricing p,
        .pricing-subtitle,
        .pricing-subheadline {
            color: #0D0C0A !important;
        }

        .pricing .pricing-title,
        .pricing-title,
        .pricing h2,
        .pricing-header h2 {
            color: #0D0C0A !important;
            font-weight: 800 !important;
        }

        .pricing .pricing-lead,
        .pricing-lead,
        .pricing p,
        .pricing-header p,
        .pricing-subtitle {
            color: #1A1714 !important;
            opacity: 0.95 !important;
        }

        /* 4. Extra Pages Header Typography & Active Menu Link */
        .extra-brand {
            font-family: Montserrat, Arial, sans-serif !important;
            font-size: 1.55rem !important;
            font-weight: 800 !important;
            letter-spacing: -0.02em !important;
            color: #0D0C0A !important;
            text-decoration: none !important;
        }

        .extra-nav a {
            font-family: Montserrat, Arial, sans-serif !important;
            padding: 0.45rem 0.75rem !important;
            border-radius: 10px !important;
            color: #0D0C0A !important;
            font-weight: 700 !important;
            font-size: 0.92rem !important;
            text-decoration: none !important;
            transition: all 0.15s ease !important;
        }

        .extra-nav a:hover:not(.is-active) {
            background: rgba(184, 92, 42, 0.14) !important;
            color: #B85C2A !important;
        }

        .extra-nav a.is-active {
            background: #B85C2A !important;
            color: #ffffff !important;
            font-weight: 800 !important;
            box-shadow: 0 4px 14px rgba(184, 92, 42, 0.32) !important;
        }

        /* 5. Mobile View Overrides & Responsiveness Fixes */
        @media (max-width: 768px) {
            /* 1. Top Pills Clearance over Koiraparkki Logo */
            .burger-menu {
                top: 0.65rem !important;
                left: 0.65rem !important;
                height: 2.6rem !important;
                padding: 0 0.75rem !important;
                font-size: 0.85rem !important;
            }

            .koiraparkki-global-lang-pill {
                top: 0.65rem !important;
                right: 0.65rem !important;
                height: 2.6rem !important;
                padding: 0.2rem 0.35rem !important;
            }
            .koiraparkki-global-lang-pill button {
                font-size: 0.78rem !important;
                padding: 0.3rem 0.55rem !important;
            }

            /* 2. Perfectly Centered & Vertically Spaced Hero Layout (No Shifting / No Overlap) */
            .hero-logo,
            .site-logo-mobile,
            .site-logo {
                position: absolute !important;
                top: 4.2rem !important;
                left: 50% !important;
                transform: translateX(-50%) !important;
                width: 70px !important;
                height: 70px !important;
                max-width: 70px !important;
                max-height: 70px !important;
                margin: 0 !important;
            }

            .hero-trust-badge {
                position: absolute !important;
                top: 9.8rem !important;
                left: 50% !important;
                transform: translateX(-50%) !important;
                width: 100% !important;
                max-width: 92vw !important;
                font-size: clamp(1.8rem, 8vw, 2.9rem) !important;
                white-space: normal !important;
                word-break: normal !important;
                text-align: center !important;
                margin: 0 !important;
                color: #ffffff !important;
            }

            .hero-headline {
                position: absolute !important;
                top: 13.8rem !important;
                left: 50% !important;
                transform: translateX(-50%) !important;
                width: 100% !important;
                max-width: 90vw !important;
                font-size: clamp(1rem, 4vw, 1.25rem) !important;
                text-align: center !important;
                margin: 0 !important;
            }

            .hero-subheadline {
                position: absolute !important;
                top: 17.2rem !important;
                left: 50% !important;
                transform: translateX(-50%) !important;
                width: 100% !important;
                max-width: 90vw !important;
                font-size: clamp(0.85rem, 3.5vw, 1.05rem) !important;
                text-align: center !important;
                margin: 0 !important;
            }

            .hero-contact-info {
                position: absolute !important;
                top: 21.2rem !important;
                left: 50% !important;
                transform: translateX(-50%) !important;
                width: 100% !important;
                max-width: 92vw !important;
                display: flex !important;
                flex-direction: column !important;
                align-items: center !important;
                justify-content: center !important;
                gap: 0.4rem !important;
                margin: 0 !important;
                text-align: center !important;
            }

            .hero-contact-info a {
                display: inline-block !important;
                max-width: 100% !important;
                word-break: break-all !important;
                font-size: clamp(0.85rem, 3.8vw, 1.02rem) !important;
            }

            /* 3. Bottom Contact Details Patch Responsiveness */
            .contact-details,
            .contact-info,
            .contact-card,
            .contact-block,
            .contact-form,
            .contact-field,
            .info-block {
                width: 100% !important;
                max-width: 100% !important;
                box-sizing: border-box !important;
                margin-left: 0 !important;
                margin-right: 0 !important;
                padding: 1.25rem 0.85rem !important;
                font-size: clamp(0.82rem, 3.8vw, 1.02rem) !important;
                word-break: break-word !important;
                overflow-wrap: anywhere !important;
            }

           .contact-details a,
.contact-card a,
.contact-info a {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    font-size: clamp(0.82rem, 3.8vw, 1.02rem) !important;

            }

.contact-details a[href^="mailto:"],
.contact-card a[href^="mailto:"],
.contact-info a[href^="mailto:"] {
    display: none !important;
}

            /*4.Hide Quote section entirely on mobile */
		.intro-quote {
    		display: none !important;
            }
	    /* 5.Hide "Varaus ja peruutus" and "Sopii erityisesti" cards on mobile */
.pricing-block-booking,
.pricing-block-suitable {
    display: none !important;
}

/* Shrink pricing card typography on mobile (title, price, hours, description, "Hinta sisältää") */
.pricing-service {
    font-size: 0.85rem !important;
}
.pricing-price {
    font-size: 2rem !important;
}
.pricing-unit {
    font-size: 0.8rem !important;
}
.pricing-hours {
    font-size: 0.85rem !important;
    margin-top: 0.6rem !important;
}
.pricing-summary {
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
    margin-top: 0.6rem !important;
}
.pricing-includes .pricing-block-title {
    font-size: 0.85rem !important;
}
.pricing-includes .pricing-list li {
    font-size: 0.85rem !important;
    line-height: 1.4 !important;
}
	

/* 6.Pienennä "Vahva kokemus koirien hoidosta" -otsikkoa ja sen tilaa */
.stats-heading {
    font-size: 1.6rem !important;
    line-height: 1.2 !important;
    margin: 0 0 1rem !important;
}
.stats {
    padding: 2rem 1rem !important;
}

/* Pienennä "Tervetuloa Koiraparkkiin..." -kappale n. 35% */
.stats-rich > p.has-medium-font-size {
    font-size: 0.85rem !important;
    line-height: 1.45 !important;
}

/* Piilota Gutenbergissä "piilota mobiilissa" -merkityt lohkot */
.wp-block-hidden-mobile {
    display: none !important;
}	
        }
    