/* CMS page body (/pages/<slug>) inside the OneGIG shell. Rendered by
   js/cms-page.js; header, footer, title and back link come from the shell.
   Scoped under .cms-page, plus the optional per-page theme (.page-custom on
   <html>, set from the page's settings block). */
.cms-page{--line:#E4E9EA; color:#02373D; max-width:908px; font-size:var(--page-body-size,16px); padding-block-end:40px;}
.cms-page *, .cms-page *::before, .cms-page *::after{box-sizing:border-box;}
.cms-page .cms-state{background:#fff; border:1px solid var(--line); border-radius:14px; padding:44px 24px; text-align:center; color:rgba(2,55,61,.72);}
.cms-page .cms-state a{color:#48822A; font-weight:600;}
.cms-page .cms-preview{background:#C1FA00; color:#003D44; font-weight:700; font-size:14px; text-align:center; padding:8px 16px; border-radius:10px; margin-bottom:16px;}
.cms-page .cms-desc{margin:0 0 6px; color:rgba(2,55,61,.72); font-size:16px; max-width:80ch;}
.cms-page .page-hero{display:block; width:100%; max-height:430px; object-fit:cover; border-radius:16px; margin:18px 0 6px; border:1px solid #EEF1F2;}
.cms-page .cms-blocks{padding-block-start:16px;}
.cms-page .cms-blocks::after{content:""; display:block; clear:both;}
.cms-page .blk{margin-block-end:26px;}
.cms-page h2, .cms-page h3{margin:0; color:#003D44; font-weight:700; line-height:1.3;}
.cms-page .blk-heading h2{font-size:26px; border-inline-start:4px solid #C1FA00; padding-inline-start:14px; line-height:1.25;}
.cms-page .blk-text p{margin:0 0 12px; font-size:16.5px; line-height:1.75; color:#02373D;}
.cms-page .blk-text a, .cms-page .card a{color:#48822A;}
.cms-page .blk-image{margin-block:28px; margin-inline:0;}
.cms-page .blk-image img{max-width:100%; height:auto; display:block; max-height:440px; object-fit:cover; border-radius:16px; border:1px solid #EEF1F2; box-shadow:0 14px 34px rgba(2,55,61,.08);}
.cms-page .blk-image[style*="text-align:center"] img{width:100% !important; margin-inline:auto !important;}
@media (min-width:961px){
  .cms-page .blk-image[style*="text-align:left"], .cms-page .blk-image[style*="text-align:right"]{margin-block:6px 14px;}
  .cms-page .blk-image[style*="text-align:left"]{float:inline-start; max-width:46%; margin-inline-end:26px;}
  .cms-page .blk-image[style*="text-align:right"]{float:inline-end; max-width:46%; margin-inline-start:26px;}
  .cms-page .blk-image[style*="text-align:left"] img, .cms-page .blk-image[style*="text-align:right"] img{width:100% !important; max-height:340px;}
}
.cms-page .blk-image figcaption{font-size:13px; color:rgba(2,55,61,.7); margin-block-start:10px; text-align:center; font-style:italic;}
.cms-page .btn{display:inline-flex; align-items:center; gap:7px; font-size:15px; font-weight:700; border-radius:999px; padding:11px 22px; border:0; background:#C1FA00; color:#003D44; text-decoration:none; transition:background 120ms cubic-bezier(.2,.6,.2,1);}
.cms-page .btn:hover{background:#48822A; color:#fff;}
.cms-page .cards{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px;}
.cms-page .card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px 20px; display:flex; flex-direction:column; gap:6px; text-decoration:none; color:#02373D; transition:box-shadow .18s, transform .18s;}
.cms-page a.card:hover{box-shadow:0 12px 34px rgba(0,61,68,.14); transform:translateY(-2px);}
.cms-page .card h3{font-size:16px;}
.cms-page .card p{color:rgba(2,55,61,.72); font-size:14px; margin:0;}
.cms-page .blk-banner{padding:13px 18px; border-radius:10px; font-weight:800; margin-block:16px;}
.cms-page .blk-video{position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:16px; background:#102f33; border:1px solid #EEF1F2;}
.cms-page .blk-video iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
.cms-page .blk-spacer{margin:0;}
.cms-page .password-card{max-width:430px; margin:30px auto; background:#fff; border:1px solid var(--line); border-radius:14px; padding:26px;}
.cms-page .password-card h2{margin-block-end:7px;}
.cms-page .password-card p{color:rgba(2,55,61,.72); margin:0 0 18px;}
.cms-page .password-card label{display:block; font-size:13px; font-weight:700; margin-block-end:6px;}
.cms-page .password-card input{width:100%; min-height:46px; border:1px solid var(--line); border-radius:9px; padding:10px 12px; font:inherit;}
.cms-page .password-card button{margin-top:14px; min-height:44px; padding:0 22px; border:0; border-radius:999px; background:#003D44; color:#fff; font:inherit; font-weight:700; cursor:pointer;}
.cms-page .password-error{color:#B42318; font-size:14px; margin-top:10px;}
@media (prefers-reduced-motion:reduce){.cms-page .card, .cms-page .btn{transition:none;}}

/* Per-page theme from the settings block */
.page-custom body{background:var(--page-bg,#fff);}
.page-custom .cms-page{max-width:var(--page-width,960px); color:var(--page-text,#12292C);}
.page-custom .cms-page h2{color:var(--page-primary,#003D44); font-size:calc(var(--page-heading-size,38px) * .68);}
.page-custom .cms-page .btn{background:var(--page-accent,#C1FA00); color:var(--page-primary,#003D44); border-radius:9px;}
.page-custom .cc-ptitle{color:var(--page-primary,#003D44); font-size:var(--page-heading-size,38px);}
/* Settings block can hide the shell header or footer for this page */
body.cms-nohead .wp-gradline, body.cms-nohead .wp-head{display:none;}
body.cms-nofoot .wp-foot{display:none;}
