:root {
    --protec-blue: #14276d;
    --protec-blue-2: #1d3b8f;
    --protec-green: #2fb34a;
    --protec-green-dark: #20853a;
    --protec-ink: #172033;
    --protec-muted: #667085;
    --protec-line: #e6eaf0;
    --protec-soft: #f5f7fa;
    --protec-white: #fff;
    --protec-radius: 18px;
    --protec-shadow: 0 18px 50px rgba(22, 35, 77, .11);
}

html { scroll-behavior: smooth; }
body {
    background: var(--protec-white);
    color: var(--protec-ink);
    font-family: "Manrope", Arial, sans-serif !important;
    font-size: 16px;
    line-height: 1.65;
    overflow-x: hidden;
    padding-top: 112px;
}
body *, body *::before, body *::after { box-sizing: border-box; }
body a { color: var(--protec-blue); transition: .2s ease; }
body a:hover, body a:focus { color: var(--protec-green-dark); text-decoration: none; }
body img { max-width: 100%; height: auto; }
body .container { width: calc(100% - 48px); max-width: 1320px; margin-right: auto; margin-left: auto; padding-right: 0; padding-left: 0; }
.site-main { min-height: 50vh; }

/*
 * Bootstrap 3 adds table-based clearfix pseudo-elements to every .container.
 * They become real grid/flex children inside the modern components and create
 * invisible columns. Keep the legacy stylesheet for the old application
 * surfaces, but remove those generated children from the new layout shells.
 */
.site-topbar__inner::before, .site-topbar__inner::after,
.site-header__main::before, .site-header__main::after,
.home-about__grid::before, .home-about__grid::after,
.products-layout::before, .products-layout::after,
.site-newsletter__grid::before, .site-newsletter__grid::after,
.site-footer__grid::before, .site-footer__grid::after,
.site-footer__bottom > .container::before, .site-footer__bottom > .container::after {
    content: none !important;
    display: none !important;
}
.contact-layout::before, .contact-layout::after,
.employment-layout::before, .employment-layout::after {
    content: none !important;
    display: none !important;
}
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--protec-green-dark);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 24px; height: 2px; background: currentColor; }

