/*
Theme Name: Hotel Corali
Description: Child theme of Flatsome for hotel-corali.gr (style B, "Aegean whitewash").
Author: tsyn.dev
Template: flatsome
Version: 1.4.3
Text Domain: hotelcorali
*/

/* ---- Fonts (self-hosted). Lora has no Greek, so Greek headings use Literata under the same family name. ---- */
@font-face { font-family: "Lora"; font-weight: 400; font-display: swap; src: url(assets/fonts/lora-latin-400.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lora"; font-weight: 600; font-display: swap; src: url(assets/fonts/lora-latin-600.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lora"; font-weight: 400; font-display: swap; src: url(assets/fonts/literata-greek-400.woff2) format("woff2"); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: "Lora"; font-weight: 600; font-display: swap; src: url(assets/fonts/literata-greek-600.woff2) format("woff2"); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: "Source Sans 3"; font-weight: 400; font-display: swap; src: url(assets/fonts/source-sans-3-latin-400.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Sans 3"; font-weight: 600; font-display: swap; src: url(assets/fonts/source-sans-3-latin-600.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Source Sans 3"; font-weight: 400; font-display: swap; src: url(assets/fonts/source-sans-3-greek-400.woff2) format("woff2"); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: "Source Sans 3"; font-weight: 600; font-display: swap; src: url(assets/fonts/source-sans-3-greek-600.woff2) format("woff2"); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }

/* ---- Design tokens ---- */
:root {
	--hc-blue:#24589A;
	--hc-blue-dark:#173A66;
	--hc-sand:#E9DCC4;
	--hc-sand-light:#F3EBDD;
	--hc-bg:#FBFAF7;
	--hc-text:#1F2D3A;
	--hc-accent:#8A6D3B;
	--hc-serif:"Lora", Georgia, "Times New Roman", serif;
	--hc-sans:"Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;
}

body { font-family: var(--hc-sans); color: var(--hc-text); background: var(--hc-bg); }
h1, h2, h3, h4, .heading-font, .nav > li > a, .section-title { font-family: var(--hc-serif); }
h1, h2, h3, h4 { color: var(--hc-blue); font-weight: 600; text-transform: none; letter-spacing: 0; }

/* ---- Utility classes used by the page content ---- */
.hc-arch img, img.hc-arch { border-radius: 160px 160px 8px 8px; aspect-ratio: 4/3; object-fit: cover; width: 100%; }
.hc-facts { background: var(--hc-blue); color: #fff; }
.hc-facts strong, .hc-facts b { display: block; font-family: var(--hc-serif); font-size: 1.15em; color: #fff; }
.hc-card { background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 1px 4px rgba(0,0,0,.08); height: 100%; }
.hc-card img { aspect-ratio: 4/3; object-fit: cover; width: 100%; display: block; }
.hc-card .hc-card-body { padding: 12px 14px; }
.hc-sand { background: var(--hc-sand-light); }
.hc-tag { color: var(--hc-accent); font-weight: 600; font-size: .85em; letter-spacing: .03em; margin-bottom: .3em; }

/* No all-caps: Flatsome hard-codes nav-uppercase on the phone block and the mobile menu */
.nav-uppercase > li > a, .nav-uppercase .nav-top-link, .header-contact a, .nav-sidebar a { text-transform: none; letter-spacing: 0; }

/* Buttons: primary blue, secondary sand */
.button.primary:not(.is-outline) { background-color: var(--hc-blue); }
.button.primary.is-outline { color: var(--hc-blue); border-color: var(--hc-blue); }
.button.primary.is-outline:hover { background-color: var(--hc-blue); color: #fff; }
.button.secondary:not(.is-outline) { background-color: var(--hc-sand); color: var(--hc-text); }
.button { border-radius: 4px; text-transform: none; letter-spacing: 0; }

/* ---- Page content ---- */
.lead { font-size: 1.15em; line-height: 1.55; }
.hc-facts p { margin: 0; color: #fff; }
.hc-book h2, .hc-book p { color: #fff; }
.hc-card ul { margin: .5em 0 0 1.1em; }
.hc-gallery-preview img, .hc-room-photos img { border-radius: 8px; width: 100%; height: auto; display: block; }
.hc-room-photos { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.hc-prices { width: 100%; max-width: 420px; }
.hc-prices th { color: var(--hc-accent); font-weight: 600; text-transform: none; letter-spacing: 0; }
.hc-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; margin-top: 1em; }
.hc-gal-item { margin: 0; }
.hc-gal-item.is-wide { grid-column: span 2; }
.hc-gal-item img { width: 100%; height: auto; border-radius: 6px; display: block; }
figcaption { font-size: .9em; color: #5b6772; margin-top: .35em; }
.corali-map { border-radius: 8px; z-index: 0; }
.corali-map-link { margin-top: .5em; }
.hc-bank { background: #fff; border: 1px solid var(--hc-sand); border-radius: 6px; padding: 16px 18px; font-size: .95em; overflow-wrap: anywhere; }
.hc-enquiry { margin-top: 1em; }
@media (max-width: 549px) { .hc-gal-item.is-wide { grid-column: auto; } }

/* ---- Footer ---- */
.hc-footer { background: var(--hc-blue-dark); color: #cfd9e2; padding: 36px 20px 18px; font-size: .95em; }
.hc-footer a { color: #fff; }
.hc-footer h4 { color: #fff; font-size: 1.1em; margin-bottom: .4em; }
.hc-footer-cols { max-width: 1080px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.hc-espa { max-width: 1080px; margin: 24px auto 0; background: #fff; border-radius: 6px; padding: 8px; }
.hc-espa img { display: block; width: 100%; height: auto; }
.hc-footer-bottom { max-width: 1080px; margin: 16px auto 0; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: .9em; }

/* ---- Sticky Call / Enquire bar (phones) ---- */
#hc-mobile-bar { display: none; }
@media (max-width: 849px) {
	#hc-mobile-bar { display: grid; grid-template-columns: 1fr 1fr; position: fixed; left: 0; right: 0; bottom: 0; z-index: 99;
		padding-bottom: env(safe-area-inset-bottom, 0px); background: var(--hc-sand); box-shadow: 0 -2px 8px rgba(0,0,0,.12); }
	#hc-mobile-bar a { display: flex; align-items: center; justify-content: center; min-height: 52px; font-weight: 600; font-size: 1.05em; }
	#hc-mobile-bar .hc-call { background: var(--hc-blue); color: #fff; }
	#hc-mobile-bar .hc-enquire { color: var(--hc-text); }
	body { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }
	.back-to-top { bottom: 70px; }
}

@media only screen and (max-width: 48em) {
	.hc-arch img, img.hc-arch { border-radius: 90px 90px 6px 6px; }
	.hc-footer-cols { grid-template-columns: 1fr; gap: 12px; }
}

/* ---- Enquiry form ---- */
.hc-form-note { font-size: .9em; margin-top: .6em; }
.hc-book .hc-enquiry { max-width: 640px; margin: 1.5em auto 0; text-align: left; background: #fff; color: var(--hc-text); border-radius: 8px; padding: 18px; }
.hc-book .hc-enquiry label, .hc-book .hc-enquiry p { color: var(--hc-text); }
.hc-book .hc-form-note a { color: var(--hc-blue); }
.fluentform .hc-date { max-width: 220px; display: inline-block; margin-right: 12px; vertical-align: top; }
