@import url('https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,400;0,600;0,800;0,900;1,400&display=swap');
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
:root {
--navy: #0f2a52;
--gold: #f5c000;
--page: #f7f5f0;
--surface: #ffffff;
--border: #e0dbd0;
--text: #1a1714;
--text-mid: #4a4540;
--text-dim: #7a7268;
}
body {
font-family: 'Inter', sans-serif;
background: var(--page);
color: var(--text);
margin: 0;
}
/* HEADER */
.site-header {
background: var(--navy);
padding: 18px 36px;
display: flex;
align-items: center;
justify-content: space-between;
}
.header-title {
font-size: 20px;
font-weight: 700;
display: flex;
align-items: center;
}
.brand {
color: var(--gold); /* Changed to yellow */
display: flex;
align-items: center;
}
.location { /* Added style for the new location part */
color: white; /* Changed to white */
}
.divider {
color: white;
margin: 0 8px;
}
.header-cta {
background: #FFD700;
color: black;
font-weight: 700;
padding: 10px 18px;
border-radius: 8px;
text-decoration: none;
border: 2px solid black;
}
.header-cta:hover {
filter: brightness(0.95);
}
/* BLOCK STYLES - White background squares for each term */
.block {
max-width: 1080px;
margin: 0 auto 48px auto;
background: var(--surface);
border-radius: 24px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
padding: 48px 36px 56px;
text-align: center;
}
/* Center content inside blocks */
.block > div {
max-width: 900px;
margin-left: auto;
margin-right: auto;
text-align: left;
}

/* MAIN TITLE - Payment & Policies (no background) */
.block:first-child .title:first-of-type {
background: transparent !important;
color: var(--navy) !important;
padding: 0 !important;
border-radius: 0 !important;
display: block !important;
font-size: clamp(36px, 6vw, 68px) !important;
font-weight: 900 !important;
letter-spacing: -0.04em !important;
margin-bottom: 16px !important;
text-align: center !important;
}

/* SECTION TITLES - Blue horizontal bar with yellow text */
.section-title {
background: var(--navy) !important;
color: var(--gold) !important;
display: inline-block !important;
padding: 10px 32px !important;
border-radius: 0 !important;
font-size: 18px !important; /* Adjusted size */
font-weight: 800 !important;
letter-spacing: 0.05em !important;
margin-bottom: 12px !important; /* Space below title */
margin-top: 16px !important; /* Space above title */
text-align: center !important;
width: auto !important;
text-transform: uppercase;
}

/* Container for each policy section */
.policy-section {
margin-bottom: 20px; /* Add space between sections */
padding: 10px 0; /* Add vertical padding inside each section */
border-bottom: 1px solid var(--border); /* Optional: subtle separation line */
}

/* LIST STYLES - adjusted for policy sections */
.list {
background: transparent;
border: none;
padding: 0;
}

.list p {
font-size: 15px;
font-weight: 500;
color: var(--text-mid);
line-height: 1.6;
margin-bottom: 8px; /* Space between paragraphs */
}

/* CARD STYLES for cancellation section */
.card {
background: var(--surface);
border: 1px solid var(--border);
border-radius: 16px;
overflow: hidden;
}
.top {
background: var(--navy);
color: var(--gold);
font-weight: 800;
font-size: 13px;
letter-spacing: 0.08em;
text-transform: uppercase;
padding: 14px 18px;
border-bottom: 2px solid var(--gold);
}
.bottom {
padding: 18px 20px;
color: var(--text-mid);
font-size: 14px;
line-height: 1.6;
}
/* GRID for cancellation cards */
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 16px;
}
/* LINKS */
a {
text-decoration: none;
}
.inline-link:hover {
text-decoration: underline;
}
/* RESPONSIVE */
@media (max-width: 768px) {
.block {
padding: 32px 20px 40px;
margin: 0 16px 32px 16px;
}
.site-header {
padding: 18px 20px;
}
.header-title {
font-size: 16px;
}
.header-cta {
padding: 8px 14px;
font-size: 14px;
}
}