/* Blog, archive, singular and standard-page presentation. */
/* Content templates */
.content-area { min-height: 72vh; padding: 160px 0 110px; background: var(--paper); }
.entry-shell { max-width: 850px; }
.archive-shell { max-width: 1120px; }
.archive-header { max-width: 850px; margin-bottom: 58px; }
.archive-description { max-width: 690px; color: var(--ink-soft); font-size: 18px; }
.entry-header { margin-bottom: 34px; }
.entry-title { margin: 0; font-size: clamp(44px, 6vw, 74px); line-height: 0.98; letter-spacing: -0.052em; }
.post-meta { margin: 0 0 10px; color: var(--coral-dark); font-size: 12px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.featured-image { margin: 0 0 46px; overflow: hidden; border-radius: var(--radius-md); box-shadow: var(--shadow); }
.featured-image img { width: 100%; }
.entry-content { color: #344254; font-size: 18px; overflow-wrap: anywhere; }
.entry-content > * { margin-top: 0; margin-bottom: 1.45em; }
.entry-content > :where(h2, h3, h4) { margin-top: 1.7em; margin-bottom: 0.65em; color: var(--ink); line-height: 1.12; letter-spacing: -0.035em; }
.entry-content h2 { font-size: clamp(30px, 4vw, 44px); }
.entry-content h3 { font-size: clamp(24px, 3vw, 32px); }
.entry-content a:not(.wp-element-button) { color: var(--coral-dark); text-decoration: underline; text-decoration-thickness: 0.09em; text-underline-offset: 0.17em; }
.entry-content a:not(.wp-element-button):hover { text-decoration-thickness: 0.14em; }
.entry-content :where(ul, ol) { padding-left: 1.25em; }
.entry-content blockquote { margin-left: 0; padding: 0.2em 0 0.2em 1.25em; border-left: 4px solid var(--coral); color: var(--ink); font-family: var(--accent); font-size: 1.25em; font-style: italic; }
.entry-content pre { max-width: 100%; overflow: auto; padding: 20px; border-radius: 14px; color: #fff; background: var(--ink); font-size: 0.88em; }
.entry-content table { width: 100%; border-collapse: collapse; }
.entry-content :where(th, td) { padding: 12px; border: 1px solid var(--line); text-align: left; }
.entry-content .alignwide { width: min(1120px, calc(100vw - 40px)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.entry-content .alignfull { width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); }
.entry-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 42px; padding-top: 22px; border-top: 1px solid var(--line); font-size: 14px; }

/* Standard pages — Customizer-driven editorial layout */
.page-content-area { padding: 0; background: var(--paper); }
.page-hero-section {
  position: relative;
  overflow: hidden;
  padding: clamp(145px, 13vw, 190px) 0 clamp(92px, 9vw, 132px);
  border-bottom: 1px solid var(--line);
}
.page-hero--grid {
  background-color: var(--ice);
  background-image: linear-gradient(rgba(7,24,44,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(7,24,44,.045) 1px, transparent 1px);
  background-size: 42px 42px;
}
.page-hero--grid.page-hero--decorated::before,
.page-hero--grid.page-hero--decorated::after,
.page-hero--dark.page-hero--decorated::before,
.page-hero--dark.page-hero--decorated::after {
  content: ""; position: absolute; width: 360px; height: 360px; border-radius: 50%; filter: blur(82px); pointer-events: none;
}
.page-hero--grid.page-hero--decorated::before { left: -190px; top: 70px; background: rgba(4,148,166,.25); }
.page-hero--grid.page-hero--decorated::after { right: -150px; bottom: -190px; background: rgba(255,93,80,.22); }
.page-hero--paper { background: var(--paper); }
.page-hero--dark { color: #fff; background: linear-gradient(125deg, #07182c 8%, #07283d 62%, #433033 130%); }
.page-hero--dark.page-hero--decorated::before { left: -200px; bottom: -210px; background: rgba(0,177,178,.55); }
.page-hero--dark.page-hero--decorated::after { right: -170px; top: -190px; background: rgba(255,93,80,.48); }
.page-hero-shell { position: relative; z-index: 1; }
.page-hero-copy { width: min(100%, 980px); margin-inline: auto; }
.page-heading-center .page-hero-copy { margin-inline: auto; text-align: center; }
.page-heading-center .page-breadcrumbs { justify-content: center; }
.page-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 28px; color: var(--ink-soft); font-size: 13px; font-weight: 700; }
.page-breadcrumbs a { text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; transition: color .2s ease, text-decoration-color .2s ease; }
.page-breadcrumbs a:hover { color: var(--coral-dark); text-decoration-color: currentColor; }
.page-breadcrumb-separator { opacity: .5; }
.page-hero--dark .page-breadcrumbs { color: #c8d2dc; }
.page-hero--dark .page-breadcrumbs a:hover { color: #fff; }
.page-title { max-width: 980px; font-size: clamp(54px, 7vw, 96px); line-height: .96; letter-spacing: -.06em; }
.page-heading-center .page-title { margin-inline: auto; }
.page-hero--dark .page-title { color: #fff; }
.page-intro { max-width: 760px; margin-top: 26px; color: var(--ink-soft); font-size: clamp(18px, 2vw, 22px); line-height: 1.65; text-wrap: pretty; }
.page-intro > :last-child { margin-bottom: 0; }
.page-heading-center .page-intro { margin-inline: auto; }
.page-hero--dark .page-intro { color: #c8d2dc; }
.page-hero-image { width: min(100%, 1120px); aspect-ratio: 16 / 7; margin: 54px 0 -38px; border: 1px solid rgba(255,255,255,.55); box-shadow: 0 34px 78px rgba(7,24,44,.18); }
.page-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.page-heading-center .page-hero-image { margin-inline: auto; }
.page-body-section { padding: 0 0 clamp(90px, 10vw, 138px); background: var(--paper); }
.page-body-shell { width: min(calc(100% - 40px), var(--container)); }
.page-article { width: min(100%, var(--page-content-width)); margin-inline: auto; }
.page-article--card { position: relative; z-index: 2; margin-top: -58px; padding: clamp(34px, 5vw, 72px); border: 1px solid rgba(7,24,44,.11); border-radius: var(--radius-lg); background: rgba(255,255,255,.97); box-shadow: 0 28px 70px rgba(7,24,44,.105); }
.page-article--card::before { content: ""; position: absolute; inset: 0 auto auto clamp(34px, 5vw, 72px); width: 72px; height: 4px; border-radius: 999px; background: linear-gradient(90deg, var(--coral), var(--gold)); transform: translateY(-2px); }
.page-article--clean { padding-top: clamp(62px, 7vw, 96px); }
.page-content-featured { margin-top: 0; }
.page-entry-content { font-size: clamp(17px, 1.5vw, 19px); line-height: 1.82; }
.page-entry-content > :first-child { margin-top: 0; }
.page-entry-content > :last-child { margin-bottom: 0; }
.page-entry-content > h2 { position: relative; margin-top: 2.1em; padding-top: .22em; font-size: clamp(32px, 4vw, 46px); }
.page-entry-content > h2::before { content: ""; display: block; width: 42px; height: 4px; margin-bottom: 18px; border-radius: 999px; background: var(--coral); }
.page-entry-content > h3 { margin-top: 1.8em; font-size: clamp(25px, 3vw, 34px); }
.page-entry-content p { text-wrap: pretty; }
.page-entry-content :where(ul, ol) { padding-left: 1.4em; }
.page-entry-content li { margin-bottom: .5em; padding-left: .18em; }
.page-entry-content li::marker { color: var(--coral-dark); font-weight: 800; }
.page-entry-content blockquote { margin-block: 2.1em; padding: 26px 28px 26px 32px; border: 0; border-left: 4px solid var(--coral); border-radius: 0 var(--radius-md) var(--radius-md) 0; background: var(--ice); box-shadow: inset 0 0 0 1px rgba(7,24,44,.055); }
.page-entry-content :where(.wp-block-image img, .wp-block-gallery, .wp-block-media-text, .wp-block-cover) { border-radius: min(var(--radius-md), 22px); }
.page-entry-content figcaption { margin-top: 10px; color: var(--ink-soft); font-size: 13px; text-align: center; }
.page-entry-content hr { margin-block: 3em; border: 0; border-top: 1px solid var(--line); }
.page-entry-content .wp-block-button__link { border-radius: var(--button-radius); background: var(--ink); font-weight: 800; }
.page-entry-content .wp-block-button__link:hover { background: var(--coral-dark); }
.page-comments-shell { width: min(100%, var(--page-content-width)); margin: 56px auto 0; }
.page-content-area .contact-section { padding-top: clamp(28px, 4vw, 58px); }

.posts-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.post-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; box-shadow: 0 18px 42px rgba(7, 24, 44, 0.08); }
.post-card-thumbnail { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ice); }
.post-card-thumbnail img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.35s ease; }
.post-card:hover .post-card-thumbnail img { transform: scale(1.035); }
.post-card-body { padding: 30px; }
.post-card-title { margin: 0 0 12px; font-size: clamp(25px, 3vw, 34px); line-height: 1.08; letter-spacing: -0.04em; }
.post-card-title a:hover { color: var(--coral-dark); }
.post-card-excerpt { color: var(--ink-soft); }
.post-card-excerpt p { margin: 0 0 18px; }
.text-link { color: var(--coral-dark); font-weight: 800; }

.navigation.pagination { margin-top: 48px; }
.nav-links { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; }
.page-numbers { min-width: 42px; min-height: 42px; display: inline-grid; place-items: center; padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-weight: 750; }
.page-numbers.current { color: #fff; background: var(--ink); border-color: var(--ink); }
.post-navigation { margin-top: 64px; padding-top: 28px; border-top: 1px solid var(--line); }
.post-navigation .nav-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.post-navigation a { display: block; height: 100%; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.nav-subtitle { display: block; color: var(--ink-soft); font-size: 12px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.nav-title { display: block; margin-top: 5px; font-weight: 800; line-height: 1.25; }

/* Forms and comments */
.search-form { display: flex; max-width: 620px; gap: 10px; margin: 26px 0; }
.search-form label { flex: 1; }
.search-field,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce select {
  width: 100%;
  min-height: 50px;
  padding: 12px 16px;
  border: 1px solid rgba(7, 24, 44, 0.18);
  border-radius: 13px;
  color: var(--ink);
  background: #fff;
}
.comment-form textarea { min-height: 180px; resize: vertical; }
.search-submit,
.comment-form .submit {
  min-height: 50px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: var(--ink);
  font-weight: 800;
  cursor: pointer;
}
.comments-area { margin-top: 70px; padding-top: 34px; border-top: 1px solid var(--line); }
.comments-title { font-size: 28px; }
.comment-list { padding: 0; list-style: none; }
.comment-list .children { list-style: none; }
.comment-body { margin: 0 0 18px; padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.comment-meta { font-size: 14px; }
.comment-author { display: flex; align-items: center; gap: 10px; }
.comment-author .avatar { border-radius: 50%; }
.comment-content a { color: var(--coral-dark); text-decoration: underline; }
.comment-reply-link { font-weight: 800; }
