/* 3eeez Light: WordPress additions. The design itself is site.css; this file only adds what WordPress
   needs: the admin bar, posts and plain pages, and Gravity Forms on the Contact page. It reuses the
   site.css tokens (colours, fonts, spacing). */

/* ---------- Admin bar (logged-in only): keep the sticky header below it ---------- */
.admin-bar .hdr{top:32px}
html:has(body.admin-bar){scroll-padding-top:120px}
@media (max-width:782px){.admin-bar .hdr{top:46px}html:has(body.admin-bar){scroll-padding-top:134px}}
@media (max-width:600px){.admin-bar .hdr{top:0}html:has(body.admin-bar){scroll-padding-top:88px}}

.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Plain pages, posts, archives, 404 ---------- */
.x3-hero .h1{margin-top:0}
.x3-hero .pill + .h1{margin-top:28px}
.x3-title{font-size:clamp(36px,4.6vw,62px);max-width:22ch;margin-inline:auto}
.x3-meta{margin-top:22px;font:500 12.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.x3-body{padding-block:8px clamp(72px,10vw,128px)}
.x3-builder{min-height:40vh}
.x3-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 28px;margin-top:36px}
.x3-404{padding-bottom:clamp(72px,10vw,128px)}
.x3-featured{max-width:1000px;margin:0 auto clamp(40px,5vw,64px);border-radius:24px;overflow:hidden;border:1px solid var(--line-2)}
.x3-featured img{width:100%}
.x3-back{max-width:720px;margin:56px auto 0}
.x3-back .ic{width:18px;height:18px}

/* Readable text for the_content() */
.prose{max-width:720px;margin-inline:auto;font-size:18px;line-height:1.75;color:var(--body)}
.prose > * + *{margin-top:1.15em}
.prose h2,.prose h3,.prose h4{color:var(--ink);line-height:1.15;letter-spacing:-.03em}
.prose h2{margin-top:2em;font-size:clamp(26px,2.8vw,34px)}
.prose h3{margin-top:1.8em;font-size:clamp(21px,2.1vw,25px)}
.prose h4{margin-top:1.6em;font-size:19px;letter-spacing:-.015em}
.prose h2 + *,.prose h3 + *,.prose h4 + *{margin-top:.7em}
.prose strong{color:var(--ink);font-weight:600}
.prose a{color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:4px;transition:text-decoration-color .2s}
.prose a:hover{text-decoration-color:var(--ink)}
.prose ul,.prose ol{padding-left:1.4em}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li + li{margin-top:.45em}
.prose li::marker{color:var(--muted)}
.prose blockquote{padding:4px 0 4px 22px;border-left:3px solid var(--gold);font-size:20px;line-height:1.6;color:var(--ink-2)}
.prose img{border-radius:16px}
.prose figure{margin-inline:0}
.prose figcaption,.prose .wp-caption-text,.prose .wp-element-caption{margin-top:10px;font-size:14px;line-height:1.5;color:var(--muted);text-align:center}
.prose hr{height:1px;margin-block:2.4em;border:0;background:var(--line)}
.prose table{width:100%;border-collapse:collapse;font-size:16px}
.prose th,.prose td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.prose th{font-weight:600;color:var(--ink)}
.prose code{padding:2px 6px;border-radius:6px;background:var(--surface);font:500 .88em var(--mono)}
.prose pre{overflow-x:auto;padding:18px 20px;border-radius:14px;background:var(--surface);font:500 14px/1.6 var(--mono)}
.prose pre code{padding:0;background:none}
.prose iframe,.prose video{max-width:100%}
.prose .wp-block-button__link{display:inline-flex;align-items:center;height:52px;padding:0 22px;border-radius:12px;background:var(--gold);color:var(--ink);font-size:16px;font-weight:600;text-decoration:none}
.alignleft{float:left;margin:.3em 1.6em 1em 0}
.alignright{float:right;margin:.3em 0 1em 1.6em}
.aligncenter{margin-inline:auto}
.prose .alignwide{max-width:min(1000px,100vw - 2 * var(--gut));margin-inline:calc((100% - min(1000px,100vw - 2 * var(--gut))) / 2)}
.prose .alignfull{max-width:none;margin-inline:calc(50% - 50vw);border-radius:0}
@media (max-width:560px){.alignleft,.alignright{float:none;margin:1em 0}}

