/*
Theme Name: Ryarc Enterprise
Description: Approved CampaignManager website, with section-based page editing and native WordPress articles. Staging release.
Version: 0.1.1
Author: Ryarc
Requires at least: 6.6
Requires PHP: 8.2
Text Domain: ryarc-enterprise
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
.admin-bar .masthead{top:32px}
.wp-post-body{max-width:780px;margin:0 auto;padding:40px 24px 80px;line-height:1.75}
.wp-post-body img{max-width:100%;height:auto}
.wp-post-body h2,.wp-post-body h3{margin-top:1.5em}
.wp-post-body a{text-decoration:underline}
.wp-post-body figure{margin:24px 0}
.wp-post-body .wp-block-image img{height:auto}
.wp-post-cover{max-width:900px;margin:0 auto;padding:0 24px}
.wp-post-cover img{width:100%;max-height:480px;object-fit:contain}
.wp-pagination{display:flex;gap:16px;flex-wrap:wrap;padding:24px 0}
@media(max-width:782px){.admin-bar .masthead{top:46px}}
@media(max-width:600px){.admin-bar .masthead{top:0}}
/* Single blog post layout */
.single-post-layout{
    max-width:1200px;
    margin:0 auto;
    padding:0 24px 80px;
    display:grid;
    grid-template-columns:minmax(0, 1fr) 300px;
    gap:64px;
    align-items:start;
}

.single-post-main{
    min-width:0;
}

.single-post-layout .wp-post-cover{
    max-width:none;
    padding:0;
    margin:0 0 32px;
}

.single-post-layout .wp-post-body{
    max-width:none;
    margin:0;
    padding:0;
    line-height:1.75;
}

.single-post-sidebar{
    border-left:1px solid #d9dee3;
    padding-left:28px;
}

.single-post-sidebar h2{
    margin:0 0 24px;
    font-size:1.25rem;
}

.recent-post-card{
    display:block;
    margin-bottom:28px;
    color:inherit;
    text-decoration:none;
}

.recent-post-image{
    margin-bottom:10px;
    aspect-ratio:16/9;
    overflow:hidden;
}

.recent-post-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.recent-post-title{
    font-weight:600;
    line-height:1.35;
}

.post-navigation{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:32px;
    margin-top:48px;
    padding:24px 0;
    border-top:1px solid #d9dee3;
    border-bottom:1px solid #d9dee3;
}

.post-navigation-next{
    text-align:right;
}

.back-to-blog{
    margin-top:24px;
}

@media(max-width:900px){
    .single-post-layout{
        grid-template-columns:1fr;
        gap:48px;
    }

    .single-post-sidebar{
        border-left:0;
        border-top:1px solid #d9dee3;
        padding-left:0;
        padding-top:32px;
    }

    .single-post-sidebar{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:24px;
    }

    .single-post-sidebar h2{
        grid-column:1/-1;
    }
}

@media(max-width:600px){
    .single-post-layout{
        padding-left:20px;
        padding-right:20px;
    }

    .single-post-sidebar{
        grid-template-columns:1fr;
    }

    .post-navigation{
        grid-template-columns:1fr;
        gap:16px;
    }

    .post-navigation-next{
        text-align:left;
    }
}

.post-navigation a{
    color:#087dc1;
    font-weight:500;
    text-decoration:none;
}

.post-navigation a:hover{
    text-decoration:underline;
}

/* Blog article typography */
.wp-post-body{
    font-size:1.05rem;
    line-height:1.75;
    color:#4f5f6f;
}

.wp-post-body p{
    margin:0 0 0.9em;
}

.wp-post-body h2{
    font-size:1.55rem;
    line-height:1.3;
    font-weight:500;
    color:#0b1f33;
    margin:1.5em 0 0.65em;
}

.wp-post-body h3{
    font-size:1.08rem;
    line-height:1.4;
    font-weight:600;
    color:#0b1f33;
    margin:1.7em 0 0.45em;
}

.wp-post-body ul,
.wp-post-body ol{
    margin:0 0 1.4em;
    padding-left:1.4em;
}

.wp-post-body li{
    margin-bottom:0.7em;
}

.wp-post-body figure{
    margin:2em 0;
}

.wp-post-body figcaption{
    margin-top:0.65em;
    font-size:0.875rem;
    line-height:1.5;
    color:#6b7785;
}
/* Mobile single-post featured image */
@media(max-width:600px){
    body.single-post .wp-post-cover{
        aspect-ratio:16/9;
        overflow:hidden;
    }

    body.single-post .wp-post-cover img{
        width:100%;
        height:100%;
        max-height:none;
        object-fit:cover;
        display:block;
    }
}
@media(max-width:600px){
    body.single-post .blog-main{
        padding-top:24px;
        padding-bottom:0;
    }

    body.single-post .blog-top{
        margin-bottom:0;
        padding-bottom:20px;
    }

    body.single-post .single-post-layout{
        padding-top:16px;
    }
}
@media(max-width:600px){
    body.single-post .breadcrumb-current{
        display:none;
    }
}
/* =========================================================
   Fluent Forms — Ryarc Contact Form
   ========================================================= */

body .fluentform{
    font-family:'DM Sans',sans-serif;
    color:#142735;
}

/* Labels */
body .fluentform .ff-el-input--label label{
    color:#142735;
    font-weight:500;
}

