/*
Theme Name:   MedReviews
Theme URI:    https://medreviewsmmr.com.au
Author:       4Data
Description:  Theme for MedReviewsMMR, pharmacist-led Home Medicines Review services. Block-editor page sections, Elementor Theme Builder support, Customizer brand settings, and a secure GP referral form. Customise through the MedReviews Child theme.
Version:      1.0.0
Requires at least: 6.5
Requires PHP: 7.4
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  medreviews
Tags:         custom-logo, custom-menu, editor-style, featured-images, block-patterns, wide-blocks
*/

/* ==========================================================================
   1. Tokens — change colours in Appearance > Customize > MedReviews Brand,
      or override these variables in the child theme.
   ========================================================================== */
@font-face{font-family:"Lexend";src:url("assets/fonts/lexend.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Figtree";src:url("assets/fonts/figtree.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"Figtree";src:url("assets/fonts/figtree-italic.woff2") format("woff2");font-weight:300 900;font-style:italic;font-display:swap}

:root{
  --mr-navy:#0c3c6e;
  --mr-navy-deep:#0a2e57;
  --mr-teal:#0e7c84;
  --mr-teal-bright:#14a3a8;
  --mr-mist:#eaf5f7;
  --mr-mist-2:#f4fafb;
  --mr-line:#d6e8ec;
  --mr-ink:#1d3550;
  --mr-muted:#4f6478;
  --mr-white:#ffffff;
  --mr-ok:#1c7a4f;
  --mr-err:#b3261e;
  --mr-display:"Lexend",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mr-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mr-radius:14px;
  --mr-wrap:1200px;
  --mr-gutter:20px;
  --mr-header-h:76px;
}

/* ==========================================================================
   2. Base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--mr-white);color:var(--mr-ink);font-family:var(--mr-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--mr-display);color:var(--mr-navy);line-height:1.15;margin:0;text-wrap:balance;font-weight:600}
h1{font-size:clamp(32px,4.4vw,46px);font-weight:700;letter-spacing:-.02em}
h2{font-size:clamp(26px,3.2vw,36px);font-weight:700;letter-spacing:-.01em}
h3{font-size:clamp(17px,1.6vw,20px)}
p{margin:0}
a{color:var(--mr-teal)}
a:hover{color:var(--mr-navy)}
img{max-width:100%;height:auto}
figure{margin:0}
:focus-visible{outline:3px solid var(--mr-teal-bright);outline-offset:2px;border-radius:4px}
[id]{scroll-margin-top:calc(var(--mr-header-h) + 20px)}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;word-wrap:normal!important}
.screen-reader-text:focus{background:var(--mr-white);clip:auto!important;clip-path:none;color:var(--mr-navy);display:block;height:auto;left:8px;top:8px;width:auto;padding:12px 20px;z-index:100000}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Content area: full-bleed sections carry .mr-full; anything else gets a readable column */
.mr-content>*:not(.mr-full):not(.elementor){max-width:calc(var(--mr-wrap) + 2*var(--mr-gutter));margin-inline:auto;padding-inline:var(--mr-gutter)}
.mr-content>*:not(.mr-full):not(.elementor)+*:not(.mr-full):not(.elementor){margin-top:1.1em}
.mr-content>*:not(.mr-full):not(.elementor):first-child{margin-top:48px}
.mr-content>*:not(.mr-full):not(.elementor):last-child{margin-bottom:56px}
.mr-wrap{max-width:var(--mr-wrap);margin-inline:auto;padding-inline:var(--mr-gutter);width:100%}
.mr-section{padding-block:56px}
.mr-section.is-tint{background:var(--mr-mist-2);border-top:1px solid var(--mr-line)}

/* ==========================================================================
   3. Buttons (core Button block + .mr-btn)
   ========================================================================== */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px}
.wp-block-button__link,.mr-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 16px/1.2 var(--mr-body);text-decoration:none;border-radius:999px;padding:14px 28px;cursor:pointer;border:2px solid var(--mr-navy);background:var(--mr-navy);color:var(--mr-white);transition:background .2s,color .2s,border-color .2s,transform .2s}
.wp-block-button__link:hover,.mr-btn:hover{background:var(--mr-teal);border-color:var(--mr-teal);color:var(--mr-white);transform:translateY(-1px)}
.wp-block-button:not(.is-style-outline) .wp-block-button__link::after,.mr-btn.has-arrow::after{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat}
.wp-block-button.is-style-outline .wp-block-button__link,.mr-btn.is-outline{background:var(--mr-white);color:var(--mr-navy);border-color:var(--mr-navy)}
.wp-block-button.is-style-outline .wp-block-button__link:hover,.mr-btn.is-outline:hover{background:var(--mr-mist);color:var(--mr-navy)}
.wp-block-button.is-small .wp-block-button__link{padding:11px 22px;font-size:15px}

/* ==========================================================================
   4. Header
   ========================================================================== */
.mr-header{position:sticky;top:0;z-index:100;background:var(--mr-white);border-bottom:1px solid var(--mr-line)}
.admin-bar .mr-header{top:32px}
@media (max-width:782px){.admin-bar .mr-header{top:0}}
.mr-header-bar{display:flex;align-items:center;gap:20px;min-height:var(--mr-header-h)}
.mr-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none;max-width:70%}
.mr-logo img,.custom-logo{max-height:56px;width:auto}
.mr-logo-mark{width:46px;height:46px;flex:none}
.mr-logo-name{display:block;font:700 22px/1 var(--mr-display);color:var(--mr-navy);letter-spacing:-.01em}
.mr-logo-name span{color:var(--mr-teal)}
.mr-logo-sub{display:block;font:700 8.5px/1.2 var(--mr-body);letter-spacing:.08em;color:var(--mr-navy);margin-top:5px;text-transform:uppercase}
.mr-nav{margin-left:auto}
.mr-menu,.mr-menu .sub-menu{list-style:none;margin:0;padding:0}
.mr-menu{display:flex;align-items:center;gap:2px}
.mr-menu>li{position:relative;display:flex;align-items:center}
.mr-menu a{display:block;font:500 15px var(--mr-body);color:var(--mr-ink);text-decoration:none;padding:10px 12px}
.mr-menu>li>a{position:relative}
.mr-menu>li>a:hover{color:var(--mr-teal)}
.mr-menu>li.current-menu-item>a,.mr-menu>li.current-menu-ancestor>a,.mr-menu>li.current-menu-parent>a,.mr-menu>li.current_page_item>a{color:var(--mr-navy);font-weight:700}
.mr-menu>li.current-menu-item>a::after,.mr-menu>li.current-menu-ancestor>a::after,.mr-menu>li.current-menu-parent>a::after,.mr-menu>li.current_page_item>a::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;background:var(--mr-teal);border-radius:2px}
.mr-sub-toggle{background:none;border:0;padding:6px 4px;margin-left:-8px;cursor:pointer;color:var(--mr-ink);display:inline-flex}
.mr-sub-toggle svg{width:14px;height:14px;transition:transform .2s}
.mr-menu li.is-open>.mr-sub-toggle svg{transform:rotate(180deg)}
.mr-menu .sub-menu{position:absolute;top:100%;left:0;min-width:250px;background:var(--mr-white);border:1px solid var(--mr-line);border-radius:12px;box-shadow:0 14px 40px rgba(12,60,110,.12);padding:8px;display:none;z-index:10}
.mr-menu .sub-menu a{border-radius:8px;padding:10px 12px}
.mr-menu .sub-menu a:hover{background:var(--mr-mist);color:var(--mr-navy)}
.mr-menu li.is-open>.sub-menu{display:block}
@media (hover:hover) and (min-width:961px){.mr-menu>li:hover>.sub-menu,.mr-menu>li:focus-within>.sub-menu{display:block}}
.mr-header-cta{flex:none;border-radius:12px;padding:11px 20px;background:var(--mr-teal);border-color:var(--mr-teal)}
.mr-header-cta:hover{background:var(--mr-navy);border-color:var(--mr-navy)}
.mr-burger{display:none;margin-left:auto;background:none;border:1px solid var(--mr-line);border-radius:10px;padding:8px;cursor:pointer;color:var(--mr-navy)}
.mr-burger svg{width:24px;height:24px;display:block}