/* Post cards (blog, archives, search) */
.x3-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:20px}
.post-card{border:1px solid var(--line);border-radius:24px;background:#fff;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.post-card:hover{transform:translateY(-4px);border-color:#D3D7DD;box-shadow:var(--sh-lg)}
.pc-link{display:flex;flex-direction:column;height:100%}
.pc-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--line-2)}
.pc-body{display:flex;flex:1;flex-direction:column;gap:10px;padding:24px 24px 26px}
.pc-meta{font:500 12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pc-title{font-size:22px;line-height:1.2;letter-spacing:-.025em}
.pc-excerpt{font-size:16px;line-height:1.6;color:var(--body)}
.pc-body .tlink{align-self:flex-start;margin-top:auto;padding-top:8px;background-position:0 100%}
.x3-empty{text-align:center}
.pagination{margin-top:48px}
.pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:15px;font-weight:600;color:var(--ink-2);transition:border-color .2s,background-color .2s}
.pagination a.page-numbers:hover{border-color:var(--ink)}
.pagination .page-numbers.current{border-color:var(--gold);background:var(--gold);color:var(--ink)}
.pagination .page-numbers.dots{border-color:transparent;background:none}

/* ---------- Contact: note for editors when the form is not added yet ---------- */
.x3-admin-note{margin-top:20px;padding:14px 16px;border:1px dashed var(--line);border-radius:12px;background:var(--surface);font-size:14px;line-height:1.5;color:var(--ink-2)}
.x3-admin-note code{font:500 13px var(--mono)}

/* ---------- Gravity Forms (2.9, Orbital theme) inside the Contact card ----------
   Put the form shortcode in the Contact page content; it renders inside .x3-form and
   picks up the same look as the designed form (.field / .frow). Colour variables need
   !important because Gravity Forms writes its default blue inline on each form. */
