/*
Theme Name: DoAaram
Theme URI: https://doaaram.com
Author: Kusumit Pvt Ltd
Author URI: https://kusumit.com
Description: Official WordPress theme for DoAaram — India's home comfort & services platform. Part of the MyDoApp ecosystem by Kusumit Pvt Ltd.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: Proprietary
Text Domain: doaaram
Tags: home-services, comfort, india, marketplace
*/

/* ============================================================
   CSS CUSTOM PROPERTIES
   ============================================================ */
:root {
  --blue:         #1565c0;
  --blue-mid:     #1976d2;
  --blue-light:   #42a5f5;
  --blue-pale:    #e3f2fd;
  --blue-xpale:   #f0f8ff;
  --teal:         #00796b;
  --teal-mid:     #00897b;
  --teal-pale:    #e0f2f1;
  --orange:       #e65100;
  --orange-mid:   #f57c00;
  --orange-pale:  #fff3e0;
  --concrete:     #e8e4dc;
  --concrete-mid: #c8c3b8;
  --concrete-dark:#8a8578;
  --ink:          #1a1f2e;
  --ink-mid:      #353b4a;
  --ink-soft:     #636a7a;
  --ink-xsoft:    #9098a8;
  --white:        #fafbff;
  --card-bg:      #ffffff;
  --border:       #e0e5f0;
  --border-dark:  #c5cdd8;
  --shadow-sm:    0 1px 3px rgba(21,101,192,0.08);
  --shadow-md:    0 4px 16px rgba(21,101,192,0.12);
  --shadow-lg:    0 8px 32px rgba(21,101,192,0.15);
  --radius-sm:    6px;
  --radius-md:    10px;
  --radius-lg:    16px;
  --font-display: 'Tiro Devanagari Hindi', serif;
  --font-body:    'DM Sans', sans-serif;
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: var(--font-body); background: var(--white); color: var(--ink); line-height: 1.6; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
h1,h2,h3,h4,h5,h6 { font-family: var(--font-body); font-weight: 600; line-height: 1.25; color: var(--ink); }
h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.5rem, 3vw, 2.25rem); }
h3 { font-size: 1.25rem; }
h4 { font-size: 1.1rem; }
p  { color: var(--ink-soft); line-height: 1.7; }
.hindi { font-family: var(--font-display); font-weight: 400; }

/* ============================================================
   LAYOUT
   ============================================================ */