/* ==========================================================================
   5. Icons and small shared pieces
   ========================================================================== */
.mr-icon{flex:none;line-height:0}
.mr-icon img{width:30px;height:30px}
.mr-bubble{flex:none;width:56px;height:56px;border-radius:50%;background:var(--mr-mist);display:grid;place-items:center;line-height:0}
.mr-bubble img{width:28px;height:28px}
.mr-bubble.is-white{background:var(--mr-white)}
.mr-bubble.is-teal{background:var(--mr-teal)}
.mr-bubble.is-lg{width:72px;height:72px}
.mr-bubble.is-lg img{width:34px;height:34px}
.mr-eyebrow{font:600 12.5px var(--mr-body);letter-spacing:.12em;text-transform:uppercase;color:var(--mr-teal)}
.mr-sub{font-size:18px;color:var(--mr-muted);max-width:36em}
.mr-muted{color:var(--mr-muted)}
.mr-small{font-size:13px;color:var(--mr-muted)}
.mr-more a{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--mr-teal);text-decoration:none}
.mr-more a::after{content:"→";transition:transform .2s}
.mr-more a:hover::after{transform:translateX(3px)}
.mr-stack{display:flex;flex-direction:column;gap:12px}

/* ==========================================================================
   6. Home: hero
   ========================================================================== */
