/* Chic Living – booking engine brand layer (bookings.chicliving.gr, Palmeria + MotoPress).
 * Same tokens as chicliving.gr: Commissioner, off-black ink, one Cretan-green accent, pill controls. */

:root {
	--ck-ink: #151515;
	--ck-ink-2: #3b3b39;
	--ck-muted: #686864;
	--ck-line: #e6e5e1;
	--ck-bg: #fbfbfa;
	--ck-surface: #ffffff;
	--ck-tint: #f2f2ef;
	--ck-accent: #1f3b2c;
	--ck-font: "Commissioner", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* ---------- type ---------- */

body.chic-brand,
body.chic-brand button,
body.chic-brand input,
body.chic-brand select,
body.chic-brand textarea,
body.chic-brand .main-navigation a {
	font-family: var(--ck-font) !important;
}
body.chic-brand { background: var(--ck-bg); color: var(--ck-ink); -webkit-font-smoothing: antialiased; }
body.chic-brand h1, body.chic-brand h2, body.chic-brand h3, body.chic-brand h4,
body.chic-brand .entry-title, body.chic-brand .mphb-room-type-title {
	font-family: var(--ck-font) !important;
	font-weight: 300 !important;
	letter-spacing: -.02em;
	color: var(--ck-ink);
	text-transform: none;
}
body.chic-brand a { color: var(--ck-ink); }
body.chic-brand :focus-visible { outline: 2px solid var(--ck-accent); outline-offset: 2px; }

/* ---------- header ---------- */

body.chic-brand #masthead { background: var(--ck-surface); border-bottom: 1px solid var(--ck-line); box-shadow: none; }
body.chic-brand .custom-logo { width: auto; max-height: 34px; }
body.chic-brand .site-branding .site-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
body.chic-brand .main-navigation a { font-size: .9375rem; font-weight: 500; letter-spacing: .01em; text-transform: none; color: var(--ck-ink); }
/* The off-canvas sidebar also holds the mobile menu: keep it, drop its search and login widgets. */
body.chic-brand #secondary .widget_search,
body.chic-brand #secondary .widget_text { display: none !important; }

/* ---------- hero image ---------- */

body.chic-brand .custom-header { max-height: 46vh; overflow: hidden; }
body.chic-brand .custom-header img { width: 100%; height: 46vh; object-fit: cover; }
body.chic-checkout .custom-header { display: none !important; }

/* ---------- buttons (site-wide) ---------- */

body.chic-brand .button,
body.chic-brand button.button,
body.chic-brand input[type="submit"],
body.chic-brand .mphb-button,
body.chic-brand .mphb-book-button,
body.chic-brand .mphb-reserve-btn {
	min-height: 52px;
	padding: 0 28px !important;
	border: 1px solid var(--ck-ink) !important;
	border-radius: 999px !important;
	background: var(--ck-ink) !important;
	color: #fff !important;
	font: 500 .9375rem/1 var(--ck-font) !important;
	letter-spacing: .01em !important;
	text-transform: none !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background-color .25s, border-color .25s;
}
@media (hover: hover) {
	body.chic-brand .button:hover,
	body.chic-brand input[type="submit"]:hover,
	body.chic-brand .mphb-button:hover { background: var(--ck-ink-2) !important; border-color: var(--ck-ink-2) !important; }
}

/* ---------- checkout ---------- */

/* The theme pulls the content 150px up over the header photo; the checkout has no photo, so undo it
 * (otherwise the header and the page title end up above the screen). */
body.chic-checkout .site-content.wrapper { max-width: 1160px; margin: 0 auto !important; padding-inline: 20px; }
body.chic-checkout .entry-header { margin: 24px 0 4px; text-align: left; }
body.chic-checkout .entry-title { font-size: clamp(1.75rem, 3vw, 2.25rem) !important; font-weight: 400 !important; line-height: 1.15; }
body.chic-checkout .chic-ck-lead { margin: 0 0 24px; color: var(--ck-ink-2); font-size: 1rem; line-height: 1.55; }

/* Guests book as guests: no "returning customer" login or account creation in the way. */
body.chic-checkout .mphb-login-form-wrap,
body.chic-checkout .mphb_sc_checkout-form p:has([name="mphb_create_new_account"]),
body.chic-checkout .mphb_sc_checkout-form .mphb-create-account-wrapper { display: none !important; }

body.chic-checkout .mphb-checkout-section {
	margin: 0 0 16px;
	padding: 24px;
	border: 1px solid var(--ck-line);
	border-radius: 16px;
	background: var(--ck-surface);
}
body.chic-checkout .mphb-checkout-section > h3,
body.chic-checkout .mphb-checkout-section h3,
body.chic-checkout .mphb-room-number {
	margin: 0 0 16px !important;
	font-size: 1.5rem !important;
	line-height: 1.2;
}
body.chic-checkout .mphb-checkout-section label,
body.chic-checkout .mphb_sc_checkout-form label {
	color: var(--ck-ink-2);
	font-size: .875rem;
	font-weight: 500;
}
body.chic-checkout .mphb_sc_checkout-form input[type="text"],
body.chic-checkout .mphb_sc_checkout-form input[type="email"],
body.chic-checkout .mphb_sc_checkout-form input[type="tel"],
body.chic-checkout .mphb_sc_checkout-form select,
body.chic-checkout .mphb_sc_checkout-form textarea {
	width: 100%;
	min-height: 52px;
	padding: 0 16px;
	border: 1px solid #d6d5d0 !important;
	border-radius: 12px !important;
	background: #fff !important;
	color: var(--ck-ink);
	font-size: 16px !important; /* no iOS zoom */
	box-shadow: none !important;
}
body.chic-checkout .mphb_sc_checkout-form textarea { min-height: 120px; padding: 14px 16px; }
body.chic-checkout .mphb_sc_checkout-form input:focus,
body.chic-checkout .mphb_sc_checkout-form select:focus,
body.chic-checkout .mphb_sc_checkout-form textarea:focus {
	border-color: var(--ck-ink) !important;
	outline: 2px solid var(--ck-accent);
	outline-offset: 1px;
}
body.chic-checkout .mphb_sc_checkout-form input[type="checkbox"],
body.chic-checkout .mphb_sc_checkout-form input[type="radio"] { width: 20px; height: 20px; accent-color: var(--ck-ink); vertical-align: -4px; }

/* booking summary + price breakdown */
body.chic-checkout .mphb-booking-details .mphb-check-in-date,
body.chic-checkout .mphb-booking-details .mphb-check-out-date,
body.chic-checkout .mphb-booking-details li,
body.chic-checkout .mphb-booking-details p { border: 0 !important; padding: 6px 0 !important; color: var(--ck-ink-2); }
body.chic-checkout .mphb-price-breakdown { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
body.chic-checkout .mphb-price-breakdown th,
body.chic-checkout .mphb-price-breakdown td { padding: 10px 0 !important; border: 0 !important; border-bottom: 1px solid var(--ck-line) !important; background: none !important; font-size: .9375rem; }
body.chic-checkout .mphb-price-breakdown tfoot th,
body.chic-checkout .mphb-price-breakdown tfoot td,
body.chic-checkout .mphb-price-breakdown .mphb-price-breakdown-total th,
body.chic-checkout .mphb-price-breakdown .mphb-price-breakdown-total td { font-size: 1.125rem; font-weight: 600; color: var(--ck-ink); border-bottom: 0 !important; }
body.chic-checkout .mphb-total-price { font-size: 1.375rem; font-weight: 400; color: var(--ck-ink); }

/* submit */
body.chic-checkout .mphb_sc_checkout-submit-wrapper { margin-top: 8px; }
body.chic-checkout .mphb_sc_checkout-form input[type="submit"],
body.chic-checkout .mphb_sc_checkout-form button[type="submit"] { width: 100%; min-height: 56px; font-size: 1rem !important; }
@media (min-width: 640px) {
	body.chic-checkout .mphb_sc_checkout-form input[type="submit"],
	body.chic-checkout .mphb_sc_checkout-form button[type="submit"] { width: auto; min-width: 280px; }
}

/* footer */
body.chic-brand #colophon { background: var(--ck-surface); border-top: 1px solid var(--ck-line); color: var(--ck-muted); }
body.chic-brand #colophon a { color: var(--ck-ink-2); }

/* checkout spacing + no floating "scroll to top" over the form fields */
body.chic-checkout #wpfront-scroll-top-container { display: none !important; }
body.chic-checkout .mphb-checkout-section > :last-child,
body.chic-checkout .mphb-booking-details > :last-child,
body.chic-checkout .mphb-reserve-rooms-details > :last-child { margin-bottom: 0 !important; }
body.chic-checkout .mphb-booking-details p:empty,
body.chic-checkout .mphb-checkout-section p:empty { display: none; }
body.chic-checkout .mphb-reserve-rooms-details { margin-top: 0 !important; padding-top: 0 !important; }

/* ---------- checkout, compact two-column layout ("confirm and pay") ---------- */

/* the theme spaces every section 100px apart and caps fields at 400px */
body.chic-checkout .mphb_sc_checkout-form .mphb-checkout-section { margin: 0 0 16px !important; padding: 24px; }
body.chic-checkout .mphb_sc_checkout-form p { margin: 0 0 16px; }
body.chic-checkout .mphb_sc_checkout-form p > br { display: none; }
body.chic-checkout .mphb_sc_checkout-form label { display: inline-block; margin-bottom: 6px; }
body.chic-checkout .mphb_sc_checkout-form input[type="text"],
body.chic-checkout .mphb_sc_checkout-form input[type="email"],
body.chic-checkout .mphb_sc_checkout-form input[type="tel"],
body.chic-checkout .mphb_sc_checkout-form select,
body.chic-checkout .mphb_sc_checkout-form textarea { max-width: none !important; }
body.chic-checkout .mphb_sc_checkout-form textarea { min-height: 96px; }
body.chic-checkout .mphb-checkout-section h3,
body.chic-checkout .mphb-checkout-section > h3 { font-size: 1.25rem !important; font-weight: 500 !important; letter-spacing: -.01em; }

/* trip: dates on two short lines, adults + children side by side, one room = no "Accommodation #1" */
body.chic-checkout .mphb-booking-details .mphb-check-in-date,
body.chic-checkout .mphb-booking-details .mphb-check-out-date { margin: 0 !important; padding: 4px 0 !important; }
body.chic-checkout .mphb-reserve-rooms-details { margin-top: 12px !important; }
body.chic-checkout .mphb-room-details:only-child .mphb-room-number,
body.chic-checkout .mphb-reserve-rooms-details > .mphb-room-details:first-child:last-child .mphb-room-number { display: none; }
body.chic-checkout .mphb-room-details { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
body.chic-checkout .mphb-room-details > * { grid-column: 1 / -1; }
body.chic-checkout .mphb-room-details > .mphb-adults-chooser { grid-column: 1; }
body.chic-checkout .mphb-room-details > .mphb-children-chooser { grid-column: 2; }
body.chic-checkout .mphb-room-type-title { margin-bottom: 12px !important; color: var(--ck-ink-2); }
body.chic-checkout .mphb-services-details { margin-top: 4px; padding-top: 16px; border-top: 1px solid var(--ck-line); }
body.chic-checkout .mphb-services-details-title { margin-bottom: 10px !important; font-size: 1rem !important; }
body.chic-checkout .mphb_checkout-services-list { margin: 0; padding: 0; list-style: none; }
body.chic-checkout .mphb_checkout-services-list li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--ck-ink-2); }
body.chic-checkout .mphb_checkout-services-list input[type="number"] { width: 72px; min-height: 40px; padding: 0 10px; border: 1px solid #d6d5d0; border-radius: 10px; }
/* the theme positions checkboxes absolutely over their label text */
body.chic-checkout .mphb-checkbox-label { display: inline-flex !important; align-items: center; gap: 10px; margin: 0 !important; padding-left: 0 !important; }
body.chic-checkout .mphb-checkbox-label input[type="checkbox"] { position: static !important; flex: none; margin: 0 !important; }

/* your information: names and email/phone in pairs */
body.chic-checkout .mphb-customer-details { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
body.chic-checkout .mphb-customer-details > * { grid-column: 1 / -1; }
body.chic-checkout .mphb-customer-details > .mphb-customer-name,
body.chic-checkout .mphb-customer-details > .mphb-customer-email { grid-column: 1; }
body.chic-checkout .mphb-customer-details > .mphb-customer-last-name,
body.chic-checkout .mphb-customer-details > .mphb-customer-phone { grid-column: 2; }
body.chic-checkout .mphb-required-fields-tip { color: var(--ck-muted); font-size: .8125rem; }
@media (max-width: 559px) {
	body.chic-checkout .mphb-customer-details > *,
	body.chic-checkout .mphb-room-details > * { grid-column: 1 / -1 !important; }
}

/* payment, terms, total, submit */
body.chic-checkout .mphb-gateway-description { color: var(--ck-muted); font-size: .9375rem; }
body.chic-checkout .mphb-checkout-terms-wrapper { padding: 16px 24px !important; }
body.chic-checkout .mphb-terms-and-conditions-accept { margin: 0 !important; }
body.chic-checkout .mphb-total-price { display: flex; justify-content: space-between; align-items: baseline; margin: 8px 0 16px !important; }

/* price summary card (moved beside the form by chic-brand.php) */
body.chic-checkout .chic-ck-room { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--ck-line); }
body.chic-checkout .chic-ck-room img { flex: none; width: 96px; height: 72px; border-radius: 12px; object-fit: cover; }
body.chic-checkout .chic-ck-room p { display: grid; gap: 2px; margin: 0 !important; }
body.chic-checkout .chic-ck-room span { color: var(--ck-muted); font-size: .8125rem; }
body.chic-checkout .chic-ck-room strong { font-size: 1.0625rem; font-weight: 500; }
body.chic-checkout .mphb-price-breakdown-title { margin-bottom: 8px !important; }
body.chic-checkout .mphb-price-breakdown-expand { text-decoration: none; }
body.chic-checkout .mphb-price-breakdown-expand .mphb-inner-icon { display: inline-grid; place-items: center; width: 20px; height: 20px; margin-right: 8px; border: 1px solid var(--ck-line); border-radius: 6px; font-size: .875rem; line-height: 1; }
body.chic-checkout .mphb-price-breakdown-expand .mphb-inner-icon.mphb-hide { display: none; }
body.chic-checkout .chic-ck-aside .mphb-coupon-code-wrapper { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; padding: 16px 24px; }
body.chic-checkout .chic-ck-aside .mphb-coupon-code-wrapper > p { margin: 0; }
body.chic-checkout .chic-ck-aside .mphb-coupon-code-wrapper > p:first-child { flex: 1 1 180px; }
body.chic-checkout .chic-ck-aside .mphb-coupon-code-wrapper .button { min-height: 52px; }

@media (min-width: 960px) {
	body.chic-checkout .mphb_sc_checkout-form.chic-ck-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 0 48px; align-items: start; }
	body.chic-checkout .chic-ck-main { grid-column: 1; grid-row: 1; min-width: 0; }
	body.chic-checkout .chic-ck-aside { grid-column: 2; grid-row: 1; position: sticky; top: 24px; }
	body.chic-checkout .chic-ck-lead { max-width: 60ch; }
}
/* the theme narrows the checkout to 80%; use the full content width for the two columns */
body.chic-checkout .mphb_sc_checkout-wrapper { max-width: none !important; margin-inline: 0 !important; }
body.chic-checkout .entry-header,
body.chic-checkout .chic-ck-lead { max-width: none; margin-inline: 0; }
body.chic-checkout .entry-header,
body.chic-checkout .entry-content > .chic-ck-lead { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
/* html/body overflow:hidden would stop the price card from staying in view; clip does not */
html:has(body.chic-checkout),
body.chic-checkout { overflow: visible !important; overflow-x: clip !important; }
/* the theme's menu button is 20x20: give it a 44px touch area */
body.chic-brand #sidebar-open { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; }
