/* ============================================================
   Content pages (About, legal, info) — editorial header + prose.
   ============================================================ */

.page-main { padding-bottom: clamp(3rem, 6vw, 6rem); }

/* ---- header band ---- */
.page-hero {
    border-bottom: 1px solid #000;
    padding: clamp(1.5rem, 4vw, 3rem) 0 clamp(1.5rem, 3vw, 2.5rem);
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
    background: #fff;
}
.page-hero__title {
    margin: .4rem 0 0;
    font: 700 clamp(1.8rem, 4vw, 3rem)/1.05 "Montserrat", sans-serif;
    letter-spacing: .01em; text-transform: uppercase;
}
.page-hero .icelandro-breadcrumbs,
.page-hero .breadcrumbs { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: #8a8a8a; }

/* ---- readable prose column ---- */
.page-body { display: flex; justify-content: center; }
.prose {
    width: 100%; max-width: 760px;
    font: 400 1rem/1.75 "Montserrat", sans-serif; color: #222;
}
.prose > :first-child { margin-top: 0; }
.prose h2 { font-size: clamp(1.3rem, 2.4vw, 1.7rem); font-weight: 700; letter-spacing: .01em; text-transform: uppercase; margin: 2.6rem 0 1rem; line-height: 1.15; }
.prose h3 { font-size: 1.15rem; font-weight: 700; margin: 2rem 0 .75rem; }
.prose h4 { font-size: 1rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; margin: 1.6rem 0 .5rem; }
.prose p { margin: 0 0 1.15rem; }
.prose strong { font-weight: 700; color: #000; }
.prose a { color: #000; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.prose a:hover { color: #555; }
.prose ul, .prose ol { margin: 0 0 1.25rem; padding-left: 1.3rem; }
.prose li { margin: 0 0 .55rem; }
.prose ul li { list-style: none; position: relative; padding-left: 1.1rem; }
.prose ul li::before { content: ""; position: absolute; left: 0; top: .72em; width: 6px; height: 6px; background: #000; }
.prose ol { padding-left: 1.5rem; }
.prose hr { border: 0; border-top: 1px solid #e2e2e2; margin: 2.5rem 0; }
.prose blockquote { margin: 1.5rem 0; padding: .25rem 0 .25rem 1.25rem; border-left: 3px solid #000; font-style: italic; color: #333; }
.prose img { max-width: 100%; height: auto; margin: 1.5rem 0; }
.prose table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: .92rem; }
.prose th, .prose td { border: 1px solid #ddd; padding: .65rem .8rem; text-align: left; vertical-align: top; }
.prose th { background: #f6f6f6; font-weight: 700; }

/* a contained info card used by store / contact pages */
.prose .info-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin: 1.5rem 0; }
.prose .info-card { border: 1px solid #e2e2e2; padding: 1.1rem 1.2rem; }
.prose .info-card h3 { margin: 0 0 .4rem; font-size: 1rem; text-transform: uppercase; letter-spacing: .03em; }
.prose .info-card p { margin: 0; font-size: .92rem; line-height: 1.6; color: #444; }

/* WooCommerce pages (cart/checkout/account) — full width, no prose constraint */
.page-body--wide { display: block; }
.page-body--wide > * { max-width: none; }