.mr-hero{background:linear-gradient(100deg,var(--mr-mist-2) 0%,var(--mr-mist) 55%);overflow:hidden}
.mr-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:stretch;padding-right:0}
.mr-hero-copy{padding-block:52px;min-width:0;display:flex;flex-direction:column;gap:0}
.mr-hero h1{font-size:clamp(34px,5vw,54px)}
.mr-hero h1 em{font-style:normal;color:var(--mr-teal)}
.mr-lede{font-size:clamp(17px,1.8vw,20px);color:var(--mr-ink);margin-top:16px;max-width:30em}
.mr-pillars{display:flex;flex-wrap:wrap;gap:18px 26px;margin-top:28px}
.mr-pillar{display:flex;gap:8px;align-items:flex-start;color:var(--mr-navy)}
.mr-pillar p{font-size:12.5px;line-height:1.3;color:var(--mr-muted)}
.mr-pillar strong{display:block;font-size:14.5px;color:var(--mr-navy)}
.mr-hero .wp-block-buttons{margin-top:30px;gap:16px}
.mr-hero-img{position:relative;min-height:320px;height:100%}
.mr-hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.mr-hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--mr-mist) 0%,rgba(234,245,247,0) 18%);pointer-events:none}

/* Feature strip */
.mr-strip{background:var(--mr-mist-2);border-bottom:1px solid var(--mr-line)}
.mr-features{display:grid;grid-template-columns:repeat(4,1fr)}
.mr-feat{display:flex;gap:14px;padding:24px 18px;align-items:flex-start;min-width:0}
.mr-feat+.mr-feat{border-left:1px solid var(--mr-line)}
.mr-feat h3{font-size:15px}
.mr-feat p{font-size:13.5px;color:var(--mr-muted);margin-top:6px;line-height:1.4}

/* Services + eligibility */
.mr-svc-layout{display:grid;grid-template-columns:1.65fr 1fr;gap:28px;align-items:start}
.mr-svc-layout .mr-sub{margin-top:10px}
.mr-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.mr-card{border:1px solid var(--mr-line);border-radius:var(--mr-radius);padding:22px 18px;background:var(--mr-white);display:flex;flex-direction:column;gap:12px;min-width:0;transition:box-shadow .2s,transform .2s}
.mr-card:hover{box-shadow:0 12px 30px rgba(12,60,110,.09);transform:translateY(-2px)}
.mr-card h3{font-size:18px}
.mr-card>p:not(.mr-more):not(.mr-kind){color:var(--mr-muted);font-size:14.5px;flex:1}
.mr-kind{font:600 12px var(--mr-body);letter-spacing:.1em;text-transform:uppercase;color:var(--mr-teal)}