/* Header */
.site-header { position: fixed; z-index: 1000; top: 0; right: 0; left: 0; width: 100%; height: auto !important; border-bottom: 1px solid rgba(221,227,237,.85); background: rgba(255,255,255,.97); box-shadow: 0 10px 32px rgba(15,31,78,.08); backdrop-filter: blur(12px); }
.site-topbar { display: none; background: var(--protec-blue); color: rgba(255,255,255,.82); font-size: 12px; }
.site-topbar__inner { min-height: 36px; display: flex; align-items: center; justify-content: space-between; }
.site-topbar__inner > div { display: flex; gap: 24px; }
.site-topbar a { color: rgba(255,255,255,.9); }
.site-topbar i { color: #75d887; margin-right: 6px; }
.site-topbar__phone { font-weight: 600; }
.site-topbar__social { align-items: center; gap: 8px !important; }
.site-topbar__social a { width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; background: rgba(255,255,255,.09); }
.site-topbar__social a:hover { background: var(--protec-green); color: #fff; }
.site-topbar__social i { margin: 0; color: #fff; font-size: 13px; }
.site-header__main { min-height: 112px; display: flex; align-items: center; gap: 30px; }
.site-brand { flex: 0 0 210px; display: block; }
.site-brand img { display: block; width: 210px; }
.site-navigation { display: flex; align-items: center; justify-content: center; gap: 3px; margin-left: auto; border: 1px solid #e7ebf1; border-radius: 15px; padding: 5px; background: #f7f9fc; box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
.site-navigation > a { min-height: 40px; display: inline-flex; align-items: center; position: relative; border-radius: 10px; padding: 0 14px; color: #34405a; font-size: 13px; font-weight: 700; white-space: nowrap; }
.site-navigation > a:hover { background: #fff; color: var(--protec-green-dark); box-shadow: 0 5px 14px rgba(20,39,109,.07); transform: translateY(-1px); }
.site-navigation > a.is-active:not(.site-navigation__contact) { background: #fff; color: var(--protec-blue); box-shadow: 0 5px 15px rgba(20,39,109,.09); }
.site-navigation > a.is-active:not(.site-navigation__contact)::after { content: ""; width: 18px; height: 2px; position: absolute; right: 0; bottom: 4px; left: 0; margin: auto; border-radius: 99px; background: var(--protec-green); }
.site-navigation > a.site-navigation__contact {
    border-radius: 10px;
    padding: 0 18px;
    background: var(--protec-green);
    color: #fff;
    box-shadow: 0 8px 20px rgba(47,179,74,.18);
}
.site-navigation > a.site-navigation__contact:hover,
.site-navigation > a.site-navigation__contact:focus {
    background: var(--protec-green-dark);
    color: #fff;
    transform: translateY(-2px);
}
.site-actions { display: flex; align-items: center; gap: 12px; }
.site-action-link, .site-cart-link {
    min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    border: 1px solid var(--protec-line); border-radius: 12px; padding: 0 14px;
    color: var(--protec-blue); font-size: 12px; font-weight: 800; white-space: nowrap;
}
.site-action-link:hover { background: var(--protec-soft); }
.site-cart-link { background: var(--protec-green); border-color: var(--protec-green); color: #fff; }
.site-cart-link:hover { background: var(--protec-green-dark); color: #fff; }
.site-cart-link strong { min-width: 21px; height: 21px; display: inline-flex; align-items: center; justify-content: center; background: #fff; color: var(--protec-blue); border-radius: 99px; font-size: 10px; }
.site-account { position: relative; }
.site-account .dropdown-menu { border: 0; border-radius: 12px; box-shadow: var(--protec-shadow); padding: 8px; }
.site-account .dropdown-menu a { border-radius: 8px; padding: 9px 12px; font-size: 13px; }
.site-menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--protec-line); border-radius: 12px; background: #fff; padding: 11px; }
.site-menu-toggle span { display: block; height: 2px; background: var(--protec-blue); margin: 5px 0; transition: .2s ease; }
.site-navigation__mobile-head, .site-navigation__mobile-actions, .site-navigation-overlay { display: none; }

/* Buttons and controls */
body .btn,
body .btn:hover,
body .btn:focus,
body .btn:active,
body .btn.active,
body .btn:active:focus,
body .btn.active:focus {
    min-height: 52px;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    outline: 0 !important;
    padding: 14px 22px !important;
    font-family: "Manrope", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: none !important;
    transition: .2s ease !important;
}
body .btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(20,39,109,.16) !important; }
body .btn-primary { border-color: var(--protec-blue) !important; background: var(--protec-blue) !important; color: #fff !important; }
body .btn-primary:hover, body .btn-primary:focus { border-color: var(--protec-blue-2) !important; background: var(--protec-blue-2) !important; color: #fff !important; }
body .btn-seccondary,
body .btn-seccondary:focus,
body .btn-seccondary:active,
body .btn-seccondary.active,
body .btn-secondary,
body .btn-secondary:focus,
body .btn-secondary:active,
body .btn-secondary.active {
    border-color: var(--protec-green) !important;
    border-radius: 12px !important;
    background: var(--protec-green) !important;
    color: #fff !important;
}
body .btn-seccondary:hover,
body .btn-seccondary:focus:hover,
body .btn-secondary:hover,
body .btn-secondary:focus:hover {
    border-color: var(--protec-green-dark) !important;
    background: var(--protec-green-dark) !important;
    color: #fff !important;
}
body .btn-light { border-color: #fff !important; background: #fff !important; color: var(--protec-blue) !important; }
body .form-control { width: 100% !important; height: 52px !important; min-height: 52px; border: 1px solid #d9dee8 !important; border-radius: 12px !important; outline: 0 !important; background: #fff !important; box-shadow: none !important; padding: 12px 15px !important; color: var(--protec-ink) !important; font-family: "Manrope", Arial, sans-serif !important; font-size: 14px !important; font-weight: 500 !important; }
body textarea.form-control { height: auto !important; min-height: 150px; resize: vertical; padding-top: 14px !important; }
body select.form-control { cursor: pointer; }
body input[type="file"].form-control { padding: 8px 10px !important; color: var(--protec-muted) !important; }
body input[type="file"].form-control::file-selector-button { height: 34px; margin: 0 12px 0 0; border: 0; border-radius: 8px; background: #edf1f8; padding: 0 13px; color: var(--protec-blue); font: 700 12px "Manrope", Arial, sans-serif; cursor: pointer; }
body .form-control:focus { border-color: var(--protec-green) !important; box-shadow: 0 0 0 3px rgba(47,179,74,.14) !important; }
body .form-control::placeholder { color: #98a2b3 !important; opacity: 1; }
body label { color: #34405a !important; font-family: "Manrope", Arial, sans-serif !important; font-size: 12px !important; font-weight: 800 !important; letter-spacing: .01em; margin-bottom: 7px; }
body .form-group { margin-bottom: 20px; }
body .input-group { display: flex; width: 100%; }
body .input-group .form-control { flex: 1; border-radius: 12px 0 0 12px !important; }
body .input-group + .btn, body .input-group-btn:last-child > .btn { border-radius: 0 12px 12px 0 !important; }

/* Home hero */
#carousel-slider { width: 100% !important; height: auto !important; top: 0 !important; margin: 0 !important; border: 0 !important; background: #eef2f7; overflow: hidden; }
#carousel-slider .carousel-inner, #carousel-slider .item { height: clamp(500px, 43vw, 680px) !important; margin: 0 !important; }
#carousel-slider .img-fill { width: 100% !important; height: 100% !important; margin: 0 !important; }
#carousel-slider .img-fill::before { content: none !important; display: none !important; }
#carousel-slider .img-fill::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,22,65,.12), transparent 35%, rgba(8,22,65,.06)); pointer-events: none; }
#carousel-slider .img-fill img { width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; object-position: center; }
.carousel-banner-action { position: absolute; right: 0; bottom: 48px; left: 0; z-index: 3; }
.carousel-banner-action .container { display: flex; justify-content: flex-end; }
.carousel-banner-action a { min-height: 50px; display: inline-flex; align-items: center; gap: 16px; border-radius: 14px; padding: 0 9px 0 20px; background: rgba(255,255,255,.94); color: var(--protec-blue); box-shadow: 0 14px 38px rgba(15,29,76,.18); font-size: 13px; font-weight: 800; backdrop-filter: blur(8px); }
.carousel-banner-action i { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--protec-green); color: #fff; }
#carousel-slider .item:not(.active) .carousel-banner-action,
#carousel-slider .item.active.left .carousel-banner-action,
#carousel-slider .item.active.right .carousel-banner-action,
#carousel-slider .item:not(.active) .carousel-product-slide__button,
#carousel-slider .item.active.left .carousel-product-slide__button,
#carousel-slider .item.active.right .carousel-product-slide__button { opacity: 0; visibility: hidden; pointer-events: none; }
.carousel-product-item { background: linear-gradient(120deg, #10245f 0%, #1c3f93 58%, #238b47 160%); color: #fff; }
.carousel-product-slide { height: 100%; display: grid; grid-template-columns: 1fr .9fr; gap: 70px; align-items: center; }
.carousel-product-slide::before, .carousel-product-slide::after { content: none !important; display: none !important; }
.carousel-product-slide__copy { position: relative; z-index: 2; max-width: 620px; }
.carousel-product-slide__copy .eyebrow { color: #8ee59f; }
.carousel-product-slide__copy h2 { margin: 16px 0 20px !important; color: #fff !important; font: 800 clamp(38px, 4vw, 62px)/1.08 "Manrope", Arial, sans-serif !important; letter-spacing: -.035em; text-transform: none !important; }
.carousel-product-slide__copy p { max-width: 540px; margin: 0 0 30px; color: rgba(255,255,255,.78); font-size: 16px; }
body .carousel-product-slide__button { display: inline-flex; align-items: center; gap: 12px; border-color: #fff !important; background: #fff !important; color: var(--protec-blue) !important; }
.carousel-product-slide__media { height: 82%; position: relative; display: flex; align-items: center; justify-content: center; }
.carousel-product-slide__media span { position: absolute; width: min(34vw, 440px); aspect-ratio: 1; border-radius: 50%; background: rgba(255,255,255,.1); box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); }
.carousel-product-slide__media img { position: relative; z-index: 2; width: min(31vw, 410px); height: min(31vw, 410px); object-fit: contain; filter: drop-shadow(0 26px 28px rgba(0,0,0,.22)); }
#carousel-slider .carousel-indicators { bottom: 24px; }
#carousel-slider .carousel-indicators li { width: 30px !important; height: 5px !important; margin: 0 4px !important; border: 0 !important; border-radius: 99px !important; background: rgba(255,255,255,.48) !important; transition: width .25s ease; }
#carousel-slider .carousel-indicators li.active { width: 52px !important; height: 5px !important; background: #fff !important; }
#carousel-slider .carousel-control { display: none; }
.home-trust { position: relative; z-index: 4; margin-top: -26px; }
.home-trust__grid { display: grid; grid-template-columns: repeat(3, 1fr); background: #fff; border: 1px solid var(--protec-line); border-radius: var(--protec-radius); box-shadow: var(--protec-shadow); overflow: hidden; }
.home-trust__item { min-height: 108px; display: flex; align-items: center; gap: 16px; padding: 24px 30px; }
.home-trust__item + .home-trust__item { border-left: 1px solid var(--protec-line); }
.home-trust__icon { flex: 0 0 48px; height: 48px; display: flex; align-items: center; justify-content: center; border-radius: 14px; background: #ebf9ee; color: var(--protec-green-dark); font-size: 20px; }
.home-trust__item strong { display: block; color: var(--protec-blue); font-size: 14px; }
.home-trust__item span { color: var(--protec-muted); font-size: 12px; }
#about-home { margin-top: 0; padding: 110px 0; background: #fff; }
.home-about__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.home-about__copy h2 { margin: 14px 0 22px; color: var(--protec-blue); font-size: clamp(32px, 4vw, 52px); font-weight: 800; line-height: 1.12; }
.home-about__copy p { margin-bottom: 28px; color: var(--protec-muted); font-size: 17px; line-height: 1.8; }
.home-about__media { position: relative; }
.home-about__media img { width: 100%; min-height: 430px; object-fit: cover; border-radius: 26px; box-shadow: var(--protec-shadow); }
.home-about__badge { position: absolute; left: -35px; bottom: 28px; width: 150px; height: 150px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 8px solid #fff; border-radius: 50%; background: var(--protec-green); color: #fff; box-shadow: var(--protec-shadow); text-align: center; }
.home-about__badge strong { font-size: 38px; line-height: 1; }
.home-about__badge span { max-width: 95px; margin-top: 5px; font-size: 11px; font-weight: 800; line-height: 1.25; text-transform: uppercase; }
#products { padding: 100px 0; background: var(--protec-soft); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 38px; }
.section-heading h2 { margin: 10px 0 0; color: var(--protec-blue); font-size: clamp(30px, 4vw, 46px); font-weight: 800; }
.section-heading p { max-width: 560px; margin: 8px 0 0; color: var(--protec-muted); }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin: 0; padding: 0; list-style: none; }
.product-card { min-width: 0; }
.product-card > a { height: 100%; display: flex; flex-direction: column; border: 1px solid var(--protec-line); border-radius: var(--protec-radius); background: #fff; overflow: hidden; box-shadow: 0 8px 25px rgba(28,42,82,.05); }
.product-card > a:hover { transform: translateY(-6px); box-shadow: var(--protec-shadow); }
.product-card .product-image { height: 260px; display: flex; align-items: center; justify-content: center; margin: 0; padding: 24px; background: linear-gradient(145deg, #fff, #f6f8fb); overflow: hidden; }
.product-card .product-image img { width: 100%; height: 100%; object-fit: contain; transition: .25s ease; }
.product-card > a:hover .product-image img { transform: scale(1.04); }
.product-card__body { display: flex; flex: 1; flex-direction: column; padding: 20px 22px 22px; }
.product-card__meta { margin-bottom: 8px; color: var(--protec-green-dark); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.product-card .product-title { margin: 0; color: var(--protec-blue); font-size: 15px; font-weight: 800; line-height: 1.35; }
.product-card__action { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 18px; color: var(--protec-muted); font-size: 11px; font-weight: 700; }
.product-card__action i { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #eef2fb; color: var(--protec-blue); }
.home-categories { padding: 90px 0; background: var(--protec-blue); color: #fff; }
.home-categories .section-heading h2, .home-categories .section-heading p { color: #fff; }
.home-category-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.home-category-card { min-height: 150px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid rgba(255,255,255,.16); border-radius: 16px; padding: 24px; background: rgba(255,255,255,.07); color: #fff; }
.home-category-card:hover { background: var(--protec-green); border-color: var(--protec-green); color: #fff; transform: translateY(-4px); }
.home-category-card i { font-size: 22px; }
.home-category-card strong { font-size: 17px; }
.home-category-card--all { border-color: var(--protec-green); background: var(--protec-green); }
.home-category-card--all:hover { background: #38c254; }
.home-category-card--all span { color: rgba(255,255,255,.76); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.home-category-card--all strong { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.home-category-card--all i { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #fff; color: var(--protec-green-dark); font-size: 14px; }
.home-blog { padding: 100px 0; }
.home-blog__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.home-post-card { border: 1px solid var(--protec-line); border-radius: var(--protec-radius); background: #fff; overflow: hidden; }
.home-post-card__image { height: 220px; overflow: hidden; background: var(--protec-soft); }
.home-post-card__image img { width: 100%; height: 100%; object-fit: cover; transition: .3s ease; }
.home-post-card:hover img { transform: scale(1.04); }
.home-post-card__body { padding: 24px; }
.home-post-card__date { color: var(--protec-green-dark); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.home-post-card h3 { min-height: 48px; margin: 9px 0 12px; color: var(--protec-blue); font-size: 18px; font-weight: 800; line-height: 1.35; }
.home-post-card p { color: var(--protec-muted); font-size: 13px; }

/* Internal pages */
.site-main > .page-header-compact { width: 100%; margin: 0; padding: 0 !important; position: relative; overflow: hidden; background: linear-gradient(115deg, var(--protec-blue), #24459a); color: #fff; }
.page-header-compact::after { content: ""; position: absolute; width: 230px; height: 230px; right: 7%; top: -135px; border: 48px solid rgba(255,255,255,.055); border-radius: 50%; pointer-events: none; }
.page-header-compact__inner { min-height: 112px; display: flex; align-items: center; justify-content: space-between; gap: 40px; position: relative; z-index: 1; }
.page-header-compact__inner::before, .page-header-compact__inner::after { content: none !important; display: none !important; }
.page-header-compact__eyebrow { display: block; margin-bottom: 5px; color: #8de39e; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.page-header-compact h1 { max-width: 800px; margin: 0; color: #fff; font: 800 25px/1.2 "Manrope", Arial, sans-serif; letter-spacing: -.02em; }
.page-header-compact p { max-width: 430px; margin: 0; color: rgba(255,255,255,.7); font-size: 12px; line-height: 1.55; text-align: right; }
#about-us, #contact-form, #blog-page, #products-details, #login-form, #pages, .site-main > section:not(#carousel-slider):not(.home-trust):not(#about-home):not(#products):not(.home-categories):not(.home-blog):not(#breadnav) { padding-top: 80px; padding-bottom: 90px; }
#about-us h3, #contact-form h3, #blog-page h3, #products-page h3, #login-form h3 { margin: 0 0 20px; color: var(--protec-blue); font-size: 34px; font-weight: 800; }
#about-us span { display: block; margin-bottom: 18px; color: var(--protec-green-dark); font-weight: 800; }
#about-us p { color: var(--protec-muted); font-size: 15px; }
#about-us .about-img img { width: 100%; border-radius: 22px; box-shadow: var(--protec-shadow); }
.about-page { padding: 90px 0 100px; }
.about-page__intro { display: grid; grid-template-columns: 1.05fr .95fr; gap: 80px; align-items: center; }
.about-page__copy h1 { margin: 12px 0 24px; color: var(--protec-blue); font-size: clamp(34px, 4vw, 52px); font-weight: 800; line-height: 1.14; }
.about-page__copy p { color: var(--protec-muted); font-size: 15px; line-height: 1.8; }
.about-page__copy .about-page__lead { color: var(--protec-green-dark); font-size: 18px; font-weight: 800; }
.about-page__image { position: relative; }
.about-page__image img { width: 100%; min-height: 430px; border-radius: 24px; object-fit: cover; box-shadow: var(--protec-shadow); }
.about-page__image > div { position: absolute; left: 22px; right: 22px; bottom: 22px; display: flex; align-items: center; justify-content: space-between; border-radius: 14px; padding: 18px 22px; background: rgba(20,39,109,.92); color: #fff; backdrop-filter: blur(8px); }
.about-page__image strong { font-size: 24px; font-weight: 800; }
.about-page__image span { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.about-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 70px; }
.about-values article { border: 1px solid var(--protec-line); border-radius: var(--protec-radius); padding: 30px; background: #fff; }
.about-values i { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border-radius: 14px; background: #ebf9ee; color: var(--protec-green-dark); font-size: 20px; }
.about-values h2 { margin: 20px 0 10px; color: var(--protec-blue); font-size: 19px; font-weight: 800; }
.about-values p { margin: 0; color: var(--protec-muted); font-size: 13px; }
.branches-coming-soon { padding: 90px 0 105px; background: linear-gradient(180deg, #fff, #f7f9fc); }
.branches-coming-soon__card { max-width: 760px; margin: 0 auto; border: 1px solid var(--protec-line); border-radius: 24px; padding: 62px 48px; background: #fff; box-shadow: var(--protec-shadow); text-align: center; }
.branches-coming-soon__icon { width: 68px; height: 68px; display: flex; align-items: center; justify-content: center; margin: 0 auto 24px; border-radius: 20px; background: #eaf8ed; color: var(--protec-green-dark); font-size: 29px; }
.branches-coming-soon__card .eyebrow { justify-content: center; }
.branches-coming-soon__card h1 { margin: 14px 0 12px; color: var(--protec-blue); font-size: 34px; font-weight: 800; line-height: 1.2; }
.branches-coming-soon__card p { max-width: 540px; margin: 0 auto 28px; color: var(--protec-muted); font-size: 15px; line-height: 1.75; }
#contact-form { margin-top: 0; }
#contact-form form, #login-form > .container > .col-lg-6, #pages form { border: 1px solid var(--protec-line); border-radius: var(--protec-radius); background: #fff; padding: 30px; box-shadow: 0 12px 35px rgba(25,37,75,.06); }
#contact-form button { margin-top: 0; }
#contact-form address, #contact-form .phones { color: var(--protec-muted); font-size: 15px; line-height: 1.9; }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: 64px; align-items: start; }
#contact-form form.contact-card { width: auto; float: none; margin: 0; }
.contact-form__two-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.contact-form__two-columns > .form-group { min-width: 0; }
.contact-card > .form-group:last-child > .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: end; margin: 0; }
.contact-card > .form-group:last-child > .row::before, .contact-card > .form-group:last-child > .row::after { content: none; display: none; }
.contact-card > .form-group:last-child > .row > [class*="col-"] { width: auto; min-width: 0; float: none; margin: 0; padding: 0; }
.contact-card > .form-group:last-child .text-danger { position: absolute; right: 0; bottom: -20px; left: 0; }
#contact-form .contact-card > .form-group:last-child button { width: 100% !important; height: 52px !important; min-height: 52px !important; float: none; margin: 0 !important; padding: 0 22px !important; }
.contact-info { border-radius: var(--protec-radius); padding: 34px; background: var(--protec-soft); }
.contact-info h3 { margin-top: 0 !important; }
.contact-info address, .contact-info .phones { position: relative; padding-left: 45px; }
#contact-form .contact-info address::before, #contact-form .contact-info .phones::before { position: absolute; left: 0; width: 30px; margin: 0; text-align: center; }
.contact-city-picker .select2-container { width: 100% !important; display: block; font-family: "Manrope", Arial, sans-serif; }
body .contact-city-picker select.form-control.select2-hidden-accessible { width: 1px !important; height: 1px !important; min-height: 1px !important; padding: 0 !important; }
.contact-city-picker .select2-container .select2-selection--single { height: 52px; border: 1px solid #d9dee8; border-radius: 12px; background: #fff; outline: 0; transition: border-color .2s ease, box-shadow .2s ease; }
.contact-city-picker .select2-container--open .select2-selection--single, .contact-city-picker .select2-container--focus .select2-selection--single { border-color: var(--protec-green); box-shadow: 0 0 0 3px rgba(47,179,74,.14); }
.contact-city-picker .select2-container .select2-selection--single .select2-selection__rendered { height: 50px; padding: 0 48px 0 15px; color: var(--protec-ink); font-size: 14px; font-weight: 500; line-height: 50px; }
.contact-city-picker .select2-container .select2-selection--single .select2-selection__placeholder { color: #98a2b3; }
.contact-city-picker .select2-container .select2-selection--single .select2-selection__arrow { width: 42px; height: 50px; right: 3px; }
.contact-city-picker .select2-container .select2-selection--single .select2-selection__clear { position: relative; z-index: 2; margin-right: 5px; color: var(--protec-muted); font-size: 20px; }
.select2-container .select2-dropdown { border: 1px solid var(--protec-line); border-radius: 12px; background: #fff; box-shadow: 0 18px 45px rgba(20,39,109,.14); overflow: hidden; }
.select2-container .select2-search--dropdown { padding: 10px; }
.select2-container .select2-search--dropdown .select2-search__field { height: 42px; border: 1px solid #d9dee8; border-radius: 9px; outline: 0; padding: 8px 12px; color: var(--protec-ink); font: 500 13px "Manrope", Arial, sans-serif; }
.select2-container .select2-search--dropdown .select2-search__field:focus { border-color: var(--protec-green); box-shadow: 0 0 0 3px rgba(47,179,74,.12); }
.select2-container .select2-results__options { padding: 5px; }
.select2-container .select2-results__option { border-radius: 8px; padding: 9px 12px; color: var(--protec-ink); font: 600 13px "Manrope", Arial, sans-serif; }
.select2-container .select2-results__option[aria-selected="true"], .select2-container .select2-results__option--highlighted[aria-selected] { background: #eaf8ed; color: var(--protec-green-dark); }
.contact-map { height: 250px; border: 1px solid var(--protec-line); border-radius: var(--protec-radius); background: var(--protec-soft); box-shadow: 0 12px 35px rgba(25,37,75,.06); overflow: hidden; }
.contact-map iframe { width: 100%; height: 100%; display: block; border: 0; }
.employment-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 38px; align-items: start; }
.employment-sidebar { position: sticky; top: 20px; }
#contact-form form.employment-form { width: auto; float: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; margin: 0; }
#contact-form .employment-form > .form-group { width: auto; float: none; margin: 0; padding: 0; }
.employment-form__wide { grid-column: 1 / -1; }
.required-mark { color: #d64851; }
.employment-zip-field { position: relative; }
#contact-form .employment-zip-field .form-control { padding-right: 44px !important; }
.employment-zip-field__loading { width: 42px; position: absolute; top: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: center; color: var(--protec-green-dark); pointer-events: none; }
.employment-form__actions { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: end; }
.employment-submit { padding-bottom: 1px; }
#contact-form .employment-submit .btn { float: none; min-width: 130px; }

/* Product archive */
.products-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 42px; padding: 72px 0 100px; }
.product-sidebar { align-self: start; position: sticky; top: 18px; }
.product-sidebar__title { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; color: var(--protec-blue); font-size: 15px; font-weight: 800; }
.product-sidebar .panel-group { border: 1px solid var(--protec-line); border-radius: 14px; background: #fff; overflow: hidden; }
.product-sidebar .panel { margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.product-sidebar .panel + .panel { border-top: 1px solid var(--protec-line); }
.product-sidebar .panel-heading { border: 0; background: #fff; padding: 0; }
.product-sidebar .panel-title a { display: block; position: relative; padding: 15px 38px 15px 16px; color: #35415b; font-size: 12px; font-weight: 800; }
.product-sidebar .panel-title a::after { content: "+"; position: absolute; right: 16px; color: var(--protec-green-dark); font-size: 18px; top: 10px; }
.product-sidebar .panel-body { border-top: 1px solid var(--protec-line) !important; padding: 8px 16px 14px; background: var(--protec-soft); }
.product-sidebar .panel-body ul { margin: 0; padding: 0; list-style: none; }
.product-sidebar .panel-body a { display: block; padding: 8px 0; color: var(--protec-muted); font-size: 12px; }
.products-content__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin-bottom: 14px; }
.products-content__header h1 { margin: 8px 0 0; color: var(--protec-blue); font-size: 38px; font-weight: 800; }
.product-search { width: min(100%, 370px); }
.product-search form { display: flex; gap: 8px; }
.product-search .form-group { flex: 1; margin: 0; }
.product-search .btn { min-width: 50px; padding: 0; }
.products-content__hint { display: block; margin-bottom: 28px; color: var(--protec-muted); font-size: 12px; }
.products-layout .product-grid { grid-template-columns: repeat(3, 1fr); }
.products-content { min-width: 0; }
.empty-state { border: 1px dashed #cdd4e0; border-radius: var(--protec-radius); padding: 60px 30px; color: var(--protec-muted); text-align: center; }
#products-details { width: 100%; margin: 0; }
#products-details .product-image { min-height: 470px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--protec-line); border-radius: 22px; padding: 40px; background: #fff; }
#products-details .product-image img { width: 100%; max-height: 420px; object-fit: contain; }
#products-details h2.product-title { margin: 12px 0 0 !important; padding: 0 !important; color: var(--protec-blue) !important; font-family: "Manrope", Arial, sans-serif !important; font-size: 40px !important; font-weight: 800 !important; line-height: 1.2 !important; text-transform: none !important; }
#products-details .product-description { margin-top: 28px; color: var(--protec-muted); font-size: 15px; }
#products-details .product-description p { margin: 14px 0 0 !important; color: var(--protec-muted) !important; font-family: "Manrope", Arial, sans-serif !important; font-size: 15px !important; line-height: 1.75 !important; }
#products-details .add-to-cart { margin-top: 30px; border-radius: 16px; padding: 24px; background: #eef8f0; }
#products-details .add-to-cart h3 { margin: 0 0 5px; color: var(--protec-blue); font-size: 17px; font-weight: 800; }
#products-details .add-to-cart .form-group { width: auto; float: none; margin: 18px 0 0; padding: 0; }
#products-details .add-to-cart .btn,
#products-details .add-to-cart .btn:hover,
#products-details .add-to-cart .btn:focus,
#products-details .add-to-cart .btn:active {
    height: 52px !important;
    min-height: 52px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 0 !important;
    border-radius: 12px !important;
}
.product-whatsapp-contact {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    margin-top: 30px;
    border: 1px solid #cce8d2;
    border-radius: 16px;
    padding: 17px 18px;
    background: linear-gradient(135deg, #f2fbf4, #e9f8ed);
}
#products-details .product-whatsapp-contact__copy h3 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--protec-blue) !important;
    font-family: "Manrope", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    text-transform: none !important;
}
body .product-whatsapp-contact__button,
body .product-whatsapp-contact__button:hover,
body .product-whatsapp-contact__button:focus,
body .product-whatsapp-contact__button:active {
    min-width: 165px;
    min-height: 46px !important;
    height: 46px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-color: #25d366 !important;
    background: #25d366 !important;
    color: #fff !important;
    white-space: nowrap;
}
body .product-whatsapp-contact__button:hover,
body .product-whatsapp-contact__button:focus {
    border-color: #1eae54 !important;
    background: #1eae54 !important;
}

/* Legacy blog/cart/account surfaces */
#blog-page ul, #home-blog ul, #products-page > ul { padding: 0; list-style: none; }
#blog-page li { margin-bottom: 28px; }
#blog-page { margin: 0; background: #fff; }
#blog-page ul li { margin-top: 30px; }
#blog-page hr { margin: 55px 0; }
#blog-page .larger-post { margin-top: 45px; }
#blog-page .blog-image { border-radius: 16px; overflow: hidden; background: var(--protec-soft); }
#blog-page .blog-image img { width: 100%; height: 240px; object-fit: cover; }
#blog-page .blog-title { color: var(--protec-blue); font-size: 18px; font-weight: 800; }
#blog-page .blog-date { color: var(--protec-green-dark); font-size: 11px; font-weight: 800; text-transform: uppercase; }
#blog-page .blog-description { color: var(--protec-muted); }
body .table { border: 1px solid var(--protec-line); border-radius: 12px; background: #fff; overflow: hidden; }
body .table > thead > tr > th { border: 0; background: var(--protec-blue); color: #fff; padding: 14px; font-size: 11px; text-transform: uppercase; }
body .table > tbody > tr > td { border-color: var(--protec-line); padding: 14px; vertical-align: middle; }
body .list-group { border: 1px solid var(--protec-line); border-radius: 14px; overflow: hidden; }
body .list-group-item { height: auto !important; border: 0 !important; border-bottom: 1px solid var(--protec-line) !important; border-radius: 0 !important; background: #fff !important; padding: 14px 16px !important; color: var(--protec-muted); font-family: "Manrope", Arial, sans-serif; font-size: 13px; }
body .list-group-item.active { background: var(--protec-blue) !important; border-color: var(--protec-blue) !important; color: #fff; }
body .employment-sidebar .list-group-item:not(.active) { padding: 16px !important; }
body .employment-sidebar .list-group-item:not(.active) > strong { display: block; padding-right: 34px; color: var(--protec-navy); font-size: 13px; line-height: 1.4; }
body .employment-sidebar .list-group-item:not(.active) > small { display: block; margin-top: 6px; padding-right: 34px; color: var(--protec-muted); font-size: 11px; line-height: 1.55; }
body .employment-sidebar .list-group-item .badge { float: right; margin-top: 0; }
#my-cart { margin: 0; padding: 70px 0 100px; }
#my-cart .shopping-cart { border: 1px solid var(--protec-line); border-radius: var(--protec-radius); background: #fff; padding: 16px 24px 28px; box-shadow: 0 12px 35px rgba(25,37,75,.06); }
#my-cart .product-list-item { border-color: var(--protec-line); }
#my-cart .product-list-item .product-image { border-radius: 10px; background: var(--protec-soft); overflow: hidden; }
#my-cart .product-list-item p.product-title { color: var(--protec-blue); font-family: "Manrope", Arial, sans-serif; font-weight: 800; }
#my-cart .product-list-item .btn-destroy { min-height: 42px; margin-top: 10px; }
#my-cart .card-footer { min-height: 105px; }
#my-cart .card-footer .btn,
#my-cart .card-footer .btn:hover,
#my-cart .card-footer .btn:focus,
#my-cart .card-footer .btn:active {
    height: 52px !important;
    min-height: 52px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px !important;
}
#my-cart .card-footer .btn > div { display: inline-flex; align-items: center; justify-content: center; margin: 0; }

/* Footer */
.site-footer { float: none; margin-top: 0; }
footer #newsletter.site-newsletter { width: 100%; height: auto; padding: 70px 0; background: linear-gradient(120deg, var(--protec-green-dark), var(--protec-green)); color: #fff; }
.site-newsletter__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; }
.site-newsletter .eyebrow { color: #d8ffe0; }
.site-newsletter h2 { margin: 10px 0 8px; color: #fff; font-size: 34px; font-weight: 800; line-height: 1.2; }
.site-newsletter p { margin: 0; color: rgba(255,255,255,.84); }
.site-newsletter__form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; align-items: start; }
.site-footer #newsletter.site-newsletter .site-newsletter__form .form-group { position: relative; margin: 0 !important; padding: 0; }
.site-footer #newsletter.site-newsletter .site-newsletter__form .form-group .text-danger { position: absolute; right: 0; bottom: -20px; left: 0; margin: 0; color: #7d1520 !important; font-size: 11px; font-weight: 700; line-height: 16px; }
.site-footer #newsletter.site-newsletter .site-newsletter__form label { color: #fff !important; }
.site-footer #newsletter.site-newsletter .site-newsletter__form .form-control { border: 1px solid rgba(255,255,255,.8) !important; border-radius: 12px !important; background: rgba(255,255,255,.97) !important; color: var(--protec-ink) !important; }
.site-newsletter__submit { align-self: start; }
.site-newsletter__submit-label { width: 100%; height: 37px; display: block; visibility: hidden; margin: 0; overflow: hidden; color: transparent; font-size: 0; line-height: 0; }
.site-newsletter__form .btn { width: auto !important; height: 52px !important; min-height: 52px !important; align-self: start; margin: 0 !important; padding: 0 22px !important; background: #fff !important; border-color: #fff !important; color: var(--protec-blue) !important; }
.site-footer #newsletter.site-newsletter .site-newsletter__form button.btn { width: auto !important; height: 52px !important; min-height: 52px !important; border: 1px solid #fff !important; border-radius: 12px !important; background: #fff !important; color: var(--protec-blue) !important; }
.account-access-intro { max-width: 430px; margin: -6px auto 30px; color: var(--protec-muted); font-size: 13px; line-height: 1.65; text-align: center; }

/* Customer registration */
#login-form.account-create-page { margin: 0; padding: 64px 0 90px; background: var(--protec-soft); }
#login-form.account-create-page .account-create-panel { width: 100%; max-width: 980px; float: none; margin: 0 auto; padding: 0; }
#login-form.account-create-page .register { overflow: hidden; border: 1px solid var(--protec-line); border-radius: 22px; background: #fff; box-shadow: 0 18px 48px rgba(20,39,109,.08); }
#login-form.account-create-page .register > .nav-tabs { width: auto; display: grid; grid-template-columns: 1fr 1fr; float: none; margin: 0 !important; padding: 10px; border: 0; background: #f0f3f8; text-align: left; }
#login-form.account-create-page .register > .nav-tabs::before, #login-form.account-create-page .register > .nav-tabs::after { content: none; display: none; }
#login-form.account-create-page .register > .nav-tabs > li { width: auto; float: none; display: block; margin: 0 !important; }
#login-form.account-create-page .register > .nav-tabs > li::before { content: none !important; display: none; }
#login-form.account-create-page .register > .nav-tabs > li > a { min-height: 48px; display: flex; align-items: center; justify-content: center; margin: 0 !important; border: 0 !important; border-radius: 12px !important; padding: 12px 18px !important; color: var(--protec-muted) !important; font: 800 13px/1.4 "Manrope", Arial, sans-serif !important; }
#login-form.account-create-page .register > .nav-tabs > li.active > a { background: #fff !important; color: var(--protec-blue) !important; box-shadow: 0 5px 18px rgba(20,39,109,.09); }
#login-form.account-create-page .tab-content { padding: 34px 42px 42px; }
#login-form.account-create-page .tab-content form { width: 100%; float: none; margin: 0; padding: 0; }
#login-form.account-create-page .register .tab-content h4 { width: 100%; float: none; display: flex; align-items: center; gap: 12px; margin: 34px 0 18px !important; color: var(--protec-blue); font: 800 15px/1.4 "Manrope", Arial, sans-serif; text-align: left; }
#login-form.account-create-page .register .tab-content h4:first-child { margin-top: 0 !important; }
#login-form.account-create-page .register .tab-content h4::after { content: ""; flex: 1; height: 1px; background: var(--protec-line); }
#login-form.account-create-page .form-group { margin-bottom: 16px; }
#login-form.account-create-page .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; }
#login-form.account-create-page .row::before, #login-form.account-create-page .row::after { content: none; display: none; }
#login-form.account-create-page .row > [class*="col-"] { width: auto; min-width: 0; float: none; margin: 0; padding: 0; }
#login-form.account-create-page .form-control { background: #fbfcfe !important; }
#login-form.account-create-page label small { color: var(--protec-muted); font-weight: 600; }
#login-form.account-create-page .text-danger { display: block; margin-top: 4px; color: #b42318 !important; font-size: 11px; font-weight: 700; }
#login-form.account-create-page form > .form-group:last-child .row { align-items: end; }
#login-form.account-create-page form > .form-group:last-child .row > [class*="col-"] { position: relative; }
#login-form.account-create-page form > .form-group:last-child .text-danger { position: absolute; right: 0; bottom: -20px; left: 0; }
#login-form.account-create-page .register .tab-content button { width: 100% !important; height: 52px !important; min-height: 52px !important; float: none; margin: 0 !important; padding: 0 22px !important; }
.site-footer__main { padding: 70px 0; background: #0f1d4c; color: rgba(255,255,255,.72); }
.site-footer__grid { display: grid; grid-template-columns: 1.6fr .8fr .8fr 1.1fr; gap: 60px; }
.site-footer__brand img { width: 210px; margin-bottom: 20px; filter: brightness(0) invert(1); }
.site-footer__brand p { max-width: 340px; font-size: 13px; }
.site-footer .site-footer__main h3 { margin: 5px 0 16px !important; color: #fff !important; font: 800 15px/1.35 "Manrope", Arial, sans-serif !important; text-transform: uppercase !important; letter-spacing: .07em !important; }
.site-footer__main a { display: block; margin: 9px 0; color: rgba(255,255,255,.74); font-size: 13px; }
.site-footer__main a:hover { color: #75d887; }
.site-footer__contact p { font-size: 13px; }
.site-footer__bottom { padding: 18px 0; background: #0b163d; color: rgba(255,255,255,.48); font-size: 11px; }
.site-footer__bottom .container { display: flex; justify-content: space-between; }
.site-footer__bottom a { color: rgba(255,255,255,.78); font-weight: 700; }
.site-footer__bottom a:hover, .site-footer__bottom a:focus { color: #75d887; }

/* Legacy home selectors are ID-based and otherwise win over the card system. */
#products .product-grid { display: grid; margin: 0; padding: 0; }
#products .product-grid > li.product-card { width: auto; height: auto; min-width: 0; float: none; margin: 0; padding: 0; }
#products .product-grid > li.product-card .product-image { width: 100%; height: 260px; margin: 0; padding: 24px; }
#products .product-grid > li.product-card p.product-title { width: auto; height: auto; margin: 0; padding: 0; color: var(--protec-blue); font-size: 15px; font-weight: 800; line-height: 1.35; text-align: left; }
#products .product-card > a { margin-top: 0; text-align: left !important; }

@media (max-width: 1199px) {
    body { padding-top: 94px; }
    /* O CSS legado zera este padding com !important neste breakpoint. */
    #about-home { padding: 90px 0 !important; }
    body.site-menu-open { overflow: hidden; }
    .site-header__main { min-height: 94px; }
    .site-brand, .site-brand img { width: 178px; flex-basis: 178px; }
    .site-menu-toggle { display: block; margin-left: auto; position: relative; z-index: 1035; cursor: pointer; }
    .site-menu-toggle:focus-visible, .site-navigation a:focus-visible, .site-navigation__close:focus-visible { outline: 3px solid rgba(47,179,74,.38); outline-offset: 4px; }
    .site-navigation {
        display: flex; position: fixed; z-index: 1040; top: 0; bottom: 0; left: 0; right: auto;
        width: min(88vw, 390px); height: 100vh; height: 100dvh; flex-direction: column; align-items: stretch; justify-content: flex-start;
        gap: 0; margin: 0; padding: 0 28px 32px; overflow-x: hidden; overflow-y: auto;
        border: 0; border-radius: 0; background: #fff; box-shadow: 20px 0 55px rgba(11,22,61,.24);
        opacity: 1; visibility: hidden; transform: translate3d(-105%,0,0);
        transition: transform .32s cubic-bezier(.22,1,.36,1), visibility .32s;
    }
    .site-navigation.is-open { display: flex; visibility: visible; transform: translate3d(0,0,0); }
    .site-navigation__mobile-head { min-height: 104px; display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; border-bottom: 0; }
    .site-navigation__logo { display: block; width: 185px; padding: 0 !important; border: 0 !important; }
    .site-navigation__logo img { display: block; width: 100%; }
    .site-navigation__close { width: 42px; height: 42px; position: relative; border: 0; border-radius: 50%; background: var(--protec-soft); cursor: pointer; transition: .2s ease; }
    .site-navigation__close:hover { background: #e9edf5; transform: rotate(5deg); }
    .site-navigation__close span { width: 20px; height: 2px; position: absolute; top: 20px; left: 11px; background: var(--protec-blue); }
    .site-navigation__close span:first-child { transform: rotate(45deg); }
    .site-navigation__close span:last-child { transform: rotate(-45deg); }
    .site-navigation > a { min-height: 50px; margin-top: 4px; border: 0; border-radius: 9px; padding: 14px 8px; color: #25314d; font-size: 15px; font-weight: 700; }
    .site-navigation > a:hover { padding-left: 12px; background: var(--protec-soft); color: var(--protec-green-dark); box-shadow: none; transform: none; }
    .site-navigation > a.is-active:not(.site-navigation__contact) { border-radius: 9px; padding-right: 12px; padding-left: 12px; background: #f0f8f2; color: var(--protec-green-dark); box-shadow: none; }
    .site-navigation > a.is-active:not(.site-navigation__contact)::after { display: none; }
    .site-navigation > a.site-navigation__contact { margin-top: 12px; border: 0; border-radius: 12px; padding: 13px 16px; background: var(--protec-green); color: #fff; text-align: center; }
    .site-navigation > a.site-navigation__contact:hover { padding-left: 16px; background: var(--protec-green-dark); color: #fff; }
    .site-navigation__mobile-actions { display: grid; gap: 9px; margin-top: 20px; }
    .site-navigation__mobile-actions > a { min-height: 46px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--protec-line); border-radius: 12px; padding: 10px 13px; color: var(--protec-blue); font-size: 12px; font-weight: 800; }
    .site-navigation__mobile-actions > a i { width: 18px; color: var(--protec-green-dark); text-align: center; }
    .site-navigation__mobile-actions > a:hover { border-color: #cfd6e3; background: var(--protec-soft); }
    .site-navigation__mobile-actions .site-navigation__budget { border-color: var(--protec-green); background: var(--protec-green); color: #fff; }
    .site-navigation__mobile-actions .site-navigation__budget:hover { border-color: var(--protec-green-dark); background: var(--protec-green-dark); color: #fff; }
    .site-navigation__mobile-actions .site-navigation__budget i { color: #fff; }
    .site-navigation__budget strong { min-width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; margin-left: auto; border-radius: 50%; background: #fff; color: var(--protec-blue); font-size: 10px; }
    .site-navigation-overlay { display: block; position: fixed; z-index: 1030; inset: 0; width: 100vw; height: 100vh; height: 100dvh; background: rgba(5,14,45,.65); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .26s ease, visibility .26s; }
    body.site-menu-open .site-navigation-overlay { opacity: 1; visibility: visible; pointer-events: auto; }
    .site-menu-toggle.is-open { opacity: 0; pointer-events: none; }
    .site-actions .site-action-link span, .site-actions .site-cart-link > span { display: none; }
    .product-grid { grid-template-columns: repeat(3, 1fr); }
    .home-category-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 991px) {
    .home-about__grid { gap: 45px; }
    .home-about__badge { left: -15px; }
    .products-layout { grid-template-columns: 1fr; }
    .product-sidebar { position: static; }
    .products-layout .product-grid { grid-template-columns: repeat(2, 1fr); }
    .site-newsletter__grid { grid-template-columns: 1fr; gap: 30px; }
    .site-footer__grid { grid-template-columns: 1.5fr 1fr 1fr; }
    .site-footer__contact { grid-column: 1 / -1; }
    .about-page__intro { gap: 45px; }
    .contact-layout, .employment-layout { grid-template-columns: 1fr; gap: 30px; }
    .employment-sidebar { position: static; }
}
@media (max-width: 767px) {
    body { font-size: 15px; padding-top: 74px; }
    body .container { width: calc(100% - 32px); padding-left: 0; padding-right: 0; }
    .site-topbar { display: none; }
    .site-header__main { min-height: 74px; gap: 10px; }
    .site-brand, .site-brand img { width: 150px; flex-basis: 150px; }
    .site-navigation { top: 0; }
    .site-actions { gap: 7px; }
    .site-action-link, .site-cart-link { width: 40px; min-height: 40px; padding: 0; }
    .site-cart-link strong { position: absolute; margin: -32px 0 0 26px; box-shadow: 0 2px 8px rgba(0,0,0,.15); }
    #carousel-slider .carousel-inner, #carousel-slider .item { height: 600px !important; }
    #carousel-slider .img-fill::after { background: linear-gradient(90deg, rgba(8,22,65,.68), rgba(8,22,65,.2)); }
    #carousel-slider .img-fill img { object-position: center; }
    .carousel-banner-action { bottom: 58px; z-index: 16; }
    .carousel-banner-action .container { justify-content: center; }
    .carousel-banner-action a,
    body .carousel-product-slide__button { width: min(260px, calc(100vw - 48px)); min-height: 52px; justify-content: center; border-radius: 14px !important; }
    .carousel-product-slide { grid-template-columns: 1fr; grid-template-rows: 210px auto; align-content: start; gap: 12px; padding: 28px 16px 140px; text-align: center; }
    .carousel-product-slide__copy { position: static; max-width: none; }
    .carousel-product-slide__copy p { margin-right: auto; margin-left: auto; }
    .carousel-product-slide__media { height: 190px; grid-row: 1; }
    .carousel-product-slide__media span { width: 220px; }
    .carousel-product-slide__media img { width: 200px; height: 200px; }
    .carousel-product-slide__copy h2 { font-size: 34px !important; }
    body .carousel-product-slide__button,
    body .carousel-product-slide__button:hover,
    body .carousel-product-slide__button:focus { position: absolute; z-index: 16; bottom: 58px; left: 50%; margin: 0; transform: translateX(-50%); }
    #carousel-slider .carousel-indicators { bottom: 20px; }
    .home-trust { margin-top: 0; padding: 16px 0; background: var(--protec-soft); }
    .home-trust__grid { grid-template-columns: 1fr; }
    .home-trust__item { min-height: 88px; padding: 18px 22px; }
    .home-trust__item + .home-trust__item { border-left: 0; border-top: 1px solid var(--protec-line); }
    #about-home { padding: 70px 0 !important; }
    #products, .home-blog { padding: 70px 0; }
    .home-about__grid { grid-template-columns: 1fr; gap: 35px; }
    .home-about__copy h2 { font-size: 34px; }
    .home-about__media img { min-height: 300px; }
    .home-about__badge { width: 118px; height: 118px; left: 12px; bottom: 12px; border-width: 5px; }
    .home-about__badge strong { font-size: 30px; }
    .section-heading, .products-content__header { align-items: flex-start; flex-direction: column; }
    .product-grid, .products-layout .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .product-card .product-image { height: 180px; padding: 16px; }
    .product-card__body { padding: 16px; }
    .product-whatsapp-contact { grid-template-columns: 1fr; padding: 16px; }
    body .product-whatsapp-contact__button { width: 100%; grid-column: 1 / -1; }
    .home-categories { padding: 70px 0; }
    .home-category-grid { grid-template-columns: repeat(2, 1fr); }
    .home-blog__grid { grid-template-columns: 1fr; }
    .page-header-compact__inner { min-height: 96px; }
    .page-header-compact h1 { font-size: 22px; }
    .page-header-compact p { display: none; }
    #about-us, #contact-form, #blog-page, #products-details, #login-form, #pages { padding-top: 55px; padding-bottom: 65px; }
    .products-layout { padding-top: 50px; gap: 28px; }
    .product-search { width: 100%; }
    #products-details .product-image { min-height: 320px; }
    #products-details h2 { font-size: 30px; }
    .site-newsletter { padding: 55px 0; }
    .site-newsletter__form { grid-template-columns: 1fr; }
    .site-newsletter__submit-label { display: none; }
    .site-newsletter__form .btn { width: 100% !important; margin-top: 0 !important; }
    .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 38px 25px; }
    .site-footer__brand, .site-footer__contact { grid-column: 1 / -1; }
    .site-footer__bottom .container { flex-direction: column; gap: 4px; }
    .about-page { padding: 65px 0 75px; }
    .about-page__intro { grid-template-columns: 1fr; gap: 35px; }
    .about-page__image img { min-height: 310px; }
    .about-values { grid-template-columns: 1fr; margin-top: 45px; }
    .branches-coming-soon { padding: 55px 0 70px; }
    .branches-coming-soon__card { border-radius: 18px; padding: 42px 22px; }
    .branches-coming-soon__card h1 { font-size: 27px; }
    #contact-form form.employment-form { grid-template-columns: 1fr; }
    .contact-form__two-columns { grid-template-columns: 1fr; gap: 0; }
    .employment-form__wide { grid-column: auto; }
    .employment-form__actions { grid-column: auto; grid-template-columns: 1fr; }
    #contact-form .employment-submit .btn { width: 100%; }
    .contact-info { padding: 26px; }
    .contact-card > .form-group:last-child > .row { grid-template-columns: 1fr; }
    #login-form.account-create-page { padding: 36px 0 60px; }
    #login-form.account-create-page .tab-content { padding: 26px 20px 30px; }
    #login-form.account-create-page .row { grid-template-columns: 1fr; }
    #login-form.account-create-page .register .tab-content button { margin-top: 0 !important; }
    .site-footer #newsletter.site-newsletter .site-newsletter__form .form-group { padding-bottom: 22px; }
    .site-footer #newsletter.site-newsletter .site-newsletter__form .form-group .text-danger { bottom: 0; }
}

/* Privacy and tracking consent */
.site-privacy-settings { border: 0; padding: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
.site-consent { width: min(720px, calc(100% - 32px)); position: fixed; z-index: 1200; right: 24px; bottom: 24px; display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; align-items: center; gap: 16px; border: 1px solid #dbe3ef; border-radius: 17px; padding: 18px; background: rgba(255,255,255,.98); box-shadow: 0 24px 65px rgba(7,21,61,.22); opacity: 0; visibility: hidden; transform: translateY(18px); transition: .24s ease; }
.site-consent.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.site-consent__icon { width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; border-radius: 13px; background: #ecf8ef; color: var(--protec-green-dark); font-size: 18px; }
.site-consent__copy strong { display: block; color: var(--protec-blue); font-size: 14px; font-weight: 800; }
.site-consent__copy p { margin: 4px 0 0; color: #68748a; font-size: 11px; line-height: 1.55; }
.site-consent__actions { display: flex; align-items: center; gap: 8px; }
.site-consent__actions button { min-height: 42px; border: 1px solid var(--protec-line); border-radius: 10px; padding: 10px 15px; background: #fff; color: var(--protec-blue); font-size: 11px; font-weight: 800; cursor: pointer; }
.site-consent__actions .site-consent__accept { border-color: var(--protec-green); background: var(--protec-green); color: #fff; }

@media (max-width: 767px) {
    .site-consent { width: calc(100% - 24px); right: 12px; bottom: 12px; grid-template-columns: 40px minmax(0, 1fr); gap: 11px; padding: 15px; }
    .site-consent__icon { width: 40px; height: 40px; }
    .site-consent__actions { grid-column: 1 / -1; }
    .site-consent__actions button { flex: 1; }
}
@media (max-width: 420px) {
    .site-brand, .site-brand img { width: 132px; flex-basis: 132px; }
    .site-action-link { display: none; }
    .product-grid, .products-layout .product-grid, .home-category-grid { grid-template-columns: 1fr; }
    .product-card .product-image { height: 240px; }
}

@media (prefers-reduced-motion: reduce) {
    .site-navigation, .site-navigation-overlay, .site-menu-toggle, .site-navigation__close { transition: none !important; }
}

/* Contact careers callout */
.contact-aside { display: grid; gap: 22px; }
.contact-careers-card { min-height: 118px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px; align-items: center; border: 1px solid #dbe3ef; border-radius: var(--protec-radius); padding: 22px 24px; background: #fff; box-shadow: 0 12px 35px rgba(25,37,75,.06); color: var(--protec-blue); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.contact-careers-card:hover, .contact-careers-card:focus { border-color: rgba(44,184,73,.5); color: var(--protec-blue); box-shadow: 0 18px 42px rgba(20,39,109,.11); transform: translateY(-3px); }
.contact-careers-card__icon { width: 52px; height: 52px; display: inline-flex; align-items: center; justify-content: center; border-radius: 15px; background: #eaf8ed; color: var(--protec-green-dark); font-size: 20px; }
.contact-careers-card__copy { display: grid; gap: 4px; }
.contact-careers-card__copy small { color: var(--protec-green-dark); font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.contact-careers-card__copy strong { color: var(--protec-blue); font-size: 17px; font-weight: 800; }
.contact-careers-card__copy > span { color: var(--protec-muted); font-size: 12px; line-height: 1.55; }
.contact-careers-card__arrow { color: var(--protec-green-dark); font-size: 16px; transition: transform .2s ease; }
.contact-careers-card:hover .contact-careers-card__arrow { transform: translateX(4px); }

/* Employment */
.employment-layout--no-vacancies { grid-template-columns: minmax(0, 1fr); }
.employment-file-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.employment-file-label > span { margin-bottom: 5px; color: var(--protec-muted); font-size: 10px; font-weight: 700; }
.employment-file-label > span i { margin-right: 5px; color: #d74b55; }
.employment-file-field { height: 52px; display: flex; align-items: center; border: 1px solid var(--protec-line); border-radius: 10px; padding: 0 8px; background: var(--protec-soft); overflow: hidden; }
#contact-form .employment-file-field .form-control { width: 100%; min-width: 0; height: 50px !important; border: 0 !important; background: transparent !important; padding: 8px !important; box-shadow: none !important; }

/* Blog */
#blog-page.blog-index { background: #f7f9fc; }
.blog-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 36px; margin-bottom: 34px; }
.blog-toolbar .eyebrow, .blog-section-heading .eyebrow { color: var(--protec-green-dark); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
#blog-page .blog-toolbar h2, #blog-page .blog-section-heading h2 { margin: 7px 0 0; color: var(--protec-blue); font-size: 30px; font-weight: 800; line-height: 1.25; }
#blog-page form.blog-search { width: min(100%, 430px); border: 0; border-radius: 0; padding: 0; background: transparent; box-shadow: none; }
.blog-search__field { height: 54px; display: flex; align-items: center; border: 1px solid var(--protec-line); border-radius: 13px; padding-left: 18px; background: #fff; overflow: hidden; transition: border-color .2s ease, box-shadow .2s ease; }
.blog-search__field:focus-within { border-color: rgba(44,184,73,.65); box-shadow: 0 0 0 4px rgba(44,184,73,.1); }
.blog-search__field > i { color: #9aa7ba; }
#blog-page .blog-search__field .form-control { height: 52px !important; flex: 1; border: 0 !important; background: transparent !important; padding: 0 14px !important; box-shadow: none !important; }
#blog-page .blog-search__field .btn { width: auto !important; min-width: 92px; height: 44px !important; min-height: 44px !important; margin: 0 5px 0 0 !important; padding: 0 18px !important; }
.blog-search > .text-danger { display: block; margin-top: 7px; }
.blog-featured { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); border: 1px solid var(--protec-line); border-radius: 22px; background: #fff; overflow: hidden; box-shadow: 0 16px 45px rgba(20,39,109,.07); }
.blog-featured__image { min-height: 410px; display: block; overflow: hidden; background: #eaf0f8; }
.blog-featured__image img { width: 100%; height: 100%; min-height: 410px; display: block; object-fit: cover; transition: transform .35s ease; }
.blog-featured:hover .blog-featured__image img { transform: scale(1.035); }
.blog-featured__content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 48px; }
#blog-page .blog-date { display: block; margin-bottom: 13px; color: var(--protec-green-dark); font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
#blog-page .blog-featured h3 { margin: 0 0 17px; font-size: clamp(25px, 2.5vw, 36px); line-height: 1.2; }
#blog-page .blog-featured h3 a, #blog-page .blog-card h3 a { color: inherit; }
.blog-featured__content > p { margin: 0 0 24px; color: var(--protec-muted); font-size: 14px; line-height: 1.75; }
.blog-read-more { display: inline-flex; align-items: center; gap: 9px; color: var(--protec-blue); font-size: 12px; font-weight: 800; }
.blog-read-more i { color: var(--protec-green-dark); transition: transform .2s ease; }
.blog-read-more:hover i { transform: translateX(4px); }
.blog-section-heading { margin: 62px 0 24px; }
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.blog-card { display: flex; flex-direction: column; border: 1px solid var(--protec-line); border-radius: 18px; background: #fff; overflow: hidden; transition: box-shadow .2s ease, transform .2s ease; }
.blog-card:hover { box-shadow: 0 16px 38px rgba(20,39,109,.09); transform: translateY(-4px); }
.blog-card__image { height: 220px; display: block; overflow: hidden; background: #eaf0f8; }
.blog-card__image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .3s ease; }
.blog-card:hover .blog-card__image img { transform: scale(1.04); }
.blog-image-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #aeb9ca; font-size: 42px; }
.blog-card__body { min-height: 245px; display: flex; flex-direction: column; align-items: flex-start; padding: 24px; }
#blog-page .blog-card h3 { min-height: 48px; margin: 0 0 12px; font-size: 18px; line-height: 1.35; }
.blog-card__body > p { margin: 0 0 20px; color: var(--protec-muted); font-size: 13px; line-height: 1.65; }
.blog-card__body .blog-read-more { margin-top: auto; }
.blog-empty { border: 1px dashed #cbd5e2; border-radius: 22px; padding: 70px 30px; background: #fff; text-align: center; }
.blog-empty > span { width: 64px; height: 64px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 18px; border-radius: 18px; background: #edf2fb; color: var(--protec-blue); font-size: 25px; }
#blog-page .blog-empty h3 { margin: 0 0 10px; font-size: 23px; }
.blog-empty p { max-width: 500px; margin: 0 auto; color: var(--protec-muted); line-height: 1.7; }
.blog-empty .btn { margin-top: 24px; }

@media (max-width: 991px) {
    .blog-featured { grid-template-columns: 1fr; }
    .blog-featured__image, .blog-featured__image img { min-height: 340px; }
    .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .contact-map { height: 225px; }
    .contact-careers-card { padding: 19px; }
    .contact-careers-card__icon { width: 46px; height: 46px; }
    .employment-file-label { align-items: flex-start; flex-direction: column; gap: 2px; }
    .blog-toolbar { align-items: stretch; flex-direction: column; gap: 22px; }
    #blog-page form.blog-search { width: 100%; }
    .blog-featured__image, .blog-featured__image img { min-height: 250px; }
    .blog-featured__content { padding: 28px 24px 32px; }
    .blog-grid { grid-template-columns: 1fr; }
    .blog-card__image { height: 240px; }
}

@media (max-width: 420px) {
    .contact-careers-card { grid-template-columns: auto minmax(0, 1fr); }
    .contact-careers-card__arrow { display: none; }
    #blog-page .blog-search__field .btn { min-width: 52px; font-size: 0; }
    #blog-page .blog-search__field .btn::after { content: "\f002"; font: normal normal normal 14px/1 FontAwesome; }
}
