/* Indian Infra Mart — white, silver, sea-green and deep-blue design system. */
:root {
  --navy: #143c5b;
  --accent: #167d6c;
  --accent-hover: #106353;
  --accent-soft: #edf8f4;
  --accent-line: #bbddd2;
  --ink: #193649;
  --muted: #5d717b;
  --line: #dce5e8;
  --silver: #edf1f3;
  --bg: #f6f9fa;
  --white: #ffffff;
  --radius-card: 20px;
  --radius-control: 12px;
  --shadow-card: 0 8px 26px rgb(20 60 91 / 5%);
}
:root body { background: var(--white); color: var(--ink); }
:root h1, :root h2, :root h3 { color: var(--navy); }
:root button, :root input, :root select, :root textarea { accent-color: var(--accent); }
:root button:focus-visible, :root a:focus-visible, :root input:focus-visible, :root select:focus-visible, :root textarea:focus-visible {
  outline: 3px solid var(--accent); outline-offset: 3px;
}
:root input:focus-visible, :root select:focus-visible, :root textarea:focus-visible { outline-offset: 2px; }
:root .utility { background: var(--bg); color: var(--muted); border-bottom: 1px solid var(--line); }
:root .utility .wrap { padding-block: 10px; }
:root .utility-dot { color: var(--accent); }
:root header { border-color: var(--line); }
:root .header-main { padding-block: 24px; gap: 30px; }
:root .brand { color: var(--navy); }
:root .brand-mark, :root .footer-brand .brand-mark { border-radius: 16px; background: white; }
:root .search {
  border: 1px solid var(--line); border-radius: 999px;
  background: var(--bg); padding: 5px 5px 5px 18px;
}
:root .search:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
:root .search input { height: 44px; }
:root .search button {
  border-radius: 999px; height: 44px; min-width: 85px;
  background: var(--accent); color: white;
}
:root .search button:hover { background: var(--accent-hover); }
:root .search input:focus-visible { outline: 0; }
:root .enquiry-toggle {
  border: 1px solid var(--line); border-radius: 999px;
  background: white; padding: 11px 14px; min-height: 46px;
}
:root .enquiry-toggle:hover { border-color: var(--accent); background: var(--accent-soft); }
:root .enquiry-toggle b { background: var(--accent-soft); color: var(--accent-hover); }
:root .department-nav { gap: 14px; min-height: 61px; padding-block: 8px; }
:root .department-nav a {
  padding: 9px 15px; border: 1px solid transparent; border-radius: 999px;
}
:root .department-nav a:hover { background: var(--bg); border-color: var(--line); }
:root .department-nav a.active { background: var(--accent-soft); border-color: var(--accent-line); color: var(--accent-hover); }
:root .department-nav .all-products { padding-right: 15px; border-right: 0; color: var(--accent-hover); background: var(--accent-soft); }
:root .department-nav .admin-nav { background: var(--silver); color: var(--navy); border-radius: 999px; }
:root .eyebrow { color: var(--accent-hover); letter-spacing: .12em; }
:root .hero {
  margin-top: 34px; min-height: 410px; background: white; color: var(--ink);
  grid-template-columns: 1.1fr 1fr; border-radius: 28px; border: 1px solid var(--line);
  box-shadow: var(--shadow-card);
}
:root .hero-copy { padding: 48px; align-self: center; }
:root .hero .eyebrow {
  color: var(--accent-hover); background: var(--accent-soft);
  border: 1px solid var(--accent-line); border-radius: 999px; padding: 8px 13px;
  display: inline-block; font-size: 10px; max-width: 100%;
}
:root .hero h1 { color: var(--navy); font-size: clamp(36px, 3.5vw, 50px); line-height: 1.13; margin-top: 22px; }
:root .hero p { color: var(--muted); max-width: 390px; margin: 21px 0 28px; }
:root .hero-actions { display: flex; gap: 10px; flex-wrap: wrap; }
:root .hero-caption { font-size: 12px; color: var(--muted); margin-top: 20px; display: block; }
:root .button { border-radius: 999px; min-height: 44px; background: var(--accent); color: white; padding: 12px 22px; }
:root .button:hover { background: var(--accent-hover); }
:root .button.secondary { color: var(--navy); background: white; border-color: var(--line); }
:root .button.secondary:hover { background: var(--accent-soft); border-color: var(--accent-line); }
:root .hero-art {
  background: var(--accent-soft); border-left: 1px solid var(--accent-line);
  padding: 44px 25px 58px; gap: 12px; isolation: isolate;
}
:root .hero-art::before {
  content: ''; position: absolute; width: 310px; height: 310px; border-radius: 50%;
  border: 1px solid var(--accent-line); z-index: -1;
}
:root .hero-art::after {
  content: ''; position: absolute; width: 235px; height: 235px; border-radius: 50%;
  border: 1px solid var(--accent-line); z-index: -1;
}
:root .hero-product {
  border-radius: 20px; border: 1px solid var(--line);
  box-shadow: 0 12px 26px rgb(20 60 91 / 8%); padding: 20px 12px; width: 31%;
}
:root .hero-product:nth-child(2) { transform: translateY(-14px); }
:root .hero-product img { height: 160px; }
:root .hero-product span { color: var(--navy); letter-spacing: .09em; font-size: 11px; }
:root .hero-art .corner-label { color: var(--accent-hover); bottom: 20px; right: 25px; }
:root .service-strip { margin-top: 12px; padding-block: 28px; gap: 18px; }
:root .service-strip svg { color: var(--accent); width: 24px; height: 24px; }
:root .section-heading { margin: 44px 0 22px; }
:root .text-link { color: var(--accent-hover); }
:root .departments { gap: 18px; }
:root .dept-card { border-radius: var(--radius-card); padding: 25px 22px; background: var(--bg); min-height: 190px; }
:root .dept-card:nth-child(2) { background: var(--accent-soft); }
:root .dept-card:nth-child(3) { background: #f0f5f9; }
:root .dept-card:nth-child(4) { background: var(--silver); }
:root .dept-card:hover { border-color: var(--accent); box-shadow: var(--shadow-card); }
:root .products-grid { gap: 20px; }
:root .product-card, :root .service-card, :root .service-admin-card { border-radius: var(--radius-card); border-color: var(--line); background: white; }
:root .product-card:hover { border-color: var(--accent-line); box-shadow: var(--shadow-card); }
:root .product-image { background: white; border-color: var(--bg); padding: 28px; }
:root .product-info { padding: 21px; }
:root .product-brand { color: var(--accent-hover); }
:root .card-bottom a { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; border-color: var(--accent-line); color: var(--accent-hover); background: var(--accent-soft); padding: 7px 12px; }
:root .card-bottom a:hover { background: var(--accent); color: white; }
:root .brand-row { border-color: var(--line); color: var(--navy); padding-block: 32px; margin-top: 48px; }
:root .project-band { background: var(--accent-soft); border: 1px solid var(--accent-line); border-radius: 24px; padding: 34px; margin-block: 42px; }
:root .project-band-actions { display: flex; flex-wrap: wrap; gap: 10px; flex-shrink: 0; }
:root footer { background: var(--bg); border-top: 1px solid var(--line); color: var(--navy); }
:root .footer-inner { padding-block: 34px; }
:root .footer-inner p, :root .footer-note { color: var(--muted); }
:root .footer-note { border-color: var(--line); }
:root .footer-links a:hover { color: var(--accent-hover); }
:root .breadcrumb { padding-block: 28px 22px; }
:root .filters { border: 1px solid var(--line); border-radius: var(--radius-card); padding: 20px 14px; background: var(--bg); align-self: start; }
:root .filter-list a { border-radius: var(--radius-control); }
:root .filter-list a.selected { background: var(--accent-soft); color: var(--accent-hover); }
:root .filter-brand, :root .results-toolbar select, :root .filter-mobile, :root .variant-select, :root .service-form-grid input, :root .service-form-grid select, :root .service-form-grid textarea, :root .enquiry-actions textarea, :root .enquiry-item input { border-radius: var(--radius-control); border-color: var(--line); }
:root .chip, :root .pagination button { border-radius: 999px; }
:root .chip { background: var(--silver); color: var(--navy); }
:root .pagination button { min-height: 42px; }
:root .pagination button:hover:enabled { background: var(--accent-soft); border-color: var(--accent-line); }
:root .empty { border-radius: var(--radius-card); background: var(--bg); }
:root .detail-image { border-radius: 24px; border-color: var(--line); }
:root .detail-price { background: var(--accent-soft); border: 1px solid var(--accent-line); border-radius: 18px; padding: 20px; }
:root .detail-price strong { color: var(--navy); }
:root .qty { border-radius: 999px; }
:root .qty button { background: var(--bg); width: 44px; }
:root .filter-mobile { min-height: 44px; }
:root .detail-description { color: var(--muted); }
:root dialog { border-radius: 24px; }
:root .icon-button { background: var(--silver); }
:root .remove { color: var(--navy); }
:root #toast { border-radius: 999px; }
:root .services-hero { background: white; color: var(--ink); border: 1px solid var(--line); border-radius: 28px; }
:root .services-hero .eyebrow { color: var(--accent-hover); }
:root .services-hero p { color: var(--muted); }
:root .services-hero-aside { background: var(--accent-soft); border-color: var(--accent-line); }
:root .service-big-number { color: var(--accent-hover); }
:root .service-property { color: var(--muted); border-color: var(--accent-line); }
:root .service-card { padding: 28px; }
:root .service-card .surface-note { background: var(--silver); color: var(--navy); border-radius: 12px; }
:root .service-process { background: var(--bg); border-radius: var(--radius-card); }
:root .service-request-note { border-color: var(--accent); }
:root .service-confirmation { border-radius: 16px; background: var(--accent-soft); border-color: var(--accent-line); color: var(--accent-hover); }
:root .panel-metrics > div { background: white; border-radius: var(--radius-card); box-shadow: var(--shadow-card); border-color: var(--line); padding: 24px; }
:root .panel-metrics > div:first-child { background: var(--accent-soft); border-color: var(--accent-line); }
:root .panel-metrics strong { color: var(--navy); }
:root .panel-tabs [data-slot=tabs-trigger] { border-radius: 999px !important; color: var(--muted); }
:root .panel-tabs [data-state=active] { background: var(--accent) !important; color: white !important; }
:root .panel-header nav a { padding: 7px 10px; border-radius: 999px; }
:root .panel-header nav a:hover { background: var(--accent-soft); color: var(--accent-hover); }
:root .panel-main [data-slot=table-container] { border-radius: 18px; border-color: var(--line); }
:root .panel-main th, :root .panel-dialog th { background: var(--bg); color: var(--muted); }
:root .panel-toolbar input, :root .panel-toolbar select, :root .panel-form input, :root .panel-form select, :root .panel-form textarea, :root .panel-dialog td input, :root .product-photo-controls input, :root .variant-pricing-fields input, :root .variant-pricing-fields select { border-radius: var(--radius-control); border-color: var(--line); color: var(--ink); }
:root .panel-dialog { border-radius: 24px !important; color: var(--ink); box-shadow: 0 24px 80px rgb(20 60 91 / 15%); }
:root .panel-dialog [data-slot=dialog-close] { border-radius: 999px; min-width: 32px; min-height: 32px; background: var(--silver); }
:root .panel-message, :root .panel-error { border-radius: 16px; }
:root .panel-message { background: var(--accent-soft); color: var(--accent-hover); }
:root .panel-error { background: #f0f5f9; color: var(--navy); border: 1px solid #c8d9e5; }
:root .draft-box { background: var(--accent-soft); border-color: var(--accent-line); border-radius: var(--radius-card); }
:root .status { border-radius: 999px; background: var(--silver); color: var(--navy); }
:root .status-quoted, :root .status-accepted, :root .status-scheduled { background: #eaf2f8; color: var(--navy); }
:root .status-completed { background: var(--accent-soft); color: var(--accent-hover); }
:root .status-cancelled { background: var(--silver); color: var(--muted); }
:root .request-person, :root .request-note, :root .product-photo-preview { background: var(--bg); border-radius: 16px; }
:root .settings-preview, :root .service-admin-card, :root .product-photo-editor { border-radius: var(--radius-card); border-color: var(--line); }
:root .settings-preview-hero { border-radius: 18px; background: var(--accent-soft); color: var(--ink); }
:root .settings-preview-hero > span:first-child { color: var(--accent-hover); }
:root .settings-preview-hero h3 { color: var(--navy); }
:root .service-toggle input { accent-color: var(--accent); }
:root .calculated-price { color: var(--accent-hover); }
:root .button.danger { background: #f0f5f9 !important; border-color: #c8d9e5 !important; color: var(--navy) !important; }
:root .button.danger:hover { background: #e2edf5 !important; }
:root .mobile-nav { display: none; }
@media (max-width: 1100px) {
  :root .header-main { gap: 20px; }
  :root .hero-copy { padding: 34px; }
  :root .hero-art { padding-inline: 18px; }
  :root .hero-product img { height: 135px; }
  :root .project-band-actions { flex-shrink: 1; }
}
@media (max-width: 760px) {
  :root body:has(.mobile-nav) { padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
  :root .mobile-nav {
    display: grid; grid-template-columns: repeat(4, 1fr); position: fixed;
    inset: auto 0 0; z-index: 25; background: white; border-top: 1px solid var(--line);
    box-shadow: 0 -4px 20px rgb(20 60 91 / 4%);
    padding: 7px 12px calc(7px + env(safe-area-inset-bottom, 0px));
  }
  :root .mobile-nav a { display: flex; align-items: center; flex-direction: column; justify-content: center; gap: 4px; padding: 8px 6px; min-height: 55px; border-radius: 16px; color: var(--muted); }
  :root .mobile-nav a.active { color: var(--accent-hover); background: var(--accent-soft); }
  :root .mobile-nav a span { font-size: 11px; font-weight: 600; }
  :root .mobile-nav a svg { width: 21px; height: 21px; }
  :root #toast { bottom: calc(88px + env(safe-area-inset-bottom, 0px)); max-width: calc(100% - 32px); text-align: center; }
  :root .header-main { gap: 14px; padding-block: 18px; }
  :root .enquiry-toggle { padding: 9px 12px; }
  :root .department-nav { gap: 6px; padding-block: 7px; min-height: 56px; }
  :root .department-nav a { padding: 9px 13px; }
  :root .hero { margin-top: 22px; grid-template-columns: 1fr; min-height: 0; border-radius: 24px; }
  :root .hero-copy { padding: 28px 25px 30px; }
  :root .hero h1 { font-size: 34px; margin-top: 18px; }
  :root .hero .eyebrow { font-size: 9px; letter-spacing: .07em; }
  :root .hero p { font-size: 15px; margin-block: 16px 22px; }
  :root .hero-actions { gap: 9px; }
  :root .hero-actions .button { padding-inline: 16px; font-size: 13px; }
  :root .hero-art { height: 225px; padding: 22px 25px 34px; gap: 10px; border-left: 0; border-top: 1px solid var(--accent-line); }
  :root .hero-art::before { width: 235px; height: 235px; }
  :root .hero-art::after { width: 175px; height: 175px; }
  :root .hero-product { width: 31%; border-radius: 16px; padding: 12px 8px; }
  :root .hero-product img { height: 104px; }
  :root .hero-product span { font-size: 10px; margin-top: 8px; }
  :root .hero-art .corner-label { font-size: 9px; bottom: 10px; }
  :root .service-strip { margin-top: 4px; padding-block: 20px; gap: 9px; }
  :root .service-strip svg { width: 19px; height: 19px; }
  :root .section-heading { margin-top: 32px; }
  :root .departments, :root .products-grid { gap: 12px; }
  :root .dept-card { min-height: 175px; padding: 20px 16px; border-radius: 18px; }
  :root .product-card { border-radius: 18px; }
  :root .product-image { padding: 20px; }
  :root .product-info { padding: 15px; }
  :root .project-band { padding: 25px; margin-block: 32px; }
  :root .project-band-actions { width: 100%; }
  :root .project-band-actions .button { flex: 1; padding-inline: 15px; font-size: 13px; }
  :root .services-hero { border-radius: 24px; }
  :root .service-card { padding: 24px; }
  :root .panel-metrics > div { padding: 18px; border-radius: 18px; }
  :root .panel-dialog { border-radius: 22px !important; }
  :root .panel-form input, :root .panel-form select, :root .panel-form textarea, :root .panel-toolbar input, :root .panel-toolbar select { font-size: 16px; }
}
@media (max-width: 370px) {
  :root .hero-actions .button { flex: 1; padding-inline: 12px; }
  :root .enquiry-toggle > span { display: none; }
}

/* Catalogue search, enquiry and service booking improvements. */
:root .search{position:relative;overflow:visible}.search-suggestions{position:absolute;top:calc(100% + 10px);left:0;right:0;z-index:80;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 14px 35px #143c5b20;padding:8px;max-height:420px;overflow:auto}.search-suggestions[hidden]{display:none}.search-suggestions a,.search-suggestions button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px!important;border-radius:10px!important;background:#fff!important;color:var(--ink)!important;border:0;height:auto!important;white-space:normal;font-size:13px;font-weight:500}.search-suggestions a:hover,.search-suggestions [aria-selected=true]{background:var(--accent-soft)!important}.search-suggestions img{object-fit:contain;flex-shrink:0;background:#fff;border-radius:8px}.search-suggestions strong,.search-suggestions small{display:block;line-height:1.5}.search-suggestions small{color:var(--muted);font-size:12px}
.quick-help-band{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 32px;background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:22px}.quick-help-band h2{font-size:26px;margin-top:9px}.quick-help-band p{margin-bottom:0;color:var(--muted);font-size:14px}.quick-help-band .button{flex-shrink:0}.service-shortcuts{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.service-shortcuts a{position:relative;border:1px solid var(--line);border-radius:18px;padding:23px 18px;background:var(--bg)}.service-shortcuts a:hover{border-color:var(--accent);background:var(--accent-soft)}.service-shortcuts strong,.service-shortcuts span{display:block}.service-shortcuts strong{font-size:16px;padding-right:15px}.service-shortcuts span{font-size:12px;color:var(--muted);margin-top:10px}.service-shortcuts b{position:absolute;top:20px;right:14px;color:var(--accent)}.card-price-note{font-size:11px;color:var(--muted);margin:9px 0 0;line-height:1.5}:root .card-bottom{margin-top:auto;padding-top:14px;flex-wrap:wrap}.price-range{display:flex;gap:8px;margin:10px 0}.price-range input{width:50%;min-width:0;padding:9px;border:1px solid var(--line);border-radius:9px}.clear-all{display:inline-block;margin:22px 0}:root .filter-brand{width:100%}.simple-steps{padding-left:22px;margin:22px 0}.simple-steps li{padding:7px;font-size:15px;font-weight:600;color:var(--navy)}.service-charge{background:var(--accent-soft);border:1px solid var(--accent-line);padding:14px 16px;border-radius:12px;margin:16px 0}.service-charge strong{color:var(--accent-hover);font-size:15px}.service-charge p{font-size:12px!important;line-height:1.6;margin:6px 0 0!important}:root .services-grid{align-items:stretch}:root .service-card{display:flex;flex-direction:column}:root .service-card .service-charge{margin-top:auto}:root .service-card .button{margin-top:12px;align-self:start}.photo-field small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:6px}.photo-field input{max-width:100%}.photo-previews{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.photo-previews img{object-fit:cover;border-radius:10px;border:1px solid var(--line)}.form-error{color:#a13030;font-size:14px;line-height:1.6}.estimate-total{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--accent-soft);border-radius:12px;padding:17px;margin:20px 0 8px;font-size:14px}.estimate-total strong{font-size:19px;color:var(--accent-hover)}
.help-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start;margin:55px 0 75px}.help-layout h1{margin:16px 0 23px;line-height:1.15}.help-layout p,.help-tips{color:var(--muted)}.help-tips{padding-left:20px;font-size:14px;line-height:1.8}.surface-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow-card)}.surface-card label,.phone-login label{display:block;font-size:14px;font-weight:600;margin:16px 0}.surface-card input:not([type=checkbox]),.surface-card textarea,.surface-card select,.quotation-editor input,.quotation-editor select{width:100%;min-width:0;border:1px solid #ccd9dd;border-radius:10px;padding:12px;background:#fff;color:var(--ink);margin-top:7px;font-size:15px;font-weight:400}.surface-card textarea{resize:vertical;min-height:80px}.customer-main{padding-top:38px;padding-bottom:70px;min-height:65vh}.customer-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:14px 0 30px}.customer-title h1{font-size:38px;margin-top:12px}.customer-title p,.contact-card>p{font-size:14px;color:var(--muted)}.customer-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;border-bottom:1px solid var(--line);padding-bottom:15px}.customer-tabs button{padding:12px 22px;border:1px solid var(--line);border-radius:30px;background:#fff;font-size:14px;color:var(--navy);font-weight:600}.customer-tabs button.active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-hover)}.guest-note{color:var(--muted);font-size:13px;margin:15px 0 24px}.checkout-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:start}.checkout-item{display:flex;align-items:start;gap:14px;padding:22px 0;border-bottom:1px solid var(--line);font-size:14px}.checkout-item>div{flex:1;min-width:0}.checkout-item p{margin:7px 0;color:var(--muted)}.checkout-item h3{text-transform:capitalize;font-size:17px;margin-top:10px}.checkout-item small{font-size:12px;color:var(--muted)}.checkout-item label{margin:0;max-width:76px;font-size:12px}.checkout-item input{padding:8px!important}.checkout-item .remove{margin-top:0;background:none;border:0}.draft-summary .hero-actions{margin-top:20px}.contact-card{background:var(--bg)}.contact-card h2{font-size:25px;margin-top:11px}.contact-card .button{width:100%;margin-top:8px}.customer-main .empty .hero-actions{justify-content:center;margin-top:20px}.request-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.request-card{text-align:left;display:flex;flex-direction:column;gap:14px;color:var(--ink);font-family:inherit}.request-card>div{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.request-card p,.request-card small{font-size:13px;color:var(--muted);margin:0}.request-card:hover{border-color:var(--accent)}.request-detail{max-width:900px;margin:auto}.request-detail-title{display:flex;justify-content:space-between;gap:22px;align-items:center;margin:28px 0 10px}.request-detail h3{margin:28px 0 12px;font-size:18px}.request-detail .hero-actions{flex-wrap:wrap;margin:22px 0}.request-detail p{font-size:14px}.quote-note{white-space:pre-wrap;background:var(--bg);padding:18px;border-radius:12px}.appointment-card{padding:18px;border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:12px;margin:20px 0}.quote-lines{border-top:1px solid var(--line);margin-top:15px}.quote-line{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:15px 0;font-size:14px}.quote-line small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.quote-line>strong{white-space:nowrap}.quote-summary{margin:18px 0}.quote-summary>div{display:flex;justify-content:space-between;gap:15px;margin:12px 0;font-size:14px}.quote-summary .grand-total{border-top:1px solid var(--line);padding-top:16px;font-size:20px;color:var(--accent-hover)}.request-photos>div{display:flex;gap:12px;flex-wrap:wrap}.request-photos img{object-fit:cover;border:1px solid var(--line);border-radius:12px}.request-timeline ol{padding:0;list-style:none;margin:20px 0 0}.request-timeline li{padding:2px 0 22px 25px;border-left:2px solid var(--accent-line);position:relative;font-size:14px}.request-timeline li:before{content:'';position:absolute;left:-5px;top:8px;width:8px;height:8px;background:var(--accent);border-radius:50%}.request-timeline time{display:block;color:var(--muted);font-size:12px;margin:4px 0}.request-timeline p{white-space:pre-wrap;font-size:13px;margin:7px 0 0}.phone-login{max-width:700px;margin-top:35px}.phone-login p{font-size:14px;color:var(--muted)}.consent{display:flex!important;align-items:center;gap:10px;font-size:13px!important;font-weight:400!important}.consent input[type=checkbox]{width:18px;height:18px;flex-shrink:0;margin:0!important}.verified-note{display:flex;align-items:center;gap:20px;font-size:13px;margin-top:25px;flex-wrap:wrap}.quotation-editor{border:1px solid var(--accent-line);border-radius:14px;padding:20px;margin:20px 0}.quotation-editor legend{font-weight:700;color:var(--navy);padding:0 8px}.quote-edit-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border-bottom:1px solid var(--line);padding:16px 0}.quote-edit-line label{font-size:12px;font-weight:600}.quote-edit-line .quote-description{grid-column:1/-1}.quote-edit-line .remove{background:none;border:0;text-align:left;font-size:12px}.quotation-editor>.button{margin-top:18px}.quotation-editor>label{display:block;font-size:13px;margin-top:20px}:root .panel-dialog{max-width:min(850px,calc(100% - 32px))!important}.panel-success{padding:16px 20px;background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent-hover);border-radius:12px;font-size:14px}.integration-note{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:18px;margin:20px 0;font-size:14px}
@media(max-width:1000px){.service-shortcuts{grid-template-columns:repeat(3,1fr)}.request-cards{grid-template-columns:repeat(2,1fr)}.help-layout{gap:30px}.checkout-layout{grid-template-columns:1.1fr 1fr;gap:18px}.surface-card{padding:23px}.quick-help-band{padding:24px}}
@media(max-width:700px){.quick-help-band,.customer-title{align-items:start;flex-direction:column}.quick-help-band h2{font-size:23px}.service-shortcuts{grid-template-columns:repeat(2,1fr)}.help-layout,.checkout-layout{grid-template-columns:1fr;gap:24px}.help-layout{margin-top:30px}.customer-title h1{font-size:30px}.customer-main{padding-top:20px}.request-cards{grid-template-columns:1fr}.surface-card{padding:22px 18px}.quote-edit-line{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-summary .grand-total{font-size:18px}.customer-tabs button{padding:11px 17px}.search-suggestions{left:-5px;right:-5px}.request-detail-title h2{font-size:25px}.checkout-item{flex-wrap:wrap}.checkout-item>div{flex-basis:65%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.customer-main .customer-tabs,.customer-title>a,.customer-main .hero-actions,.mobile-nav,header,footer,.utility,.guest-note,.verified-note,.phone-login{display:none!important}.customer-main{padding:0!important}.surface-card{border:0!important;box-shadow:none!important}.request-detail{max-width:none!important}}

.care-page{max-width:960px;padding-top:45px;padding-bottom:60px}.care-page h1{margin-top:14px;font-size:36px}.care-page>p{color:var(--muted)}.care-links{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.care-links a{padding:9px 15px;background:var(--accent-soft);border-radius:30px;font-size:13px}.care-page .surface-card{margin:22px 0;scroll-margin-top:20px}.care-page h2{font-size:24px}.care-page .surface-card p{font-size:14px;line-height:1.8}.care-page .hero-actions{margin:20px 0;flex-wrap:wrap}@media(max-width:600px){.care-page h1{font-size:29px}}

.delivery-banner{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;background:var(--accent-soft);color:var(--accent-hover);padding:12px 22px;font-size:13px;border-bottom:1px solid var(--accent-line)}.delivery-banner a{text-decoration:underline}.delivery-banner span{font-size:12px}.delivery-notice{background:var(--accent-soft);border:1px solid var(--accent-line);padding:14px 16px;border-radius:12px;font-size:13px;line-height:1.7;color:var(--accent-hover)}@media(max-width:600px){.delivery-banner{gap:6px 14px;font-size:12px;padding:10px 15px}.delivery-banner span{font-size:11px}}

/* WhatsApp support stays clear of the mobile navigation and modal dialogs. */
.whatsapp-support{position:fixed;right:24px;bottom:24px;z-index:35;display:flex;align-items:center;gap:11px;border:1px solid var(--accent-line);border-radius:18px;padding:13px 18px;background:var(--accent);color:#fff;box-shadow:0 8px 24px rgb(20 60 91 / 18%);font-size:14px;font-weight:700;line-height:1.25;text-decoration:none}.whatsapp-support:hover{background:var(--accent-hover);color:#fff}.whatsapp-support svg{width:27px;height:27px;flex:none}.whatsapp-support small{display:block;font-size:10px;font-weight:400;margin-bottom:4px;opacity:.9}.product-contact{margin-top:20px}.service-contact-actions{display:flex;align-items:flex-start;gap:13px;flex-direction:column}.integration-note h3{font-size:19px;margin-bottom:14px}.integration-note p{margin:14px 0;line-height:1.7}.integration-note details{margin:14px 0}.integration-note summary{cursor:pointer;font-weight:600}.care-page{padding-bottom:120px}
@media(max-width:700px){.whatsapp-support{right:14px;bottom:calc(84px + env(safe-area-inset-bottom,0px));padding:11px 14px;font-size:13px;border-radius:15px;gap:9px}.whatsapp-support svg{width:23px;height:23px}.whatsapp-support small{font-size:9px;margin-bottom:3px}.customer-main{padding-bottom:160px}.service-contact-actions{align-items:stretch}.service-contact-actions .text-link{font-size:12px}}
@media print{.whatsapp-support{display:none!important}}