.mr-elig{background:var(--mr-mist);border:1px solid var(--mr-line);border-radius:var(--mr-radius);padding:22px;min-width:0;display:flex;flex-direction:column;gap:14px}
.mr-elig-head{display:flex;gap:12px;align-items:center}
.mr-elig-head h3{font-size:21px;color:var(--mr-teal)}
.mr-elig-intro{font-weight:600;color:var(--mr-navy);font-size:15px}
.mr-numbered{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:mr}
.mr-numbered li{display:flex;gap:12px;font-size:14.5px;counter-increment:mr;align-items:flex-start}
.mr-numbered li::before{content:counter(mr);flex:none;width:30px;height:30px;border-radius:50%;background:var(--mr-teal);color:var(--mr-white);display:grid;place-items:center;font:600 14px var(--mr-display)}
.mr-fee{display:flex;gap:12px;align-items:center;background:var(--mr-white);border-radius:12px;padding:12px 14px}
.mr-dollar{width:44px;height:44px;flex:none;border-radius:50%;background:var(--mr-teal);color:var(--mr-white);display:grid;place-items:center;font:700 22px var(--mr-display)}
.mr-fee strong{color:var(--mr-navy)}
.mr-fee p:last-child{font-size:13px;color:var(--mr-muted)}
.mr-mbs{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.mr-tag{background:var(--mr-teal);color:var(--mr-white);font:600 16px var(--mr-display);padding:10px 16px;border-radius:10px}
.mr-mbs p:last-child{font-size:13px;color:var(--mr-muted);flex:1;min-width:160px}

/* Service area banner */
.mr-area{position:relative;background:var(--mr-mist);border-block:1px solid var(--mr-line);overflow:hidden}
.mr-area-city{position:absolute;right:0;top:0;bottom:0;width:48%;z-index:0}
.mr-area-city img{width:100%;height:100%;object-fit:cover;object-position:right center}
.mr-area-city::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--mr-mist) 0%,rgba(234,245,247,.35) 45%,rgba(234,245,247,0) 100%);z-index:1}
.mr-area-inner{position:relative;z-index:2;display:flex;align-items:center;gap:28px;padding-block:30px;flex-wrap:wrap}
.mr-area-text{display:flex;gap:16px;align-items:flex-start;min-width:0}
.mr-area-text img{width:46px;height:auto}
.mr-area h2{font-size:clamp(22px,2.6vw,26px);font-weight:600}
.mr-area-text p{color:var(--mr-muted);font-size:14.5px;margin-top:6px;max-width:28em}

/* Process */
.mr-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.mr-step{display:flex;gap:16px;align-items:flex-start;position:relative;padding-right:28px;min-width:0}
.mr-step:not(:last-child)::after{content:"";position:absolute;right:6px;top:30px;width:12px;height:12px;border-right:2.5px solid var(--mr-teal);border-top:2.5px solid var(--mr-teal);transform:rotate(45deg)}
.mr-step-icon{position:relative;width:66px;height:66px}
.mr-num{position:absolute;top:-6px;left:-6px;width:28px;height:28px;border-radius:50%;background:var(--mr-navy);color:var(--mr-white);display:grid;place-items:center;font:600 14px/1 var(--mr-display)}
.mr-step h3{font-size:16px}
.mr-step p{font-size:14px;color:var(--mr-muted);margin-top:6px}

/* Languages */
.mr-langs{background:var(--mr-mist-2);border:1px solid var(--mr-line);border-radius:var(--mr-radius);display:flex;align-items:center;gap:24px;padding:20px 24px;margin-top:40px;flex-wrap:wrap}
.mr-langs-lead{display:flex;gap:16px;align-items:center;flex:1 1 320px;min-width:0}
.mr-langs h3{font-size:21px}
.mr-langs-lead p{color:var(--mr-muted);font-size:15px}
.mr-flags{display:flex;flex:2 1 420px}
.mr-flag{flex:1;text-align:center;padding:4px 8px;border-left:1px solid var(--mr-line);font-weight:600;color:var(--mr-navy);font-size:14px;display:flex;flex-direction:column;align-items:center;gap:2px}
.mr-flag img{width:40px;height:26px;object-fit:cover;border-radius:2px;margin-bottom:4px}
.mr-native{font-size:15px;color:var(--mr-teal)}

/* ==========================================================================
   7. Inner pages
   ========================================================================== */
