/* Mobile-first v5 overrides. Loaded after the main theme. */
:root { --touch: 48px; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; overflow-x: clip; }
body { min-width: 320px; overflow-x: clip; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; }
h1,h2,h3,.brand { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
img,svg,video { max-width: 100%; height: auto; }
button,a,input,select,textarea { touch-action: manipulation; }
input,select,textarea { min-height: var(--touch); font: inherit; font-size: 16px !important; }
textarea { min-height: 112px; resize: vertical; }
button,.button,.text-button,.nav-account { min-height: var(--touch); font-size: 15px; }
p,li { overflow-wrap: anywhere; }
.container,.wide-container { width: min(100% - 32px,1180px); }
.detail-list p,.diagnosis p,.quote-note p { white-space: pre-line; }
.field-intro { color: #657b80; font-size: 15px; line-height: 1.65; margin: 0 0 18px; }
.dynamic-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.dynamic-heading h2 { margin-bottom: 0; }.dynamic-heading > i { color: #26776f; background: #e7f3ef; padding: 9px 11px; font-size: 12px; font-style: normal; font-weight: 800; }
.service-specific-fields { padding: 18px; background: #f0f7f4; border: 1px solid #d5e7e1; margin: 18px 0; }
.forgot-link { display: inline-flex; min-height: 44px; align-items: center; color: #0b756d; font-size: 14px; font-weight: 800; }

.trust-records { background: #f5f7f3; }
.trust-record-grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid #dce5e1; background: white; }
.trust-record-grid article { min-height: 245px; padding: 28px; border-right: 1px solid #dce5e1; }
.trust-record-grid article:last-child { border-right: 0; }.trust-record-grid article > span { color: #138b82; font-size: 13px; font-weight: 900; }.trust-record-grid h3 { margin: 44px 0 12px; font-size: 20px; }.trust-record-grid p { color: #62787d; font-size: 15px; line-height: 1.7; }
.photo-trust-note { margin-top: 18px; padding: 24px; background: #eee7da; display: flex; align-items: center; justify-content: space-between; gap: 24px; }.photo-trust-note strong { font-size: 17px; }.photo-trust-note p { margin: 6px 0 0; color: #756c5f; font-size: 14px; }
.home-review-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin: 35px 0; }.home-review-grid article { padding: 28px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.13); }.home-review-grid article > span { color: #efb45e; letter-spacing: .1em; }.home-review-grid p { min-height: 100px; color: #d3e0e0; font-size: 16px; line-height: 1.7; }.home-review-grid strong { color: white; font-size: 14px; }.honest-empty { margin: 32px 0; padding: 28px; border: 1px solid rgba(255,255,255,.14); }.honest-empty strong { color: white; font-size: 20px; }.honest-empty p { color: #a9bfc0; font-size: 15px; }
.guide-links { display: grid; grid-template-columns: repeat(2,1fr); border: 1px solid #dbe5e1; margin-bottom: 24px; }.guide-links a { min-height: 145px; padding: 25px; display: grid; grid-template-columns: 1fr auto; align-content: center; gap: 10px 20px; border-right: 1px solid #dbe5e1; border-bottom: 1px solid #dbe5e1; background: white; }.guide-links a:nth-child(even) { border-right: 0; }.guide-links a:nth-last-child(-n+2) { border-bottom: 0; }.guide-links small { grid-column: 1/-1; color: #178b82; font-size: 12px; font-weight: 900; letter-spacing: .1em; }.guide-links strong { font-size: 18px; line-height: 1.4; }.guide-links span { color: #0b766e; font-weight: 900; }

.editorial-hero { padding: clamp(72px,10vw,140px) 0; background: radial-gradient(circle at 75% 20%,rgba(31,155,145,.28),transparent 28%),#082633; color: white; }.editorial-hero h1 { max-width: 900px; margin: 14px 0; font-size: clamp(44px,7vw,84px); line-height: .98; letter-spacing: -.06em; }.editorial-hero p { max-width: 760px; color: #b1c7c8; font-size: 18px; line-height: 1.75; }
.real-blog-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }.real-blog-grid article { min-height: 320px; padding: 34px; background: white; border: 1px solid #dce5e2; display: flex; flex-direction: column; }.real-blog-grid article > div { display: flex; justify-content: space-between; gap: 15px; color: #70868a; font-size: 13px; }.real-blog-grid article > div span { color: #138b82; font-weight: 900; }.real-blog-grid h2 { margin: 35px 0 13px; font-size: 27px; line-height: 1.15; }.real-blog-grid p { color: #64797e; font-size: 15px; line-height: 1.75; }.real-blog-grid .text-link { margin-top: auto; }
.article-cover { padding: clamp(70px,9vw,130px) 0; background: #092633; color: white; }.article-cover-grid { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 75px; align-items: end; }.article-cover h1 { max-width: 900px; margin: 15px 0; font-size: clamp(43px,6vw,78px); line-height: 1; letter-spacing: -.055em; }.article-cover p { color: #b9cccd; font-size: 18px; line-height: 1.7; }.article-meta { display: flex; flex-wrap: wrap; gap: 12px 24px; color: #82a2a4; font-size: 13px; }.article-cover aside { padding: 27px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); }.article-cover aside strong { color: #efac54; }.article-cover aside p { font-size: 15px; }.article-cover aside a { min-height: 48px; display: inline-flex; align-items: center; color: #70d0c7; font-weight: 800; }
.article-body { padding-top: 70px; padding-bottom: 90px; display: grid; grid-template-columns: minmax(0,760px) 300px; gap: 80px; align-items: start; }.article-summary { padding: 27px; background: #eef5f1; }.article-summary ol { margin: 15px 0 0; padding-left: 22px; color: #5d7479; line-height: 1.9; }.article-reading > section { padding: 52px 0; border-bottom: 1px solid #dce5e2; }.article-reading h2 { font-size: clamp(29px,4vw,43px); letter-spacing: -.04em; }.article-reading p { color: #405960; font-family: Georgia,serif; font-size: 19px; line-height: 1.9; }.article-disclaimer { margin-top: 35px; padding: 25px; border-left: 4px solid #c98642; background: #f5eee4; }.article-disclaimer p { margin-bottom: 0; color: #6c6358; font-size: 15px; }.article-related { position: sticky; top: 25px; }.article-related > a { min-height: 120px; padding: 18px 0; border-bottom: 1px solid #dce5e2; display: flex; flex-direction: column; gap: 7px; }.article-related small { color: #188b82; font-weight: 900; }.article-related strong { font-size: 16px; line-height: 1.4; }.article-related a span { color: #0b766e; }
.verified-reviews { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }.verified-reviews > article { padding: 32px; background: white; border: 1px solid #dce5e2; }.verified-reviews article > div:first-child { display: flex; justify-content: space-between; gap: 15px; }.review-stars { color: #dd983e; letter-spacing: .08em; }.verified-reviews h2 { font-size: 22px; }.verified-reviews > article > p { color: #526b71; font-size: 16px; line-height: 1.8; }.verified-reviews > article > strong { font-size: 14px; }.review-response { margin-top: 20px; padding: 18px; background: #eef5f2; }.review-response p { margin-bottom: 0; font-size: 14px; line-height: 1.65; }.review-moderation { display: grid; gap: 18px; }.review-moderation blockquote { margin: 0 0 22px; padding: 22px; background: #f4f7f5; color: #415c63; font-size: 17px; line-height: 1.7; }.review-moderation .form-actions select { min-width: 190px; }
.existing-review { padding: 20px; background: #f5f8f6; }.existing-review > span { color: #dd983e; letter-spacing: .08em; }.existing-review p { color: #536c72; font-size: 16px; line-height: 1.7; }

.mobile-action-bar { display: none; }

@media (max-width: 980px) {
  .trust-record-grid { grid-template-columns: 1fr 1fr; }.trust-record-grid article:nth-child(2) { border-right: 0; }.trust-record-grid article:nth-child(-n+2) { border-bottom: 1px solid #dce5e1; }
  .home-review-grid { grid-template-columns: 1fr; }.home-review-grid p { min-height: auto; }
  .article-cover-grid,.article-body { grid-template-columns: 1fr; gap: 35px; }.article-cover aside { max-width: 600px; }.article-related { position: static; display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }.article-related > span { grid-column: 1/-1; }.article-related > a { border: 1px solid #dce5e2; padding: 18px; }
}

@media (max-width: 760px) {
  body { padding-bottom: 68px; }
  .eyebrow,.tiny-label,.request-id,.form-overline { font-size: 12px !important; }
  .stats-row small,.panel small,.timeline small,.detail-list small,.admin-payment-list small { font-size: 12px !important; line-height: 1.45; }
  .stats-row strong { font-size: 30px; }
  .panel label,.form-card label,.booking-form label,.inline-payment-form label { font-size: 14px !important; line-height: 1.4; }
  .panel p,.timeline p,.detail-list p,.form-note p { font-size: 14px !important; line-height: 1.65; }
  .panel h2 { font-size: 25px; }.panel h3 { font-size: 20px; }
  .detail-list b,.timeline b,.admin-payment-list b { font-size: 15px !important; line-height: 1.45; }
  .status-pill,.status-pill.large { padding: 9px 12px; font-size: 12px !important; }
  .utility-bar { display: none; }
  .container,.wide-container { width: min(100% - 28px,1180px); }
  .site-header { position: sticky; top: 0; z-index: 100; }
  .nav-wrap { min-height: 70px; }.brand img { width: 42px; height: 42px; }.brand > span { font-size: 16px; }
  .nav-toggle { width: 48px; height: 48px; }
  .main-nav.open { max-height: calc(100svh - 70px); overflow-y: auto; padding: 14px; }.main-nav a,.main-nav button { min-height: 50px; font-size: 16px; }
  .hero { min-height: auto; padding: 70px 0 55px; }.hero h1 { font-size: clamp(43px,13vw,64px); }.lead { font-size: 18px; }.hero .button-row { flex-direction: column; }.hero .button-row a { width: 100%; }
  .section { padding: 64px 0; }.section-heading,.split-heading { align-items: flex-start; flex-direction: column; gap: 16px; }.section-heading h2,.split-heading h2 { font-size: clamp(34px,10vw,46px); }.section-heading p,.split-heading p { font-size: 16px; }
  .service-grid { grid-template-columns: 1fr; }.service-card { min-height: 235px; }.service-card h3 { font-size: 24px; }.service-card p { font-size: 15px; }
  .booking-head,.job-head,.admin-job-head,.admin-head { padding: 55px 0 38px; }.booking-head h1,.job-head h1,.admin-job-head h1,.admin-head h1 { font-size: clamp(37px,11vw,52px); }
  .booking-layout,.job-detail-grid,.admin-job-layout,.settings-grid { grid-template-columns: 1fr; }
  .booking-aside,.job-sidebar,.admin-side { position: static; }
  .form-block { grid-template-columns: 1fr; gap: 18px; padding: 24px 18px; }.form-step { flex-direction: row; align-items: center; }.form-step b { margin: 0; }.form-grid,.form-grid.three,.detail-list,.detail-list.four { grid-template-columns: 1fr; }.detail-list .wide { grid-column: auto; }
  .service-choice,.appliance-choice { grid-template-columns: 1fr 1fr; }.service-choice label span { min-height: 105px; padding: 13px; }.service-choice label span b { font-size: 13px; }
  .dynamic-heading { flex-direction: column; }.dynamic-heading > i { width: 100%; }
  .booking-submit { flex-direction: column; align-items: stretch; padding: 22px 18px; }.booking-submit .button { width: 100%; }
  .dashboard-head,.admin-toolbar,.job-head-row,.panel-head { align-items: flex-start; flex-direction: column; }.dashboard-stats,.admin-stats,.payment-summary { grid-template-columns: 1fr 1fr; }.dashboard-stats article,.admin-stats article { min-height: 130px; padding: 19px; }.dashboard-stats strong,.admin-stats strong { font-size: 32px; }
  .admin-toolbar form { width: 100%; display: grid; grid-template-columns: 1fr; }.search-box,.admin-toolbar select,.admin-toolbar .button { width: 100%; }
  .job-table { overflow: visible; background: transparent; border: 0; }.job-table-head { display: none; }.job-row { min-width: 0 !important; margin-bottom: 14px; padding: 18px; background: white; border: 1px solid #dbe5e1; border-radius: 14px; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 18px 12px; }.job-row > span:nth-child(1)::before { content: 'REQUEST'; }.job-row > span:nth-child(2)::before { content: 'SERVICE'; }.job-row > span:nth-child(3)::before { content: 'VISIT'; }.job-row > span:nth-child(4)::before { content: 'QUOTE / PAYMENT'; }.job-row > span:nth-child(5)::before { content: 'STATUS'; }.job-row > span::before { display: block; margin-bottom: 6px; color: #7d9094; font-size: 11px; font-weight: 850; letter-spacing: .08em; }.job-row b { font-size: 15px; }.job-row small { font-size: 13px; line-height: 1.45; }.job-row .row-arrow { display: none; }
  .admin-table { overflow: visible; background: transparent; border: 0; }.admin-table-head { display: none; }.admin-row { min-width: 0 !important; margin-bottom: 14px; padding: 18px; background: white; border: 1px solid #dbe5e1; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 18px 12px; }.admin-row > span { min-width: 0; }.admin-row > span:nth-child(1)::before { content: 'REFERENCE'; }.admin-row > span:nth-child(2)::before { content: 'CUSTOMER'; }.admin-row > span:nth-child(3)::before { content: 'SERVICE'; }.admin-row > span:nth-child(4)::before { content: 'LOCATION / VISIT'; }.admin-row > span:nth-child(5)::before { content: 'QUOTE / PAYMENT'; }.admin-row > span:nth-child(6)::before { content: 'STATUS'; }.admin-row > span::before { display: block; margin-bottom: 6px; color: #7d9094; font-size: 11px; font-weight: 850; letter-spacing: .08em; }.admin-row b { font-size: 15px; }.admin-row small { font-size: 13px; line-height: 1.45; }.admin-row .row-arrow { display: none; }
  .quote-table { overflow: visible; }.quote-head { display: none !important; }.quote-table > div:not(.quote-summary) { min-width: 0 !important; margin-bottom: 12px; padding: 15px; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 11px; background: #f7f9f8; border: 1px solid #dfe7e4; }.quote-table > div:not(.quote-summary) span { font-size: 14px !important; }.quote-table > div:not(.quote-summary) span:first-child { grid-column: 1/-1; font-weight: 800; }.quote-table > div:not(.quote-summary) span:nth-child(2)::before { content: 'Qty: '; color: #788d91; }.quote-table > div:not(.quote-summary) span:nth-child(3)::before { content: 'Rate: '; color: #788d91; }.quote-table > div:not(.quote-summary) span:nth-child(4) { grid-column: 1/-1; font-weight: 900; }
  .quote-editor-head { display: none; }.quote-editor-row { margin-bottom: 14px; padding: 15px; grid-template-columns: 1fr 1fr 48px; background: #f5f8f6; border: 1px solid #dce5e2; }.quote-editor-row input:first-child { grid-column: 1/-1; }.quote-editor-row input::placeholder { opacity: 1; }.quote-editor-row button { min-width: 48px; min-height: 48px; }
  .inline-payment-form { grid-template-columns: 1fr; }.inline-payment-form .wide-field { grid-column: auto; }.inline-payment-form .button { width: 100%; }
  .stage-track { overflow-x: auto; padding-bottom: 10px; scroll-snap-type: x proximity; }.stage { min-width: 105px; scroll-snap-align: start; }.stage span { font-size: 12px; }
  .payment-layout { grid-template-columns: 1fr; }.payment-options { flex-direction: column; }.qr-card { align-self: center; }
  .form-actions,.quote-actions { width: 100%; align-items: stretch; flex-direction: column; }.form-actions .button,.quote-actions .button,.panel > form > .button { width: 100%; min-height: 50px; }
  .trust-record-grid,.guide-links,.real-blog-grid,.verified-reviews { grid-template-columns: 1fr; }.trust-record-grid article,.trust-record-grid article:nth-child(2) { min-height: auto; border-right: 0; border-bottom: 1px solid #dce5e1; }.trust-record-grid article:last-child { border-bottom: 0; }.trust-record-grid h3 { margin-top: 24px; }.photo-trust-note { align-items: flex-start; flex-direction: column; }.guide-links a,.guide-links a:nth-child(even),.guide-links a:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid #dbe5e1; }.guide-links a:last-child { border-bottom: 0; }
  .editorial-hero h1,.article-cover h1 { font-size: clamp(40px,12vw,56px); }.editorial-hero p,.article-cover p { font-size: 16px; }.article-body { padding-top: 42px; }.article-reading > section { padding: 38px 0; }.article-reading p { font-size: 18px; line-height: 1.8; }.article-related { grid-template-columns: 1fr; }.article-related > span { grid-column: auto; }
  .mobile-action-bar { position: fixed; z-index: 200; left: 0; right: 0; bottom: 0; min-height: 68px; padding: 7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); display: grid; grid-template-columns: .8fr 1fr 1.35fr; gap: 7px; background: rgba(6,29,41,.97); box-shadow: 0 -10px 35px rgba(4,27,37,.22); }.mobile-action-bar a { min-height: 52px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: white; font-size: 12px; font-weight: 800; border: 1px solid rgba(255,255,255,.14); }.mobile-action-bar a span { font-size: 17px; }.mobile-action-bar .mobile-book { background: #e09242; border-color: #e09242; color: #102b32; }.whatsapp-float { display: none; }
  .mobile-action-bar.customer-mobile-nav { grid-template-columns: repeat(4,1fr); }.mobile-action-bar.customer-mobile-nav .mobile-book { background: #168c84; border-color: #168c84; color: white; }
}

@media (max-width: 430px) {
  .container,.wide-container { width: min(100% - 24px,1180px); }
  .service-choice,.appliance-choice,.dashboard-stats,.admin-stats,.payment-summary { grid-template-columns: 1fr; }
  .admin-row,.job-row { grid-template-columns: 1fr !important; }
  .quote-editor-row { grid-template-columns: 1fr; }.quote-editor-row input:first-child,.quote-editor-row button { grid-column: auto; }.quote-editor-row button { width: 100%; }
  .article-cover h1,.editorial-hero h1 { font-size: 39px; }
}

@media print {
  .mobile-action-bar { display: none !important; }
  body { padding-bottom: 0; }
}
