/* Policy Document pages — shared by Delivery Shipping Policy, Reservation
   Return Refund Policy, Privacy/Health Policy, and any future page of the
   same shape. Section rhythm follows the rest of the site: 80px desktop →
   60px at ≤1024px → 40px at ≤767px. The page-hero band itself is
   unmodified — plain mint, matching every other inner page. */

/* Reused everywhere a small "line — heart — line" rule sits under a title */
.pol-divider {
    display:     flex;
    align-items: center;
    justify-content: center;
    gap:         10px;
    margin:      10px 0 16px;
    color:       var(--color-primary);
}
.pol-divider span { display: block; width: 36px; height: 1px; background: var(--color-border); }
.pol-divider--left { justify-content: flex-start; }

/* ── Photo + intro banner ───────────────────────────────────────────────── */
.pol-hero { padding: 40px 0 0; }

.pol-hero__banner {
    display:       flex;
    align-items:   stretch;
    gap:           40px;
    padding:       40px;
    border-radius: var(--radius-img);
    background:    linear-gradient(135deg, var(--color-pink-50), var(--color-pink-100));
}

.pol-hero__media {
    flex:          0 0 42%;
    border-radius: var(--radius-img);
    overflow:      hidden;
}
.pol-hero__media img { display: block; width: 100%; height: 100%; min-height: 280px; object-fit: cover; }

.pol-hero__quote {
    position:      relative;
    flex:          1;
    display:       flex;
    flex-direction: column;
    align-items:   center;
    justify-content: center;
    text-align:    center;
    padding:       32px 40px;
    background:    rgba(255, 255, 255, 0.95);
    border-radius: var(--radius);
    box-shadow:    var(--shadow-block);
}

.pol-hero__paw {
    display:         flex;
    align-items:     center;
    justify-content: center;
    width:           40px;
    height:          40px;
    margin-bottom:   12px;
    border-radius:   50%;
    background:      var(--color-pink-50);
    color:           var(--color-primary);
}

.pol-hero__title { margin: 0; font-size: 30px; line-height: 38px; font-weight: 600; }

.pol-hero__text { max-width: 480px; font-size: 15px; line-height: 23px; color: var(--color-muted); }
.pol-hero__text p { margin: 0 0 10px; }
.pol-hero__text p:last-child { margin-bottom: 0; }

/* The whole card — folded-corner file icon + label — is one clickable
   block, same idea as the DOCX/PDF badge on the download bar below, just
   stacked and scaled down to sit inside the quote card. */
.pol-hero__doc {
    display:         flex;
    flex-direction:  column;
    align-items:     center;
    margin-top:      20px;
    text-decoration: none;
    transition:      transform var(--transition);
}
.pol-hero__doc:hover { transform: translateY(-2px); }

.pol-hero__doc-icon {
    position:        relative;
    display:         flex;
    align-items:     flex-end;
    justify-content: center;
    width:           58px;
    height:          70px;
    margin-bottom:   10px;
    padding-bottom:  10px;
    background:      linear-gradient(160deg, var(--color-primary-light) 0%, var(--color-primary) 100%);
    /* Flat-cut top-right corner — the ::before triangle below sits in the
       notch to read as a folded page corner. */
    clip-path:       polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%);
    border-radius:   8px;
    box-shadow:       var(--shadow-btn-pink);
}
.pol-hero__doc-icon::before {
    content:      '';
    position:     absolute;
    top:          0;
    right:        0;
    width:        0;
    height:       0;
    border-style: solid;
    border-width: 16px 16px 0 0;
    border-color: rgba(255, 255, 255, 0.55) transparent transparent transparent;
}
.pol-hero__doc-ext {
    font-size:      11px;
    font-weight:    800;
    letter-spacing: 0.04em;
    color:          #ffffff;
}

.pol-hero__doc-label {
    display:     inline-flex;
    align-items: center;
    gap:         6px;
    font-size:   14px;
    font-weight: 700;
    color:       var(--color-primary);
    transition:  color var(--transition);
}
.pol-hero__doc:hover .pol-hero__doc-label { color: var(--color-primary-dark); }

/* ── Download bar ────────────────────────────────────────────────────────── */
.pol-download { padding: 40px 0 0; }

.pol-download__bar {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    flex-wrap:       wrap;
    gap:             20px;
    padding:         24px 32px;
    background:      #ffffff;
    border:          1px solid var(--color-border-light);
    border-radius:   var(--radius);
    box-shadow:      var(--shadow-block);
}