.mr-page-hero{background:linear-gradient(100deg,var(--mr-mist-2),var(--mr-mist));padding-block:48px;border-bottom:1px solid var(--mr-line)}
.mr-page-hero .mr-wrap{display:flex;flex-direction:column;gap:12px}
.mr-page-hero p:not(.mr-crumbs){font-size:18px;color:var(--mr-muted);max-width:40em}
.mr-crumbs{font-size:13.5px;color:var(--mr-muted)}
.mr-crumbs a{color:var(--mr-muted)}
.mr-two{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}
.mr-prose{display:flex;flex-direction:column;gap:14px;max-width:62ch;min-width:0}
.mr-prose ol,.mr-prose ul:not(.mr-checks){margin:0;padding-left:20px;display:grid;gap:8px}
.mr-panel{background:var(--mr-mist);border:1px solid var(--mr-line);border-radius:var(--mr-radius);padding:24px;display:flex;flex-direction:column;gap:14px;min-width:0}
.mr-panel h3{font-size:20px}
.mr-checks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.mr-checks.is-single{grid-template-columns:1fr}
.mr-checks li{display:flex;gap:10px;font-size:15px}
.mr-checks li::before{content:"";flex:none;width:20px;height:20px;margin-top:2px;border-radius:50%;background:var(--mr-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/14px no-repeat}
.mr-svc-detail{display:grid;grid-template-columns:72px 1fr;gap:22px;padding-block:34px;border-bottom:1px solid var(--mr-line)}
.mr-svc-detail:last-child{border-bottom:0}
.mr-svc-detail h2{font-size:26px;font-weight:600}
.mr-svc-detail .mr-prose{max-width:none}
.mr-faq{display:grid;gap:10px;margin-top:20px}
.mr-faq .wp-block-details{border:1px solid var(--mr-line);border-radius:12px;padding:0 18px;background:var(--mr-white)}
.mr-faq summary{cursor:pointer;font-weight:600;color:var(--mr-navy);padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.mr-faq summary::-webkit-details-marker{display:none}
.mr-faq summary::after{content:"+";font:500 22px/1 var(--mr-display);color:var(--mr-teal)}
.mr-faq details[open] summary::after{content:"–"}
.mr-faq details p{padding-bottom:16px;color:var(--mr-muted)}
.mr-narrow{max-width:900px}
.mr-contact-list{display:flex;flex-direction:column;gap:16px}
.mr-contact-row{display:flex;gap:14px;align-items:center}
.mr-contact-row strong{display:block;color:var(--mr-navy)}

/* Neutralise core block margins inside designed sections */
:where(.mr-full) :where(.wp-block-image,figure,.wp-block-list,.wp-block-heading,p,.wp-block-buttons){margin-block:0}
.mr-full .wp-block-image{margin:0}

/* Generic page title (pages that don't start with a page-hero section) */
.mr-page-title{background:linear-gradient(100deg,var(--mr-mist-2),var(--mr-mist));padding-block:44px;border-bottom:1px solid var(--mr-line)}

/* Blog listing */
.mr-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding-block:48px}
.mr-post-meta{font-size:13.5px;color:var(--mr-muted)}

/* ==========================================================================
   8. Forms
   ========================================================================== */
.mr-form{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.mr-form fieldset{border:0;margin:0;padding:0;display:contents}
.mr-form legend{grid-column:1/-1;font:600 18px var(--mr-display);color:var(--mr-navy);padding-top:10px}
.mr-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.mr-field.is-full{grid-column:1/-1}
.mr-form label{font-weight:600;font-size:14px;color:var(--mr-navy)}
.mr-req{color:var(--mr-err)}
.mr-form input:not([type=checkbox]),.mr-form select,.mr-form textarea{font:16px var(--mr-body);color:var(--mr-ink);background:var(--mr-white);border:1.5px solid var(--mr-line);border-radius:10px;padding:11px 12px;width:100%}
.mr-form input:focus,.mr-form select:focus,.mr-form textarea:focus{border-color:var(--mr-teal);outline:none;box-shadow:0 0 0 3px rgba(20,163,168,.2)}
.mr-form textarea{min-height:110px;resize:vertical}
.mr-form .mr-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14.5px;color:var(--mr-ink)}
.mr-form .mr-check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--mr-teal)}
.mr-field.is-invalid input,.mr-field.is-invalid select,.mr-field.is-invalid textarea{border-color:var(--mr-err)}
.mr-field-msg{font-size:13px;color:var(--mr-err);display:none}
.mr-field.is-invalid .mr-field-msg{display:block}
.mr-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.mr-note{font-size:13.5px;color:var(--mr-muted)}
.mr-alert{border-radius:var(--mr-radius);padding:18px 20px;display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.mr-alert.is-success{border:1.5px solid var(--mr-ok);background:#eef8f2}
.mr-alert.is-success strong{color:var(--mr-ok)}
.mr-alert.is-error{border:1.5px solid var(--mr-err);background:#fdf0ef}
.mr-alert.is-error strong{color:var(--mr-err)}
.mr-alert.is-info{border:1.5px solid var(--mr-line);background:var(--mr-mist)}

/* ==========================================================================
   9. Footer
   ========================================================================== */
.mr-footer{background:var(--mr-navy-deep);color:#d6e4f2;position:relative;overflow:hidden}
.mr-footer::after{content:"";position:absolute;right:-60px;bottom:-80px;width:220px;height:220px;border-radius:50% 0;background:var(--mr-teal);opacity:.35;transform:rotate(30deg);pointer-events:none}
.mr-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr .6fr;gap:28px;padding-block:44px;position:relative;z-index:1}
.mr-footer-grid>div+div{border-left:1px solid rgba(255,255,255,.14);padding-left:28px}
.mr-footer .mr-logo-name{color:var(--mr-white)}
.mr-footer .mr-logo-name span{color:var(--mr-teal-bright)}
.mr-footer .mr-logo-sub{color:#c9dbee}
.mr-footer-tagline{font-style:italic;font-size:16px;margin-top:16px;border-top:1px solid rgba(255,255,255,.2);padding-top:12px;color:var(--mr-white)}
.mr-footer h2{color:var(--mr-white);font:600 15px var(--mr-body);margin-bottom:12px}
.mr-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.mr-footer a{color:#d6e4f2;text-decoration:none;font-size:14.5px}
.mr-footer a:hover{color:var(--mr-white);text-decoration:underline}
.mr-footer-contact{gap:12px!important}
.mr-footer-contact li{display:flex;gap:12px;align-items:center}
.mr-footer-contact img{width:22px;height:22px}
.mr-social{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:6px;background:var(--mr-white);color:var(--mr-navy-deep)!important;font:700 15px var(--mr-body);text-decoration:none!important}
.mr-legal{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.12);padding-block:16px;font-size:12.5px;color:#a9c0d8;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* ==========================================================================
   10. Responsive
   ========================================================================== */
@media (max-width:1060px){
  .mr-svc-layout{grid-template-columns:1fr}
  .mr-features{grid-template-columns:1fr 1fr}
  .mr-feat:nth-child(3){border-left:0}
  .mr-feat:nth-child(n+3){border-top:1px solid var(--mr-line)}
  .mr-footer-grid{grid-template-columns:1fr 1fr}
  .mr-footer-grid>div:nth-child(3){border-left:0;padding-left:0}
}
@media (max-width:960px){
  .mr-burger{display:inline-flex}
  .mr-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--mr-white);padding:8px var(--mr-gutter) 20px;border-bottom:1px solid var(--mr-line);box-shadow:0 18px 30px rgba(12,60,110,.1);max-height:calc(100vh - 90px);overflow:auto}
  .mr-header.nav-open .mr-nav{display:block}
  .mr-menu{flex-direction:column;align-items:stretch}
  .mr-menu>li{flex-wrap:wrap;border-bottom:1px solid var(--mr-line)}
  .mr-menu>li>a{flex:1;padding:14px 4px}
  .mr-menu>li>a::after{display:none}
  .mr-sub-toggle{padding:12px;margin:0}
  .mr-menu .sub-menu{position:static;box-shadow:none;border:0;padding:0 0 8px 8px;width:100%;min-width:0}
  .mr-header-cta{display:none}
  .mr-hero-grid{grid-template-columns:1fr;padding-right:var(--mr-gutter)}
  .mr-hero-copy{padding-bottom:8px}
  .mr-full .mr-hero-img{min-height:280px;border-radius:var(--mr-radius);overflow:hidden;margin-bottom:28px}
  .mr-hero-img::after{display:none}
  .mr-cards,.mr-steps{grid-template-columns:1fr}
  .mr-step::after{display:none}
  .mr-two{grid-template-columns:1fr}
  .mr-area-city{display:none}
}
@media (max-width:640px){
  .mr-features{grid-template-columns:1fr}
  .mr-feat+.mr-feat{border-left:0;border-top:1px solid var(--mr-line)}
  .mr-form,.mr-checks{grid-template-columns:1fr}
  .mr-footer-grid{grid-template-columns:1fr}
  .mr-footer-grid>div+div{border-left:0;padding-left:0}
  .mr-flags{flex-wrap:wrap}
  .mr-flag{flex:1 1 45%;border-left:0;padding-block:10px}
  .mr-svc-detail{grid-template-columns:1fr}
  .mr-logo-name{font-size:19px}
  .mr-logo-sub{font-size:7.5px}
}

/* Editor: keep sections readable while editing */
.editor-styles-wrapper .mr-hero-img{min-height:260px}
.editor-styles-wrapper .mr-card:hover{transform:none}
.mr-area .wp-block-button__link{padding:11px 22px;font-size:15px}
.mr-step-icon .mr-bubble{width:66px;height:66px}
/* Beat core's outline-button rules (which force a transparent background) */
:is(.mr-content,.editor-styles-wrapper) .wp-block-button.is-style-outline>.wp-block-button__link.wp-block-button__link{background:var(--mr-white);color:var(--mr-navy);border:2px solid var(--mr-navy);padding:14px 28px}
:is(.mr-content,.editor-styles-wrapper) .wp-block-button.is-style-outline>.wp-block-button__link.wp-block-button__link:hover{background:var(--mr-mist)}
