/* Site additions (direction-neutral). */
.customrotatephone{transform:rotate(100deg)}
[dir="ltr"] .customrotatephone{transform:rotate(0deg) scaleX(-1)}
.sectionhero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.sectionhero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,19,26,.35),rgba(9,19,26,.6));z-index:1}
.whatsapp-float{position:fixed;bottom:25px;inset-inline-start:25px;width:56px;height:56px;border-radius:50%;background:#25d366;box-shadow:0 10px 25px rgba(0,0,0,.25);z-index:999;display:flex;align-items:center;justify-content:center;transition:.3s}
.whatsapp-float:hover{transform:translateY(-4px)}
.whatsapp-float .whatsapp{display:block;width:100%;height:100%;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 24 24"><path fill="%23fff" d="M19.05 4.91A9.82 9.82 0 0 0 12.04 2c-5.46 0-9.91 4.45-9.91 9.91c0 1.75.46 3.45 1.32 4.95L2.05 22l5.25-1.38c1.45.79 3.08 1.21 4.74 1.21c5.46 0 9.91-4.45 9.91-9.91c0-2.65-1.03-5.14-2.9-7.01m-7.01 15.24c-1.48 0-2.93-.4-4.2-1.15l-.3-.18l-3.12.82l.83-3.04l-.2-.31a8.26 8.26 0 0 1-1.26-4.38c0-4.54 3.7-8.24 8.24-8.24c2.2 0 4.27.86 5.82 2.42a8.18 8.18 0 0 1 2.41 5.83c.02 4.54-3.68 8.23-8.22 8.23m4.52-6.16c-.25-.12-1.47-.72-1.69-.81c-.23-.08-.39-.12-.56.12c-.17.25-.64.81-.78.97c-.14.17-.29.19-.54.06c-.25-.12-1.05-.39-1.99-1.23c-.74-.66-1.23-1.47-1.38-1.72c-.14-.25-.02-.38.11-.51c.11-.11.25-.29.37-.43s.17-.25.25-.41c.08-.17.04-.31-.02-.43s-.56-1.34-.76-1.84c-.2-.48-.41-.42-.56-.43h-.48c-.17 0-.43.06-.66.31c-.22.25-.86.85-.86 2.07s.89 2.4 1.01 2.56c.12.17 1.75 2.67 4.23 3.74c.59.26 1.05.41 1.41.52c.59.19 1.13.16 1.56.1c.48-.07 1.47-.6 1.67-1.18c.21-.58.21-1.07.14-1.18s-.22-.16-.47-.28"/></svg>') no-repeat center / 60%}
.sharesocial .youtube{background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 24 24"><path fill="%23fff" d="M10 15l5.19-3L10 9v6m11.56-7.83c.13.47.22 1.1.28 1.9c.07.8.1 1.49.1 2.09L22 12c0 2.19-.16 3.8-.44 4.83c-.25.9-.83 1.48-1.73 1.73c-.47.13-1.33.22-2.65.28c-1.3.07-2.49.1-3.59.1L12 19c-4.19 0-6.8-.16-7.83-.44c-.9-.25-1.48-.83-1.73-1.73c-.13-.47-.22-1.1-.28-1.9c-.07-.8-.1-1.49-.1-2.09L2 12c0-2.19.16-3.8.44-4.83c.25-.9.83-1.48 1.73-1.73c.47-.13 1.33-.22 2.65-.28c1.3-.07 2.49-.1 3.59-.1L12 5c4.19 0 6.8.16 7.83.44c.9.25 1.48.83 1.73 1.73Z"/></svg>') no-repeat center / 55%}
.boxproject{min-height:auto}
.boxproject__badge{top:15px;inset-inline-start:15px;z-index:4}
.boxproject__logo{height:28px;width:auto;max-width:70px;object-fit:contain;background:#fff;border-radius:6px;padding:2px}
.boxproject .img-h230{height:230px}
.boxclient{height:120px;border:1px solid var(--border)}
.boxclient img{max-height:80px;max-width:100%;object-fit:contain}
.boxclientcard{border:1px solid var(--border);transition:.3s}
.boxclientcard:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(0,0,0,.08)}
.boxclientcard__logo{height:110px}
.boxclientcard__logo img{max-height:90px;max-width:100%;object-fit:contain}
.projects-dropdown{display:none}
.projects-dropdown.show{display:block}
.filterpills .btn{border-radius:50px}
.filterpills .btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.pagination .page-link{color:var(--text);border-radius:10px;margin:0 3px}
.pagination .page-item.active .page-link{background:var(--primary);border-color:var(--primary);color:#fff}
.pagination .page-item.disabled .page-link{opacity:.5}
.form-control.is-invalid,.custom-select.is-invalid{border-color:var(--primary)}
.invalid-feedback{display:block;color:var(--primary)}
.singlecontentbg img{max-width:100%;height:auto}
.text-ltr{direction:ltr;unicode-bidi:embed}
/* Header: menu + quote button + phone — keep only the phone icon on small desktops */
@media (min-width:1200px) and (max-width:1439px){.headerbg__boxbuttons a[href^="tel:"] > span{display:none}}
/* Detail gallery */
.detailgallery__main .splide__slide img{aspect-ratio:4/3;width:100%;height:auto;max-height:560px;object-fit:cover;background:var(--light-2);cursor:pointer}
.detailgallery__thumbs .splide__slide{opacity:.55;border:2px solid transparent;border-radius:10px;overflow:hidden;cursor:pointer;transition:.3s}
.detailgallery__thumbs .splide__slide.is-active{opacity:1;border-color:var(--primary)}
.detailgallery__thumbs .splide__slide img{width:100%;height:100%;object-fit:cover;display:block}
/* Uniform client logos (contain, no distortion) */
.boxclientcard__logo{height:120px;padding:8px;background:#fff;border-radius:12px}
.boxclientcard__logo img{width:100%;height:100%;max-height:none;object-fit:contain}
.boxclient{height:110px;padding:12px!important}
.boxclient img{width:100%;height:100%;max-height:none;object-fit:contain}
.boxproject__logo{width:64px;height:36px;max-width:none;object-fit:contain}
.clientlogo-md{width:120px;height:56px;object-fit:contain;background:#fff;border-radius:8px;padding:4px}

/* ===== Draft quote request (form + estimate card) ===== */
.quote-steps { position: relative; padding: 0; }
.quote-steps__item { flex: 1 1 0; min-width: 0; text-align: center; color: #9aa0a6; position: relative; cursor: pointer; padding-inline: 4px; }
/* connector to the previous step: logical props so it points the right way in RTL and LTR */
.quote-steps__item + .quote-steps__item::before { content: ""; position: absolute; top: 18px; inset-inline-start: -50%; width: 100%; height: 2px; background: #e8e8e8; z-index: 0; transition: background .2s ease; }
.quote-steps__item.is-active + .quote-steps__item.is-active::before { background: var(--primary); }
.quote-steps__num { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: #f1f1f1; color: #9aa0a6; font-weight: 800; margin-bottom: 8px; box-shadow: 0 0 0 4px #fff; transition: all .2s ease; }
.quote-steps__item.is-active .quote-steps__num { background: var(--primary); color: #fff; }
.quote-steps__label { display: block; font-size: 15px; font-weight: 600; line-height: 1.4; }
.quote-steps__item.is-active .quote-steps__label { color: #222; }
@media (max-width: 575px) { .quote-steps__label { font-size: 13px; } }
/* inner hero: keep breadcrumb + long titles clear of the fixed header */
@media (min-width: 768px) { .sectionhero.sectionhero__pages .sectionhero__slide { padding-top: calc(var(--size-header) + 30px); } }
.sectionhero__pages h1 { line-height: 1.35; }
.sectionhero__pages .breadcrumb { max-width: 100%; }
.quote-service { transition: all .2s ease; }
.quote-service.is-checked { border-color: var(--primary) !important; box-shadow: 0 0 0 1px var(--primary) inset; }
.quote-services--invalid { outline: 1px dashed #dc3545; outline-offset: 6px; border-radius: 6px; }
/* Phone: country code select + number (number always written left-to-right) */
.quote-phone__country { flex: 0 0 auto; width: auto; max-width: 45%; font-size: 1rem; }
.quote-phone__number { direction: ltr; }
/* Arabic page: the group is LTR too (country code on the left, like English) — undo the RTL Bootstrap corners/arrow/overlap */
[dir="rtl"] .input-group.quote-phone > select.custom-select.quote-phone__country { border-radius: .3rem 0 0 .3rem; padding-left: 1rem; padding-right: 1.75rem; background-position: right .75rem center; text-align: left; }
[dir="rtl"] .quote-phone > input.form-control.quote-phone__number { border-radius: 0 .3rem .3rem 0; margin-right: 0; margin-left: -1px; text-align: left; }
/* Approve/reject result page (opened from the admin email) */
.quote-result__head { gap: 18px; }
.quote-result__icon { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.quote-result__icon--success { background: #ECF3D9; color: var(--secondary-dark); }
.quote-result__icon--danger { background: #FBEDEB; color: var(--primary-dark); }
.quote-result__icon--muted { background: var(--light-2); color: var(--text-light); }
.quote-result__actions { gap: 12px; }
.quote-result__whatsapp { background: #25D366; display: inline-flex; align-items: center; gap: 8px; }
.quote-result__whatsapp:hover { background: #1EBE5A; }
#offer-link { background: #fff; }

.quote-card { overflow: hidden; }
/* tiled watermark over the whole offer (also inside the saved images) */
.quote-card__watermark { position: absolute; inset: 0; display: flex; flex-wrap: wrap; align-content: flex-start; justify-content: space-around; overflow: hidden; pointer-events: none; z-index: 2; padding-top: 40px; }
.quote-card__watermark span { flex: 0 0 300px; height: 190px; display: flex; align-items: center; justify-content: center; transform: rotate(-30deg); font-size: 30px; font-weight: 900; color: #000; opacity: .07; white-space: nowrap; }
.quote-card__inner { z-index: 1; }
.quote-card .w-35 { width: 35%; }
.quote-card__disclaimer { background: #fffdf5; border-color: #f0e2b6 !important; }
/* one block per item, clearly separated */
.quote-part { border: 1px solid #e3e6ea; border-radius: 14px; margin-bottom: 32px; background: #fff; overflow: hidden; }
.quote-part__bar { background: #1f2a30; color: #fff; padding: 12px 20px; gap: 8px; }
.quote-part__num { font-weight: 800; font-size: 17px; }
.quote-part__bar .btn { color: #fff; border-color: rgba(255,255,255,.5); }
.quote-part__bar .btn:hover { background: var(--primary); border-color: var(--primary); }
.quote-part__body { padding: 20px; }
/* Collapsible parts (closed by the page script; open without JavaScript) */
.quote-part__toggle { flex: 1 1 auto; min-width: 0; min-height: 44px; display: flex; align-items: center; gap: 12px; background: none; border: 0; padding: 0; color: #fff; text-align: start; cursor: pointer; }
.quote-part__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.quote-part__bar .quote-save-part { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; min-width: 40px; justify-content: center; }
.quote-part__toggle:focus-visible { outline: 2px solid var(--secondary-light); outline-offset: 4px; border-radius: 6px; }
.quote-part__label { font-size: 15px; font-weight: 500; opacity: .85; }
.quote-part__chevron { flex: 0 0 auto; transition: transform .2s ease; transform: rotate(180deg); }
.quote-part.is-collapsed .quote-part__chevron { transform: none; }
.quote-part.is-collapsed { margin-bottom: 14px; }
.quote-part.is-collapsed .quote-part__body { display: none; }
.quote-tools { display: flex; flex-wrap: wrap; gap: 8px; }
/* Image preview sheet (phones): share, download, or press and hold the image */
.quote-shot { position: fixed; inset: 0; z-index: 2000; background: rgba(17,22,21,.72); display: flex; align-items: flex-end; justify-content: center; }
.quote-shot__panel { background: #fff; width: 100%; max-width: 560px; max-height: 92vh; overflow: auto; border-radius: 18px 18px 0 0; padding: 18px 18px 24px; }
@media (min-width: 768px) { .quote-shot { align-items: center; } .quote-shot__panel { border-radius: 18px; } }
.quote-shot__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 18px; color: var(--dark); }
.quote-shot__close { width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--light-2); font-size: 26px; line-height: 1; color: var(--dark); }
.quote-shot__hint { font-size: 15px; color: var(--text-light); margin: 8px 0 14px; }
.quote-shot__images figure { margin: 0 0 16px; text-align: center; }
.quote-shot__images img { display: block; width: 100%; height: auto; border: 1px solid var(--border); border-radius: 10px; margin-bottom: 8px; -webkit-touch-callout: default; }
.quote-shot__actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
@media (min-width: 768px) { .quote-part__body { padding: 28px; } }
.quote-part__qty { background: #f1f3f5; border-radius: 30px; padding: 4px 14px; }
.quote-part__title { font-size: 17px; font-weight: 800; color: #222; margin: 22px 0 12px; padding-inline-start: 12px; border-inline-start: 4px solid var(--primary); }
.quote-part__terms ul li { margin-bottom: 4px; }
.quote-part--summary { border-color: var(--primary); }
/* readable tables: dark head, zebra rows, clear borders */
.quote-table { border: 1px solid #dfe3e7; color: #222; background: #fff; }
.quote-table th, .quote-table td { border: 1px solid #dfe3e7 !important; padding: 10px 12px !important; vertical-align: middle; }
.quote-table tbody th { background: #f4f6f8; font-weight: 700; color: #333; }
.quote-table tbody tr:nth-child(even) td { background: #fafbfc; }
.quote-table--head thead th { background: #2b363d; color: #fff; font-weight: 700; border-color: #2b363d !important; }
.quote-summary tfoot th { background: #f4f6f8; text-align: start; }
.quote-summary tfoot td { font-weight: 700; }
.quote-summary__total th, .quote-summary__total td { background: #fff3f2 !important; color: var(--primary); font-size: 17px; font-weight: 800; }
/* Phones: one card per mixer option instead of the wide financial table */
.quote-options { display: grid; gap: 16px; margin-bottom: 8px; }
.quote-option { border: 1px solid #dfe3e7; border-radius: 12px; overflow: hidden; background: #fff; }
.quote-option__name { margin: 0; padding: 12px 16px; background: #2b363d; color: #fff; font-size: 17px; font-weight: 800; }
.quote-option__row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; padding: 10px 16px; border-bottom: 1px solid #eef0f2; font-size: 15px; }
.quote-option__row > span { color: #444; min-width: 0; }
.quote-option__row > span small { color: #777; font-size: 13px; }
.quote-option__row > strong { color: #222; white-space: nowrap; margin-inline-start: auto; }
.quote-option__totals { background: #f8f9fa; }
.quote-option__totals .quote-option__row > span { font-weight: 700; color: #333; }
.quote-option__total { background: #fff3f2; border-bottom: 0; }
.quote-option__total > span, .quote-option__total > strong { color: var(--primary) !important; font-size: 17px; font-weight: 800 !important; }
.quote-option__words { margin: 0; padding: 10px 16px 14px; font-size: 14px; color: #666; border-top: 1px solid #f3d2cf; }
.quote-option__words strong { color: #333; }

@media print {
    header, footer, .btn, .sectionhero, .whatsapp-float { display: none !important; }
    .quote-card { box-shadow: none !important; }
}

/* quote choice page */
.quote-choice { border: 1px solid #eee; transition: all .2s ease; }
.quote-choice:hover { border-color: var(--primary); transform: translateY(-4px); text-decoration: none; }
.quote-choice__icon { width: 84px; height: 84px; }

/* form fields: one alignment per language; phone/email typed LTR but aligned with the rest */
[dir="rtl"] .form-control, [dir="rtl"] .custom-select { text-align: right; }
[dir="ltr"] .form-control, [dir="ltr"] .custom-select { text-align: left; }
[dir="rtl"] input.form-control[type="tel"], [dir="rtl"] input.form-control[type="email"] { direction: ltr; text-align: right; }
[dir="rtl"] input.form-control[type="tel"]::placeholder, [dir="rtl"] input.form-control[type="email"]::placeholder { direction: rtl; }

/* article tables (insights) */
.singlecontentbg table { width: 100%; border-collapse: collapse; margin: 24px 0; font-size: 16px; color: #333; background: #fff; }
.singlecontentbg th, .singlecontentbg td { border: 1px solid #dfe3e7; padding: 10px 14px; vertical-align: top; text-align: start; }
.singlecontentbg thead th { background: #2b363d; color: #fff; font-weight: 700; border-color: #2b363d; }
.singlecontentbg tbody tr:nth-child(even) td { background: #f7f9fa; }
.singlecontentbg tbody td:first-child { font-weight: 700; color: #222; }
@media (max-width: 767px) { .singlecontentbg table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; } .singlecontentbg th, .singlecontentbg td { min-width: 140px; } }

/* accessibility: skip link, visible on keyboard focus only */
.skip-link { position: absolute; top: -60px; inset-inline-start: 12px; z-index: 10000; background: var(--primary); color: #fff; padding: 10px 18px; border-radius: 8px; font-weight: 700; transition: top .15s ease; }
.skip-link:focus { top: 12px; color: #fff; }
main:focus { outline: none; }

/* responsive hero backgrounds (small WebP on phones, large on desktop) */
.sectionhero--responsive { background-image: var(--hero-sm); }
@media (min-width: 768px) { .sectionhero--responsive { background-image: var(--hero-lg); } }
/* detail gallery: reserve its final size before Splide mounts (no layout shift) */
.detailgallery__main:not(.is-initialized) .splide__slide { width: 100%; }
.detailgallery__main:not(.is-initialized) .splide__slide:not(:first-child) { display: none; }
.detailgallery__thumbs { min-height: 82px; }
.detailgallery__thumbs:not(.is-initialized) .splide__slide { width: 110px; height: 78px; margin-inline-end: 8px; }
@media (max-width: 576px) { .detailgallery__thumbs { min-height: 56px; } .detailgallery__thumbs:not(.is-initialized) .splide__slide { width: 72px; height: 52px; } }

/* faster preloader fade (the design keeps it, but it must not hold back the first paint) */
.loaderlodging { transition: opacity .25s ease, visibility .25s ease; }
/* WCAG AA contrast for red links on light backgrounds */
.text-primary-strong { color: #b0443a !important; }

.quote-list { padding-inline-start: 1.25rem; }

/* header call to action (desktop) */
.btn-header-quote { height: 44px; padding: 0 18px; border-radius: 10px; margin-inline-end: 10px; white-space: nowrap; font-size: 16px; color: #fff !important; }
/* Header overlays the hero at its real height (it is taller than --size-header since the v2 logo change,
   which left a white strip behind the translucent bar before scrolling). */
header{position:relative}
.headerbg:not(.fixed-header){position:absolute;top:0;left:0;right:0}
/* Developer credit: visible external-link cue */
.developer-link{text-underline-offset:4px}
.developer-link__icon{display:inline-block;vertical-align:-2px;margin-inline-start:5px}

/* Cookie consent */
.cc{position:fixed;inset-inline:16px;bottom:16px;z-index:10050;display:flex;justify-content:flex-start;pointer-events:none;opacity:0;transform:translateY(24px);transition:opacity .25s ease,transform .25s ease}
.cc.is-visible{opacity:1;transform:none}
.cc__card{pointer-events:auto;width:100%;max-width:560px;background:#fff;color:var(--dark);border-radius:20px;padding:22px 24px;box-shadow:0 24px 60px rgba(24,32,31,.28);border-top:4px solid var(--secondary)}
.cc__head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.cc__icon{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);flex-shrink:0}
.cc__title{font-size:20px;font-weight:800;margin:0;color:var(--dark)}
.cc__text{font-size:15px;line-height:1.8;color:#4a5552;margin:0 0 14px}
.cc__text a{color:var(--primary);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.cc__prefs{border:1px solid #e7ebea;border-radius:14px;margin-bottom:14px;overflow:hidden}
.cc__opt{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;margin:0;cursor:pointer}
.cc__opt + .cc__opt{border-top:1px solid #e7ebea}
.cc__opt strong{display:block;font-size:15px}
.cc__opt small{display:block;font-size:13px;color:#6b7673;line-height:1.6}
.cc__always{font-size:12px;font-weight:700;color:#3f7a2e;white-space:nowrap}
.cc__switch{position:relative;width:46px;height:26px;flex-shrink:0}
.cc__switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.cc__switch span{position:absolute;inset:0;border-radius:26px;background:#cfd6d4;transition:.2s}
.cc__switch span::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.2s}
.cc__switch input:checked + span{background:var(--secondary)}
.cc__switch input:checked + span::after{inset-inline-start:23px}
.cc__switch input:focus-visible + span{outline:3px solid color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:2px}
.cc__actions{display:flex;flex-wrap:wrap;gap:8px}
.cc__btn{flex:1 1 150px;min-height:46px;border-radius:12px;font-size:15px;font-weight:700;padding:10px 14px;border:2px solid transparent;cursor:pointer;transition:.2s}
.cc__btn:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:2px}
.cc__btn--primary{background:var(--primary);color:#fff}
.cc__btn--primary:hover{filter:brightness(.93)}
.cc__btn--dark{background:var(--dark);color:#fff}
.cc__btn--dark:hover{filter:brightness(1.25)}
.cc__btn--outline{background:transparent;border-color:#d5dcda;color:var(--dark)}
.cc__btn--outline:hover{border-color:var(--dark)}
@media (max-width:575px){.cc{inset-inline:8px;bottom:8px}.cc__card{padding:18px 16px;border-radius:16px}.cc__title{font-size:18px}.cc__btn{flex-basis:100%}}
@media (prefers-reduced-motion:reduce){.cc,.cc__switch span,.cc__switch span::after{transition:none}}

/* Footer contact: icon beside each line on every screen size */
.footer-contact li{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;line-height:1.5}
.footer-contact li:last-child{margin-bottom:0}
.footer-contact__icon{color:var(--primary);flex-shrink:0;margin-top:3px}
.footer-contact a,.footer-contact span{word-break:break-word}
@media (max-width:991px){.footer-contact{max-width:340px;margin-inline:auto}}
/* Footer bottom bar: copyright | legal links | developer */
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:2rem;padding-top:1.5rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px 24px;font-size:15px;color:rgba(255,255,255,.7)}
.footer-bottom__copy{text-align:start}
.footer-bottom__links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px}
.footer-bottom__links a{color:rgba(255,255,255,.6);transition:.2s;white-space:nowrap}
.footer-bottom__links a:hover{color:#fff}
.footer-bottom__dev{text-align:end;line-height:1.6}
.footer-bottom__dev .developer-link{color:rgba(255,255,255,.85)}
@media (max-width:991px){.footer-bottom{grid-template-columns:1fr;text-align:center;padding-bottom:70px}.footer-bottom__copy,.footer-bottom__dev{text-align:center}.footer-bottom__links{order:-1;gap:8px 16px}}

/* Thanks page: request ticket (saved as an image) */
.quote-ticket{max-width:520px;background:#fff;border:1px solid #e3e6ea;border-radius:18px;overflow:hidden;text-align:start;box-shadow:0 10px 30px rgba(24,32,31,.08)}
.quote-ticket__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:#1f2a30;color:#fff;font-weight:700;font-size:15px}
.quote-ticket__head img{height:44px;width:auto;background:#fff;border-radius:8px;padding:3px 6px}
.quote-ticket__body{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px}
.quote-ticket__label{display:block;font-size:14px;color:#6b7673}
.quote-ticket__number{display:inline-block;font-size:28px;font-weight:800;color:var(--primary);margin:2px 0}
.quote-ticket__date{display:block;font-size:13px;color:#6b7673;margin-bottom:8px}
.quote-ticket__hint{font-size:14px;color:#4a5552;line-height:1.6}
.quote-ticket__qr{width:148px;height:148px;flex-shrink:0;border:1px solid #eef0f0;border-radius:10px}
.quote-ticket__foot{padding:10px 20px;border-top:1px dashed #d5dcda;font-size:13px;color:#6b7673;text-align:center;word-break:break-all}
@media (max-width:575px){.quote-ticket__body{flex-direction:column-reverse;text-align:center}.quote-ticket__qr{width:170px;height:170px}}
/* Estimate watermark: status + company */
.quote-card__watermark span{flex-direction:column;line-height:1.35;text-align:center}
.quote-card__watermark small{display:block;font-size:17px;font-weight:800}

/* Contrast (WCAG AA 4.5:1): darker red for small text on the consent banner */
.cc__text a{color:#b8453c}
.cc__btn--primary{background:#b8453c}

/* Phones: show the plant (the decorative shape used to cover it), keep the text readable, and do not
   hide the hero text behind the entrance animation (it is the largest element on screen). */
@media (max-width: 767px) {
    .sectionhero--responsive { background-image: linear-gradient(180deg, rgba(12,18,17,.55) 0%, rgba(12,18,17,.72) 55%, rgba(12,18,17,.85) 100%), var(--hero-sm); background-position: center, 30% center !important; }
    .sectionhero::before { background-size: 180% auto; opacity: .5; }
    .sectionhero .wow { visibility: visible !important; animation: none !important; }
}
/* Phones: the wider English logo must leave room for the language/phone box and the menu button (one header row). */
@media (max-width: 575px) {
    .headerbg .navbar-brand { flex: 0 1 auto; min-width: 0; margin-inline-end: 8px !important; }
    .headerbg .navbar-brand img { height: auto; max-height: 46px; max-width: calc(100vw - 205px); object-fit: contain; }
    .headerbg .navbar { flex-wrap: nowrap; }
}

/* Green section label on white: darker shade for AA contrast (4.9:1) */
.about-label{color:#5f7a12 !important}
