/* =====================================================
   CANCELATION POLICY - FULL WIDTH SINGLE COLUMN
   Hero Left Aligned (Original Style)
===================================================== */

.cancel-page{background:#fff}
.cancel-page .container{width:min(100% - 24px,var(--container));margin:0 auto}
.cancel-page .section{padding:70px 0}

/* ===================== HERO (Original Left Aligned) ===================== */
.legal-hero{position:relative;min-height:clamp(430px,62vh,620px);display:flex;align-items:flex-end;overflow:hidden;background:#08111f;color:#fff}
.legal-hero-media,.legal-hero-media img,.legal-hero-overlay{position:absolute;inset:0}
.legal-hero-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.03)}
.legal-hero-overlay{background:linear-gradient(90deg,rgba(7,14,30,.72) 0%,rgba(7,14,30,.52) 36%,rgba(7,14,30,.28) 64%,rgba(7,14,30,.22) 100%),linear-gradient(180deg,rgba(5,10,20,.10) 0%,rgba(5,10,20,.20) 30%,rgba(5,10,20,.62) 100%)}

.legal-hero .container{position:relative;z-index:2;width:100%}
.legal-hero-layout{display:flex;align-items:flex-end;min-height:clamp(430px,62vh,620px);padding:112px 0 46px}

.legal-hero-card{
  width:min(720px,100%);
  margin-left:clamp(8px,4vw,40px);
  padding:28px 30px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.06));
  backdrop-filter:blur(10px);
  box-shadow:0 18px 54px rgba(0,0,0,.20);
}

.legal-breadcrumb{margin:0 0 14px}
.legal-breadcrumb ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.legal-breadcrumb li{display:flex;align-items:center;color:rgba(255,255,255,.88);font-size:.92rem}
.legal-breadcrumb li+li::before{content:"/";margin-right:8px;color:rgba(255,255,255,.56)}
.legal-breadcrumb a{color:rgba(255,255,255,.88);text-decoration:none;transition:opacity .25s ease}
.legal-breadcrumb a:hover{opacity:.76}

.legal-kicker{display:inline-flex;align-items:center;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.16);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}

.legal-hero h1{margin:0 0 14px;font-size:clamp(2.05rem,4.5vw,3.6rem);line-height:1.08;letter-spacing:-.03em;color:#fff;text-wrap:balance}
.legal-hero-lead{margin:0;max-width:620px;color:rgba(255,255,255,.93);font-size:1rem;line-height:1.88}

/* ===================== SINGLE COLUMN FULL WIDTH ===================== */
.legal-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
}

/* Section Heading */
.legal-section-head{margin-bottom:20px}
.legal-section-head.alt-head{margin-top:40px}
.legal-section-head h2{
  font-size:clamp(1.75rem,2.8vw,2.4rem);
  line-height:1.2;
  letter-spacing:-.02em;
  color:var(--text);
}

/* ===================== CONTENT CARDS ===================== */
.legal-content-card{
  background:#fff;
  border:1px solid rgba(232,237,244,.9);
  border-radius:24px;
  padding:34px;
  box-shadow:0 12px 40px rgba(15,23,42,.06);
  transition:all 0.3s ease;
}
.legal-content-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 50px rgba(15,23,42,.09);
}

.legal-content-card > p{
  margin:0 0 24px;
  color:var(--text-soft);
  line-height:1.9;
}

/* Policy Points */
.policy-points{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:18px;
  margin-top:24px;
}

.policy-point{
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  transition:all 0.3s ease;
}
.policy-point:hover{
  border-color:#94a3b8;
  transform:translateY(-4px);
  box-shadow:0 15px 35px rgba(15,23,42,.08);
}
.policy-point h3{
  margin:0 0 10px;
  font-size:1.1rem;
  color:var(--text);
}
.policy-point p{
  margin:0;
  color:var(--text-soft);
  line-height:1.85;
}

/* Status Colors */
.policy-point.good{border-left:6px solid #22c55e}
.policy-point.warning{border-left:6px solid #eab308}
.policy-point.danger{border-left:6px solid #ef4444}

/* Notes */
.policy-note,
.policy-highlight{
  margin:24px 0;
  padding:20px 24px;
  border-radius:16px;
}
.policy-note{background:#f0f7ff;border-left:5px solid #2563eb}
.policy-highlight{background:#fff7ed;border-left:5px solid #f59e0b}

/* ===================== CALCULATOR ===================== */
.calculator-card{
  background:linear-gradient(180deg,#fff,#f8fbff);
  border:1px solid rgba(232,237,244,.9);
  border-radius:24px;
  padding:34px;
}
.calc-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:20px;
  align-items:end;
  margin-top:22px;
}
.calc-grid label{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:.93rem;
  color:var(--text-soft);
}
.calc-grid input{
  padding:15px 18px;
  border:1.5px solid #e2e8f0;
  border-radius:14px;
  font-size:1.05rem;
}
.calc-grid input:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 4px rgba(37,99,235,.15);
}
.calc-result{
  margin-top:26px;
  padding:26px;
  border-radius:16px;
  background:#0f172a;
  color:#f1f5f9;
  display:none;
  animation:fadeIn 0.4s ease forwards;
}
@keyframes fadeIn{from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:none}}

/* ===================== SIDEBAR (Stacked) ===================== */
.legal-side-card{
  background:#fff;
  border:1px solid rgba(232,237,244,.9);
  border-radius:24px;
  padding:30px;
  box-shadow:0 12px 40px rgba(15,23,42,.06);
}
.legal-side-card h3{
  margin:0 0 18px;
  font-size:1.22rem;
  color:var(--text);
}
.legal-contact-list{
  list-style:none;
  padding:0;
  margin:0 0 22px;
  display:grid;
  gap:12px;
}
.legal-contact-list a{color:var(--green-dark);text-decoration:none}

/* ===================== RESPONSIVE ===================== */
@media (max-width:1180px){
  .legal-grid{grid-template-columns:1fr}
}

@media (max-width:860px){
  .legal-hero-card{margin-left:0; margin-right:auto}
  .legal-content-card,
  .legal-side-card,
  .calculator-card{padding:26px}
  .calc-grid{grid-template-columns:1fr}
}

@media (max-width:640px){
  .cancel-page .section{padding:54px 0}
  .legal-hero{min-height:360px}
  .legal-hero-layout{padding:82px 0 36px}
}

@media (max-width:480px){
  .legal-hero-card,
  .legal-content-card,
  .legal-side-card,
  .policy-point{border-radius:18px}
  .legal-content-card{padding:22px}
  .policy-points{grid-template-columns:1fr}
}

/* ===================== RELATED PAGES ===================== */
.related-desc {
  color: var(--text-soft);
  margin: 0 0 20px 0;
  font-size: 0.94rem;
  line-height: 1.6;
}

.related-links {
  display: grid;
  gap: 14px;
}

.related-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  text-decoration: none;
  color: var(--text);
  transition: all 0.3s ease;
}

.related-item:hover {
  background: #f0f9ff;
  border-color: #2563eb;
  transform: translateX(8px);
  box-shadow: 0 10px 25px rgba(37, 99, 235, 0.12);
}

.related-item .icon {
  font-size: 1.6rem;
  width: 34px;
  flex-shrink: 0;
}

.related-text strong {
  display: block;
  font-size: 1.03rem;
}

.related-text small {
  color: #64748b;
  font-size: 0.87rem;
}