.x3-form{margin-top:28px}
.x3-form .gform_wrapper.gform-theme--framework{
  --gf-color-primary:#0B0C0E!important;--gf-color-primary-rgb:11,12,14!important;
  --gf-color-primary-darker:#000!important;--gf-color-primary-lighter:#2A2E35!important;
  --gf-color-in-ctrl-primary:#0B0C0E!important;--gf-color-in-ctrl-primary-rgb:11,12,14!important;
  --gf-color-in-ctrl-primary-darker:#000!important;--gf-color-in-ctrl-primary-lighter:#2A2E35!important;
  --gf-color-danger:#B42318!important;--gf-ctrl-border-color:#E4E7EC!important;
  --gf-form-gap-y:18px;--gf-form-gap-x:18px;
  margin:0;font-family:var(--sans);color:var(--ink)
}
.x3-form .gform_wrapper .gform_heading,.x3-form .gform_wrapper .gform_required_legend{display:none}
.x3-form .gform_wrapper.gform-theme--framework .gfield_label,
.x3-form .gform_wrapper.gform-theme--framework .gform-field-label--type-sub{display:block;margin:0 0 8px;padding:0;font-family:var(--sans);font-size:14px;font-weight:600;line-height:1.4;color:var(--ink)}
.x3-form .gform_wrapper.gform-theme--framework .gfield_required{margin-left:4px;font-size:14px;font-weight:400;font-style:normal;color:var(--muted)}
.x3-form .gform_wrapper.gform-theme--framework .gfield_required .gfield_required{margin-left:0}
.x3-form .gform_wrapper.gform-theme--framework input[type="text"],
.x3-form .gform_wrapper.gform-theme--framework input[type="email"],
.x3-form .gform_wrapper.gform-theme--framework input[type="tel"],
.x3-form .gform_wrapper.gform-theme--framework input[type="url"],
.x3-form .gform_wrapper.gform-theme--framework input[type="number"],
.x3-form .gform_wrapper.gform-theme--framework select,
.x3-form .gform_wrapper.gform-theme--framework textarea{box-sizing:border-box;width:100%;height:52px;min-height:52px;padding:0 16px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:none;outline:0;font-family:var(--sans);font-size:16px;line-height:1.5;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.x3-form .gform_wrapper.gform-theme--framework .gfield textarea{display:block;height:150px;min-height:140px;padding:14px 16px;resize:vertical}
.x3-form .gform_wrapper.gform-theme--framework input:focus,
.x3-form .gform_wrapper.gform-theme--framework select:focus,
.x3-form .gform_wrapper.gform-theme--framework textarea:focus{border-color:var(--ink);outline:0;box-shadow:0 0 0 4px var(--gold-glow)}
.x3-form .gform_wrapper.gform-theme--framework ::placeholder{color:#6B727C;opacity:1}
.x3-form .gform_wrapper.gform-theme--framework .gfield_description{padding-top:8px;font:400 14px/1.5 var(--sans);color:var(--muted)}
.x3-form .gform_wrapper.gform-theme--framework .gfield_description.ginput_counter{font:500 12px/1 var(--mono);text-align:right}
/* Gravity Forms draws the "0 of 600" counter with JavaScript, which page-speed plugins can hold back until the
   first scroll or tap. Keep its 28px reserved until it appears, so the Send button never shifts. */
.x3-form .gform_wrapper.gform-theme--framework .gfield--type-textarea:has(textarea[maxlength]):not(:has(.ginput_counter))::after{content:"";display:block;height:28px}
.x3-form .gform_wrapper.gform-theme--framework .gform_footer,
.x3-form .gform_wrapper.gform-theme--framework .gform_page_footer{margin:22px 0 0;padding:0}
.x3-form .gform_wrapper.gform-theme--framework.gform-theme .gform_footer input[type="submit"].gform_button,
.x3-form .gform_wrapper.gform-theme--framework.gform-theme .gform_footer button.gform_button{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;width:auto;height:56px;min-height:56px;padding:0 56px 0 24px;border:0;border-radius:14px;background-color:var(--gold);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B0C0E' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 24px center;background-size:18px 18px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.08);font-family:var(--sans);font-size:16px;font-weight:600;letter-spacing:-.01em;line-height:1;color:var(--ink);cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .2s}
.x3-form .gform_wrapper.gform-theme--framework.gform-theme .gform_footer input[type="submit"].gform_button:hover,
.x3-form .gform_wrapper.gform-theme--framework.gform-theme .gform_footer button.gform_button:hover{background-color:var(--gold-hi);transform:translateY(-1px);box-shadow:0 10px 24px -10px rgba(214,160,0,.9)}
.x3-form .gform_wrapper.gform-theme--framework.gform-theme .gform_footer input[type="submit"].gform_button:focus-visible,
.x3-form .gform_wrapper.gform-theme--framework.gform-theme .gform_footer button.gform_button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.x3-form .gform_wrapper.gform-theme--framework .gfield_error input,
.x3-form .gform_wrapper.gform-theme--framework .gfield_error select,
.x3-form .gform_wrapper.gform-theme--framework .gfield_error textarea{border-color:#B42318}
.x3-form .gform_wrapper.gform-theme--framework .gfield_error .gfield_label{color:var(--ink)}
.x3-form .gform_wrapper.gform-theme--framework .gfield_description.validation_message{margin:0;padding:8px 0 0;border:0;background:none;font:500 13px/1.4 var(--sans);color:#B42318}
.x3-form .gform_wrapper.gform-theme--framework .gform_validation_errors{margin:0 0 18px;padding:14px 16px;border:1px solid #F3C7C3;border-radius:12px;background:#FEF3F2;box-shadow:none}
.x3-form .gform_wrapper.gform-theme--framework .gform_validation_errors .gform_submission_error{margin:0;font-family:var(--sans);font-size:14px;font-weight:600;color:#B42318}
/* WP Rocket lazy rendering (content-visibility) makes the designed pages jump; keep every section rendered */
.x3-designed [data-wpr-lazyrender]{content-visibility:visible!important}
/* CleanTalk's "email exists" check floats an icon and tooltip at fixed screen positions, which land off
   the form in this layout; hidden on the designed pages (Gravity Forms still validates the email) */
.x3-designed .apbct-check_email_exist-block,.x3-designed .apbct-check_email_exist-popup_description{display:none!important}
/* CleanTalk adds spam-trap inputs to forms; its own CSS hides them, this keeps them hidden regardless */
.site input.apbct_special_field,.site label.apbct_special_field,.site #honeypot-field-url{display:none!important}
.x3-form .gform_confirmation_message{padding:20px 22px;border:1px solid var(--line-2);border-radius:16px;background:var(--surface);font-size:17px;line-height:1.6;color:var(--ink)}