.pol-download__info { display: flex; align-items: center; gap: 20px; }

.pol-download__badge {
    flex-shrink:     0;
    display:         flex;
    align-items:     center;
    justify-content: center;
    width:           56px;
    height:          64px;
    border-radius:   10px;
    background:      linear-gradient(180deg, var(--color-primary-light) 0%, var(--color-primary) 100%);
    color:           #ffffff;
    font-size:       12px;
    font-weight:     800;
    letter-spacing:  0.03em;
}

.pol-download__title { margin: 0; font-size: 18px; line-height: 24px; font-weight: 700; color: var(--color-text); }
.pol-download__type,
.pol-download__meta { margin: 2px 0 0; font-size: 13px; line-height: 18px; color: var(--color-muted); }

.pol-download__action { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.pol-download__btn { display: inline-flex; align-items: center; gap: 8px; }
.pol-download__note { margin: 0; font-size: 12px; color: var(--color-muted); }

/* ── "What it covers" + "Need help" ─────────────────────────────────────── */
.pol-info { padding: 40px 0 80px; }

.pol-info__grid {
    display:               grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:                   24px;
    align-items:           stretch;
}

.pol-info__card {
    padding:       32px;
    background:    var(--color-pink-50);
    border-radius: var(--radius);
}

.pol-info__card-title { margin: 0; font-size: 20px; line-height: 26px; font-weight: 700; color: var(--color-text); }

.pol-covers { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }

.pol-covers__item { display: flex; align-items: flex-start; gap: 14px; }

.pol-covers__icon {
    flex-shrink:     0;
    display:         flex;
    align-items:     center;
    justify-content: center;
    width:           40px;
    height:          40px;
    border-radius:   50%;
    background:      #ffffff;
    color:           var(--color-primary);
}
.pol-covers__item:nth-child(even) .pol-covers__icon { color: var(--color-secondary); }

.pol-covers__title { margin: 0; font-size: 15px; line-height: 21px; font-weight: 600; color: var(--color-text); }
.pol-covers__text { margin: 2px 0 0; font-size: 13px; line-height: 19px; color: var(--color-muted); }

.pol-info__card--help { display: flex; align-items: center; gap: 24px; }

.pol-info__help-media {
    flex-shrink:   0;
    width:         140px;
    height:        140px;
    border-radius: var(--radius-img);
    overflow:      hidden;
}
.pol-info__help-media img { display: block; width: 100%; height: 100%; object-fit: cover; }

.pol-info__help-body { flex: 1; min-width: 0; text-align: center; }
.pol-info__help-text { margin: 0 0 20px; font-size: 14px; line-height: 21px; color: var(--color-muted); }

.pol-info__help-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; }
.pol-info__help-btn {
    height:         40px;
    padding:        0 18px;
    font-size:      13px;
    letter-spacing: 0;
}
.pol-info__help-note { margin: 12px 0 0; font-size: 12px; color: var(--color-muted); }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .pol-hero__banner { padding: 28px; gap: 28px; }
    .pol-hero__media { flex-basis: 38%; }
    .pol-hero__quote { padding: 28px; }
    .pol-hero__title { font-size: 26px; line-height: 32px; }

    .pol-download { padding: 30px 0 0; }
    .pol-info { padding: 30px 0 60px; }

    .pol-info__card--help { flex-direction: column; text-align: center; }
    .pol-info__help-media { width: 120px; height: 120px; }
}

@media (max-width: 767px) {
    .pol-hero { padding: 24px 0 0; }
    .pol-hero__banner { flex-direction: column; padding: 20px; gap: 20px; }
    .pol-hero__media img { min-height: 200px; }
    .pol-hero__quote { padding: 24px; }
    .pol-hero__title { font-size: 22px; line-height: 28px; }

    .pol-download { padding: 24px 0 0; }
    .pol-download__bar { padding: 20px; justify-content: center; text-align: center; }
    .pol-download__info { flex-direction: column; text-align: center; }
    .pol-download__action { align-items: center; width: 100%; }
    .pol-download__btn { width: 100%; }

    .pol-info { padding: 24px 0 40px; }
    .pol-info__grid { grid-template-columns: minmax(0, 1fr); }
    .pol-info__card { padding: 24px; }
}