.container       { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.container-wide  { max-width: 1400px; margin: 0 auto; padding: 0 24px; }
.section         { padding: 80px 0; }
.section-sm      { padding: 48px 0; }
.section-lg      { padding: 120px 0; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
@media(max-width:1024px){ .grid-3{grid-template-columns:1fr 1fr;} .grid-4{grid-template-columns:1fr 1fr;} }
@media(max-width:768px){ .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;} .section{padding:48px 0;} .hidden-mobile{display:none;} }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn { display:inline-flex; align-items:center; gap:8px; padding:12px 24px; border-radius:var(--radius-md); font-family:var(--font-body); font-size:14px; font-weight:600; cursor:pointer; border:none; transition:all 0.2s ease; text-decoration:none; white-space:nowrap; }
.btn-primary   { background:var(--blue-mid); color:#fff; }
.btn-primary:hover  { background:var(--blue); transform:translateY(-1px); box-shadow:var(--shadow-md); }
.btn-secondary { background:transparent; color:var(--blue-mid); border:1.5px solid var(--blue-mid); }
.btn-secondary:hover{ background:var(--blue-pale); }
.btn-teal      { background:var(--teal-mid); color:#fff; }
.btn-teal:hover     { background:var(--teal); transform:translateY(-1px); }
.btn-orange    { background:var(--orange-mid); color:#fff; }
.btn-orange:hover   { background:var(--orange); transform:translateY(-1px); }
.btn-ghost     { background:rgba(255,255,255,0.12); color:#fff; border:1px solid rgba(255,255,255,0.25); }
.btn-ghost:hover    { background:rgba(255,255,255,0.2); }
.btn-lg  { padding:16px 32px; font-size:16px; }
.btn-sm  { padding:8px 16px; font-size:12px; }

/* ============================================================
   BADGES & TAGS
   ============================================================ */
.badge { display:inline-flex; align-items:center; gap:4px; padding:3px 10px; border-radius:20px; font-size:11px; font-weight:600; letter-spacing:0.03em; }
.badge-verified { background:#e3f2fd; color:var(--blue); }
.badge-pro      { background:#fff3e0; color:var(--orange); }
.badge-new      { background:var(--teal-pale); color:var(--teal); }
.badge-blue     { background:var(--blue-pale); color:var(--blue); }
.tag { display:inline-block; padding:3px 10px; border-radius:20px; font-size:11px; background:var(--concrete); color:var(--ink-mid); }

/* ============================================================
   SECTION HEADINGS
   ============================================================ */
.section-head { text-align:center; margin-bottom:48px; }
.section-head .overline { display:inline-block; font-size:11px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--blue-mid); margin-bottom:12px; }
.section-head h2 { margin-bottom:16px; }
.section-head p  { max-width:560px; margin:0 auto; font-size:1rem; }

/* ============================================================
   CARDS
   ============================================================ */
.card { background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius-lg); padding:24px; transition:border-color 0.2s, transform 0.15s, box-shadow 0.2s; }
.card:hover { border-color:var(--blue-light); transform:translateY(-2px); box-shadow:var(--shadow-md); }

/* ============================================================
   HEADER
   ============================================================ */
#site-header { position:sticky; top:0; z-index:1000; background:var(--ink); border-bottom:1px solid rgba(255,255,255,0.08); transition:box-shadow 0.3s; }
.header-inner { display:flex; align-items:center; height:64px; gap:32px; }
.site-logo { display:flex; align-items:baseline; gap:6px; flex-shrink:0; }
.logo-do    { font-size:22px; font-weight:700; color:#fff; letter-spacing:-0.5px; }
.logo-aaram { font-size:22px; font-weight:700; color:var(--blue-light); letter-spacing:-0.5px; }
.logo-hindi { font-family:var(--font-display); font-size:13px; color:rgba(255,255,255,0.35); margin-left:4px; }
#primary-nav { display:flex; align-items:center; gap:4px; }
.nav-item a { font-size:13px; font-weight:500; color:rgba(255,255,255,0.6); padding:8px 12px; border-radius:var(--radius-sm); transition:color 0.15s,background 0.15s; display:block; }
.nav-item a:hover, .nav-item.current-menu-item a { color:#fff; background:rgba(255,255,255,0.08); }
.header-actions { margin-left:auto; display:flex; align-items:center; gap:10px; }
.menu-toggle { display:none; background:none; border:none; cursor:pointer; padding:8px; color:#fff; font-size:22px; }
@media(max-width:768px){ .menu-toggle{display:block;} #primary-nav{display:none;} #primary-nav.open{display:flex;flex-direction:column;position:absolute;top:64px;left:0;right:0;background:var(--ink);padding:16px;gap:4px;border-bottom:1px solid rgba(255,255,255,0.1);} }

/* ============================================================
   HERO
   ============================================================ */
.hero { background:var(--ink); padding:80px 0 0; overflow:hidden; position:relative; }
.hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 60% 60% at 70% 50%,rgba(21,101,192,0.2) 0%,transparent 70%),radial-gradient(ellipse 40% 40% at 15% 80%,rgba(0,121,107,0.12) 0%,transparent 60%); pointer-events:none; }
.hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
@media(max-width:768px){ .hero-grid{grid-template-columns:1fr;} }
.hero-overline { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--blue-light); margin-bottom:20px; }
.hero-overline::before { content:''; width:24px; height:2px; background:var(--blue-light); border-radius:2px; }
.hero h1 { color:#fff; margin-bottom:20px; }
.hero h1 span { color:var(--blue-light); }
.hero-desc { font-size:1.1rem; color:rgba(255,255,255,0.6); margin-bottom:32px; line-height:1.75; }
.hero-ctas { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:48px; }
.hero-stats { display:flex; gap:32px; padding-top:32px; border-top:1px solid rgba(255,255,255,0.1); }
.hero-stat .val { font-size:1.75rem; font-weight:700; color:#fff; line-height:1; }
.hero-stat .label { font-size:12px; color:rgba(255,255,255,0.45); margin-top:4px; }
.hero-visual { position:relative; padding-bottom:40px; }
.hero-booking-box { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:var(--radius-lg); padding:24px; }
.hbb-label { font-size:12px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:rgba(255,255,255,0.5); margin-bottom:14px; }
.hbb-service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:16px; }
.hbb-service { background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.1); border-radius:var(--radius-md); padding:12px 8px; text-align:center; cursor:pointer; transition:all 0.15s; }
.hbb-service:hover, .hbb-service.active { background:var(--blue-mid); border-color:var(--blue-mid); }
.hbb-service-icon { font-size:22px; margin-bottom:4px; }
.hbb-service-name { font-size:11px; color:rgba(255,255,255,0.7); font-weight:500; }
.hbb-input { background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.12); border-radius:var(--radius-md); padding:12px 14px; margin-bottom:10px; }
.hbb-input-label { font-size:10px; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; color:rgba(255,255,255,0.4); margin-bottom:3px; }
.hbb-input input { font-family:var(--font-body); font-size:13px; color:#fff; background:none; border:none; outline:none; width:100%; }
.hbb-input input::placeholder { color:rgba(255,255,255,0.3); }

/* ============================================================
   TRUST BAR
   ============================================================ */
.trust-bar { background:var(--blue-pale); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:16px 0; }
.trust-inner { display:flex; align-items:center; justify-content:center; gap:40px; flex-wrap:wrap; }
.trust-item { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:500; color:var(--blue); }
.trust-icon { font-size:18px; color:var(--blue-mid); }

/* ============================================================
   SERVICE CATEGORY CARDS
   ============================================================ */
.service-cat-card { background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius-lg); padding:24px; text-align:center; cursor:pointer; transition:all 0.2s; text-decoration:none; color:inherit; display:block; }
.service-cat-card:hover { border-color:var(--blue-light); transform:translateY(-3px); box-shadow:var(--shadow-md); }
.sc-icon { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:24px; margin:0 auto 14px; }
.sc-icon-blue   { background:var(--blue-pale); }
.sc-icon-teal   { background:var(--teal-pale); }
.sc-icon-orange { background:var(--orange-pale); }
.sc-name  { font-size:14px; font-weight:600; margin-bottom:4px; }
.sc-count { font-size:12px; color:var(--ink-soft); }

/* ============================================================
   PROVIDER CARDS
   ============================================================ */
.provider-card { background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius-lg); padding:20px; display:flex; gap:14px; transition:all 0.2s; cursor:pointer; }
.provider-card:hover { border-color:var(--blue-light); transform:translateY(-2px); box-shadow:var(--shadow-md); }
.provider-card.featured { border-color:var(--orange-mid); }
.prov-avatar { width:52px; height:52px; border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:700; color:#fff; flex-shrink:0; }
.prov-name  { font-size:15px; font-weight:600; margin-bottom:2px; }
.prov-meta  { font-size:12px; color:var(--ink-soft); margin-bottom:8px; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.prov-stats { display:flex; gap:16px; margin-bottom:8px; }
.prov-stat .val { font-size:13px; font-weight:600; color:var(--ink); }
.prov-stat .key { font-size:10px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.03em; }
.prov-right { margin-left:auto; display:flex; flex-direction:column; align-items:flex-end; gap:8px; flex-shrink:0; min-width:110px; }
.prov-rate { font-size:16px; font-weight:700; color:var(--ink); }
.prov-rate-unit { font-size:11px; color:var(--ink-soft); font-weight:400; }
.stars { color:#f59e0b; letter-spacing:1px; }
.avail-dot { display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:4px; }
.avail-dot.green { background:#4caf50; }
.avail-dot.amber { background:#ff9800; }

/* ============================================================
   HOW IT WORKS
   ============================================================ */
.step-card { background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius-lg); padding:28px; position:relative; overflow:hidden; }
.step-num { position:absolute; top:16px; right:16px; font-size:48px; font-weight:700; color:var(--concrete); line-height:1; }
.step-icon { font-size:36px; margin-bottom:14px; }
.step-card h3 { margin-bottom:8px; }
.step-card p  { font-size:13px; }

/* ============================================================
   BOOKING FORM
   ============================================================ */
.booking-section { background:var(--ink); position:relative; overflow:hidden; }
.booking-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 50% 80% at 80% 50%,rgba(21,101,192,0.15) 0%,transparent 70%); pointer-events:none; }
.booking-form { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:var(--radius-lg); padding:32px; }
.form-group { margin-bottom:18px; }
.form-label { display:block; font-size:12px; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; color:rgba(255,255,255,0.5); margin-bottom:8px; }
.form-input, .form-select { width:100%; font-family:var(--font-body); font-size:14px; color:#fff; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.12); border-radius:var(--radius-md); padding:12px 14px; outline:none; transition:border-color 0.2s; }
.form-input:focus, .form-select:focus { border-color:var(--blue-mid); }
.form-input::placeholder { color:rgba(255,255,255,0.3); }
.form-select option { background:var(--ink); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:480px){ .form-row{grid-template-columns:1fr;} }

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testimonial-card { background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius-lg); padding:28px; }
.testimonial-stars { color:#f59e0b; font-size:14px; letter-spacing:2px; margin-bottom:12px; }
.testimonial-text  { font-size:14px; color:var(--ink-soft); line-height:1.7; font-style:italic; margin-bottom:16px; }
.testimonial-author { display:flex; align-items:center; gap:10px; }
.t-avatar { width:38px; height:38px; border-radius:50%; background:var(--blue-mid); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; color:#fff; }
.t-name { font-size:13px; font-weight:600; }
.t-loc  { font-size:11px; color:var(--ink-soft); }

/* ============================================================
   STATS
   ============================================================ */
.stats-section { background:var(--blue-pale); }
.stat-box { text-align:center; padding:20px; }
.stat-number { font-size:clamp(2rem,4vw,3rem); font-weight:700; color:var(--blue); line-height:1; }
.stat-suffix { font-size:1.5rem; color:var(--blue-mid); }
.stat-name   { font-size:13px; color:var(--ink-soft); margin-top:6px; }

/* ============================================================
   CTA BANNER
   ============================================================ */
.cta-banner { background:var(--blue); padding:64px 0; text-align:center; position:relative; overflow:hidden; }
.cta-banner::before { content:''; position:absolute; top:-50%; left:-10%; width:120%; height:200%; background:radial-gradient(ellipse at center,rgba(255,255,255,0.08) 0%,transparent 60%); pointer-events:none; }
.cta-banner h2 { color:#fff; margin-bottom:12px; }
.cta-banner p  { color:rgba(255,255,255,0.7); margin-bottom:28px; }
.cta-buttons   { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* ============================================================
   APP DOWNLOAD SECTION
   ============================================================ */
.app-section { background:var(--blue-xpale); }
.app-badge { display:inline-flex; align-items:center; gap:10px; background:var(--ink); color:#fff; padding:12px 20px; border-radius:var(--radius-md); font-size:13px; font-weight:500; transition:opacity 0.2s; }
.app-badge:hover { opacity:0.85; }
.app-badge-icon { font-size:24px; }

/* ============================================================
   PAGE HERO (inner pages)
   ============================================================ */
.page-hero { background:var(--ink); padding:48px 0; }
.page-hero h1 { color:#fff; font-size:clamp(1.5rem,3vw,2.25rem); }
.page-hero p  { color:rgba(255,255,255,0.55); margin-top:8px; }
.breadcrumb { padding:12px 0; font-size:12px; color:var(--ink-soft); display:flex; align-items:center; gap:6px; }
.breadcrumb a  { color:var(--blue-mid); }
.breadcrumb-sep{ color:var(--concrete-mid); }

/* ============================================================
   LISTING PAGE
   ============================================================ */
.listing-layout  { display:flex; gap:24px; align-items:flex-start; }
.listing-sidebar { width:240px; flex-shrink:0; position:sticky; top:80px; }
.listing-main    { flex:1; min-width:0; }
.filter-card     { background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius-lg); padding:20px; margin-bottom:16px; }
.filter-section-title { font-size:11px; font-weight:700; letter-spacing:0.07em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:12px; }
.filter-option { display:flex; align-items:center; gap:8px; padding:6px 8px; border-radius:var(--radius-sm); cursor:pointer; font-size:13px; color:var(--ink-mid); transition:background 0.12s; }
.filter-option:hover { background:var(--blue-pale); color:var(--blue); }
.filter-option input[type=checkbox] { accent-color:var(--blue-mid); }
.filter-count { margin-left:auto; font-size:11px; color:var(--concrete-dark); }
.chips-bar { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; }
.chip { font-size:12px; padding:5px 12px; border-radius:20px; border:1px solid var(--border); background:var(--white); color:var(--ink-mid); cursor:pointer; transition:all 0.15s; font-family:var(--font-body); display:flex; align-items:center; gap:5px; }
.chip:hover { border-color:var(--blue-mid); color:var(--blue); }
.chip.active { background:var(--blue-pale); border-color:var(--blue-mid); color:var(--blue); font-weight:500; }

/* ============================================================
   SEARCH BAR STRIP
   ============================================================ */
.search-bar-strip { background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius-lg); display:flex; overflow:hidden; margin-bottom:16px; }
.sbs-seg { display:flex; align-items:center; gap:10px; padding:12px 16px; flex:1; border-right:1px solid var(--border); }
.sbs-seg:last-of-type { border-right:none; }
.sbs-icon  { color:var(--concrete-dark); font-size:16px; }
.sbs-inner { flex:1; }
.sbs-label { font-size:10px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:2px; }
.sbs-input { font-family:var(--font-body); font-size:13px; color:var(--ink); background:none; border:none; outline:none; width:100%; }
.sbs-input::placeholder { color:var(--concrete-mid); }

/* ============================================================
   PROVIDER PROFILE PAGE
   ============================================================ */
.profile-hero  { background:var(--card-bg); border:1px solid var(--border); border-radius:var(--radius-lg); padding:28px; display:flex; gap:20px; margin-bottom:24px; }
.profile-avatar{ width:80px; height:80px; border-radius:var(--radius-lg); display:flex; align-items:center; justify-content:center; font-size:28px; font-weight:700; color:#fff; flex-shrink:0; }

/* ============================================================
   PROGRESS BAR
   ============================================================ */
.progress-bar  { height:6px; background:var(--concrete); border-radius:20px; overflow:hidden; margin-top:6px; }
.progress-fill { height:100%; background:var(--blue-mid); border-radius:20px; transition:width 0.6s ease; }

/* ============================================================
   FOOTER
   ============================================================ */
#site-footer { background:var(--ink); color:rgba(255,255,255,0.6); padding:64px 0 24px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:48px; }
@media(max-width:768px){ .footer-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:480px){ .footer-grid{grid-template-columns:1fr;} }
.footer-brand p { font-size:13px; color:rgba(255,255,255,0.45); margin-top:12px; line-height:1.7; }
.footer-col h4  { font-size:12px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:rgba(255,255,255,0.4); margin-bottom:16px; }
.footer-links   { display:flex; flex-direction:column; gap:8px; }
.footer-links a { font-size:13px; color:rgba(255,255,255,0.55); transition:color 0.15s; }
.footer-links a:hover { color:var(--blue-light); }
.footer-bottom  { border-top:1px solid rgba(255,255,255,0.08); padding-top:24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-bottom p{ font-size:12px; color:rgba(255,255,255,0.3); }

/* ============================================================
   UTILITIES
   ============================================================ */
.text-center { text-align:center; }
.text-blue   { color:var(--blue-mid); }
.text-teal   { color:var(--teal-mid); }
.text-soft   { color:var(--ink-soft); }
.fw-600 { font-weight:600; }
.mt-8  { margin-top:8px; }   .mt-16 { margin-top:16px; }  .mt-24 { margin-top:24px; } .mt-32 { margin-top:32px; }
.mb-8  { margin-bottom:8px; } .mb-16 { margin-bottom:16px; } .mb-24 { margin-bottom:24px; } .mb-32 { margin-bottom:32px; }

/* ============================================================
   ANIMATIONS
   ============================================================ */
@keyframes fadeInUp { from{opacity:0;transform:translateY(24px);} to{opacity:1;transform:translateY(0);} }
.fade-in-up { animation:fadeInUp 0.5s ease forwards; }
.delay-1 { animation-delay:0.1s; }
.delay-2 { animation-delay:0.2s; }
.delay-3 { animation-delay:0.3s; }

/* DoAaram production marketplace additions */
.doa-page .doa-hero{background:linear-gradient(135deg,var(--blue-xpale),#fff);padding:80px 0;border-bottom:1px solid var(--border)}
.doa-hero.compact{padding:64px 0}.eyebrow{display:inline-flex;letter-spacing:.08em;text-transform:uppercase;font-weight:700;font-size:12px;color:var(--blue);margin-bottom:10px}.doa-split{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center}.doa-split.reverse{grid-template-columns:.95fr 1.05fr}.doa-panel{background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:24px;padding:28px}.doa-panel h2,.doa-panel h3{margin-bottom:14px}.trust-row{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.trust-row span{background:#fff;border:1px solid var(--border);border-radius:999px;padding:8px 12px;font-weight:700;font-size:13px;color:var(--ink-mid)}
.doa-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.doa-service-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:22px;box-shadow:var(--shadow-sm);transition:.2s ease;display:block}.doa-service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--blue-light)}.doa-service-card i{font-size:34px;color:var(--blue);background:var(--blue-pale);width:58px;height:58px;border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.doa-service-card h3{margin-bottom:8px}.doa-service-card div{display:flex;justify-content:space-between;gap:10px;margin-top:18px;font-size:13px;color:var(--ink-soft)}.doa-service-card strong{color:var(--blue)}
.doa-panel label{display:block;font-weight:700;color:var(--ink-mid);font-size:13px;margin:12px 0 6px}.doa-panel input,.doa-panel select,.doa-panel textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:12px 13px;font:inherit;background:#fff}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-result{font-weight:700;margin-top:12px}.form-result.success{color:var(--teal)}.form-result.error{color:#b42318}.alt{background:var(--blue-xpale)}.icon-panel{text-align:center}.icon-panel>i{font-size:72px;color:var(--blue)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.steps>div{background:#fff;border:1px solid var(--border);border-radius:20px;padding:20px}.steps strong{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--blue);color:#fff;margin-bottom:12px}.check-list{list-style:none;padding:0;margin:0}.check-list li{padding:10px 0;border-bottom:1px solid var(--border)}.check-list li:before{content:'✓';color:var(--teal);font-weight:900;margin-right:8px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.price-card{background:#fff;border:1px solid var(--border);border-radius:24px;padding:28px;box-shadow:var(--shadow-sm)}.price-card.featured{border-color:var(--blue);box-shadow:var(--shadow-lg)}.price-card strong{display:block;font-size:34px;color:var(--blue);margin:12px 0}.booking-list{display:grid;gap:14px}.booking-card{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px}.status-pill{border-radius:999px;padding:7px 12px;background:var(--blue-pale);font-weight:800;font-size:12px;color:var(--blue)}.status-completed{background:var(--teal-pale);color:var(--teal)}.status-cancelled{background:#fee;color:#b42318}
@media(max-width:960px){.doa-split,.doa-split.reverse,.doa-service-grid,.pricing-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}}@media(max-width:640px){.doa-split,.doa-split.reverse,.doa-service-grid,.pricing-grid{grid-template-columns:1fr}.doa-page .doa-hero{padding:44px 0}.doa-panel{padding:20px}}