/* Text fields, email, telephone, select and textarea */
body .fluentform input[type="text"],
body .fluentform input[type="email"],
body .fluentform input[type="tel"],
body .fluentform select,
body .fluentform textarea{
    font:inherit;
    color:#142735;
    background:#fff;
    border:1px solid #d7dfdf;
    border-radius:0;
    box-shadow:none;
}

/* Consistent field height */
body .fluentform input[type="text"],
body .fluentform input[type="email"],
body .fluentform input[type="tel"],
body .fluentform select{
    min-height:44px;
}

/* Focus state */
body .fluentform input:focus,
body .fluentform select:focus,
body .fluentform textarea:focus{
    border-color:#00677d;
    box-shadow:none;
    outline:1px solid #00677d;
    outline-offset:0;
}

/* ---------------------------------------------------------
   "I am a" radio choices
   --------------------------------------------------------- */

body .fluentform .ff-el-form-check{
    display:inline-block;
    margin:0 30px 10px 0;
    vertical-align:middle;
}

body .fluentform .ff-el-form-check label{
    display:inline-flex !important;
    align-items:center;
    gap:8px;
    margin:0 !important;
    white-space:nowrap;
    cursor:pointer;
}

body .fluentform .ff-el-form-check input[type="radio"]{
    position:static !important;
    width:16px;
    height:16px;
    margin:0 !important;
    flex:0 0 16px;
}

/* Mobile */
@media(max-width:600px){
    body .fluentform .ff-el-form-check{
        display:block;
        margin:0 0 10px;
    }

    body .fluentform .ff-el-form-check label{
        display:inline-flex !important;
    }
}
/* Ryarc contact form — Send button */
form.fluent_form_3 .ff-btn-submit:not(.ff_btn_no_style){
    background-color:#75e4e5 !important;
    color:#0b1926 !important;
    border:1px solid #75e4e5 !important;
    border-radius:0 !important;
    padding:12px 22px;
    font-family:'DM Sans',sans-serif;
    font-weight:600;
    line-height:1;
    box-shadow:none !important;
}

form.fluent_form_3 .ff-btn-submit:not(.ff_btn_no_style):hover,
form.fluent_form_3 .ff-btn-submit:not(.ff_btn_no_style):focus{
    background-color:#0b1926 !important;
    color:#fff !important;
    border-color:#0b1926 !important;
    box-shadow:none !important;
}

/* Ryarc legal pages */
body.page-id-219 main,
body.page-id-3 main {
  max-width: 960px;
  margin: 0 auto;
  padding: 64px 24px 80px;
  color: #263746;
}

body.page-id-219 main h1,
body.page-id-3 main h1 {
  font-size: 42px;
  line-height: 1.15;
  margin: 0 0 28px;
  color: #0b1926;
}

body.page-id-219 main h2,
body.page-id-3 main h2 {
  font-size: 26px;
  line-height: 1.3;
  margin: 38px 0 14px;
  color: #0b1926;
}

body.page-id-219 main h3,
body.page-id-3 main h3 {
  font-size: 20px;
  line-height: 1.35;
  margin: 28px 0 10px;
  color: #0b1926;
}

body.page-id-219 main p,
body.page-id-3 main p,
body.page-id-219 main li,
body.page-id-3 main li {
  font-size: 16px;
  line-height: 1.7;
}

body.page-id-219 main p,
body.page-id-3 main p {
  margin-bottom: 16px;
}

body.page-id-219 main ul,
body.page-id-3 main ul,
body.page-id-219 main ol,
body.page-id-3 main ol {
  margin: 0 0 22px 24px;
  padding: 0;
}

body.page-id-219 main li,
body.page-id-3 main li {
  margin-bottom: 7px;
}

body.page-id-219 main a,
body.page-id-3 main a {
  color: #0b7f86;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 768px) {
  body.page-id-219 main,
  body.page-id-3 main {
    padding: 42px 20px 60px;
  }

  body.page-id-219 main h1,
  body.page-id-3 main h1 {
    font-size: 34px;
  }

  body.page-id-219 main h2,
  body.page-id-3 main h2 {
    font-size: 23px;
  }
}
.footer-bottom {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}

.footer-bottom span:nth-child(2) {
  margin-right: auto;
}

.footer-bottom a {
  display: inline-block;
}
.footer-identity {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.footer-logo {
  flex: 0 0 auto;
}

.footer-identity-text {
  color: inherit;
  text-decoration: none;
  line-height: 1.35;
  margin-top: -2px;
}

.footer-social {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
  padding-bottom: 1px;
}

.footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.footer-social img {
  width: 15px;
  height: 15px;
  object-fit: contain;
  display: block;
  opacity: 0.9;
}

.footer-social a:hover img {
  opacity: 1;
}
.footer-social a:first-child img {
  width: 13px;
  height: 13px;
}

.footer-social a:last-child img {
  width: 15px;
  height: 15px;
}
.footer-identity-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  min-height: 64px;
}
.brand small,
.footer-identity-text small {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  line-height: 1.35;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #aebdca;
}
.brand img,
.footer-logo img {
  height: 64px !important;
  width: auto !important;
  object-fit: contain;
  display: block;
}
.masthead .brand img {
  padding: 0 !important;
  background: transparent !important;
}