/* Gamag SAS overrides for the Erepair template. Loaded last. */

/* Logo (a 4x upscaled 100x36 source): fixed height, proportional width. */
.main-menu__logo img,
.main-menu-two__logo img,
.main-menu-three__logo img,
.stricky-header .main-menu__logo img,
.mobile-nav__content .logo-box img,
.footer-widget__logo img,
.footer-widget-two__logo img,
.site-footer-three__logo img {
    height: 46px;
    width: auto;
    max-width: none;
}

.mobile-nav__content .logo-box img { height: 42px; width: auto; }

/* Top bar with three items (phone, email, address) must not wrap on medium screens. */
.main-menu-three__contact-list { flex-wrap: wrap; row-gap: 4px; }
.main-menu-three__contact-list li + li { margin-left: 34px; }
@media (max-width: 1399px) {
    .main-menu-three__contact-list li:nth-child(3) { display: none; }
}

/* =========================================================================
   Small additions on top of the Erepair template (prefix gw-).
   ========================================================================= */
:root { --gw-wa: #12904a; --gw-wa-dark: #0d7a3d; }

/* WhatsApp buttons keep the template's .thm-btn shape, in WhatsApp green */
.thm-btn.gw-btn { background-color: var(--gw-wa); color: #fff; gap: 10px; }
.thm-btn.gw-btn:before, .thm-btn.gw-btn:after { background-color: var(--gw-wa-dark); }
.thm-btn.gw-btn i { font-size: 18px; position: relative; z-index: 1; }
.main-menu-three__btn i { margin-right: 6px; }

.gw-more { margin-top: 20px; }
.gw-home-products { padding-top: 120px; }

/* product card: availability instead of the template's fake stars; WhatsApp instead of cart */
.shop-page-one-single .img-box > a > img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.shop-page-one-single .btn-box a i { color: var(--gw-wa); font-size: 16px; }

/* service card */
.services-four__img img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.gw-service-meta { margin: -6px 0 18px; font-size: 15px; color: var(--erepair-gray); }
.gw-service-meta strong { color: var(--erepair-black); font-family: var(--erepair-font-2); font-size: 18px; }
.gw-service-meta span { color: #14804a; font-weight: 600; }

/* shop sidebar / toolbar */
.gw-native { border: 1px solid #e3ebe8; border-radius: 8px; padding: 9px 12px; background: #fff; color: var(--erepair-black); }
.shop-widget-single_category li.gw-active > a { color: var(--erepair-base); font-weight: 700; }
.shop-widget-single_category li a span { color: var(--erepair-gray); font-size: 13px; }
.sidebar-search-box .search-form { position: relative; }
.gw-check { display: flex; align-items: center; gap: 10px; cursor: pointer; margin: 0; }
.gw-check input { accent-color: var(--erepair-base); width: 17px; height: 17px; }
.gw-reset { margin: 14px 0 0; }
.gw-reset a { color: #b3363b; font-weight: 600; }
.styled-pagination li.gw-disabled { opacity: .35; pointer-events: none; }
.gw-empty { text-align: center; padding: 60px 20px; border: 2px dashed #e3ebe8; border-radius: 12px; }
.gw-empty h3 { font-size: 26px; margin-bottom: 8px; }
.gw-empty p { margin-bottom: 22px; }

/* product detail */
.shop-details-page1__img-inner img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.gw-thumbs { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.gw-thumbs button { width: 76px; height: 76px; padding: 0; border: 2px solid #e3ebe8; border-radius: 8px; overflow: hidden; background: none; }
.gw-thumbs button.is-active { border-color: var(--erepair-base); }
.gw-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.gw-buy { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 34px; }
.gw-call { font-family: var(--erepair-font-2); font-weight: 700; font-size: 18px; color: var(--erepair-black); }
.gw-call span { color: var(--erepair-base); margin-right: 6px; }

/* services list + detail */
.gw-services-page { padding-top: 90px; }
.gw-service-filters { margin-bottom: 40px; }
.gw-service-filters .right-box { display: flex; gap: 10px; flex-wrap: wrap; }
.gw-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.gw-tabs a { padding: 9px 18px; border-radius: 8px; border: 1px solid #e3ebe8; font-weight: 700; color: var(--erepair-black); }
.gw-tabs a.is-active { background: var(--erepair-base); border-color: var(--erepair-base); color: #fff; }
.gw-subtitle { font-size: 24px; margin: 30px 0 14px; }
.gw-excludes .icon span { color: #b3363b; }
.service-details__img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.gw-quote { margin-top: 0; margin-bottom: 30px; }
.gw-quote .project-details__get-started-title small { font-size: 16px; font-weight: 600; opacity: .8; }
.page-header__sub { margin: 10px 0 0; }

/* contact map */
.gw-map { height: 100%; min-height: 460px; border-radius: 12px; overflow: hidden; }
.gw-map iframe { width: 100%; height: 100%; min-height: 460px; border: 0; display: block; }

/* footer */
.gw-footer-links li + li { margin-top: 10px; }
.gw-footer-links a { color: inherit; }
.gw-footer-links a:hover { color: var(--erepair-base); }
.footer-widget-three__about-content p a { color: inherit; }

/* floating WhatsApp */
.g-whatsapp-float { position: fixed; left: 22px; bottom: 22px; z-index: 990; display: inline-flex; align-items: center; gap: 10px; background: var(--gw-wa); color: #fff; padding: 13px 20px 13px 15px; border-radius: 999px; box-shadow: 0 10px 28px rgba(18, 144, 74, .4); font-family: var(--erepair-font-2); font-weight: 700; font-size: 15px; }
.g-whatsapp-float:hover { background: var(--gw-wa-dark); color: #fff; }
.g-whatsapp-float i { font-size: 28px; line-height: 1; }
@media (max-width: 767px) {
    .g-whatsapp-float { padding: 0; width: 56px; height: 56px; justify-content: center; left: 16px; bottom: 16px; }
    .g-whatsapp-float__label { display: none; }
    .gw-map, .gw-map iframe { min-height: 320px; }
}

/* Sidebar search lives inside the filters form, so it can't be a <form>: same look as the template's. */
.sidebar-search-box .search-form { position: relative; display: block; }
.sidebar-search-box .search-form input { border-radius: 0; border: 1px solid var(--erepair-bdr-color); background-color: #fff; width: 100%; height: 50px; color: var(--erepair-gray); font-size: 16px; font-family: var(--erepair-font); padding: 0 70px 0 20px; outline: none; }
.sidebar-search-box .search-form button { position: absolute; top: 0; right: 0; width: 60px; height: 50px; border: 0; background-color: var(--erepair-bdr-color); }
.sidebar-search-box .search-form button i { color: var(--erepair-black); font-size: 20px; font-weight: 700; }
.gw-subtitle { font-family: var(--erepair-font-2); font-weight: 700; color: var(--erepair-black); }

/* Service cards: same height in every row, button always at the bottom. */
.services-four .row > [class*="col-"] { display: flex; }
.services-four .row > [class*="col-"] > .services-four__single { display: flex; flex-direction: column; width: 100%; }
.services-four__single .services-four__content { display: flex; flex-direction: column; flex: 1; }
.services-four__single .services-four__btn-box { margin-top: auto; }

/* Services filters: the template turns selects into "nice-select" pills; keep them side by side. */
.gw-service-filters { align-items: center; }
.shop-page-top-info_inner.gw-service-filters .right-box { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; width: auto; }
.gw-service-filters .right-box .nice-select { float: none; min-width: 230px; height: 46px; line-height: 44px; margin: 0; }

/* Home: the template pulls the counter up 150px to overlap a video section we don't use; give it room instead. */
.gw-home-products + .counter-one { margin-top: 0; margin-bottom: 90px; }
@media (max-width: 767px) { .gw-home-products + .counter-one { margin-bottom: 60px; } }

/* Product cards: same height in every row, name/availability/button aligned.
   (shop.css loads after this file, hence the extra "body" to win.) */
body .shop-page-one .gw-shop-grid > [class*="col-"],
body .related-products-one .row > [class*="col-"] { display: flex; }
body .shop-page-one-single { display: flex; flex-direction: column; width: 100%; }
body .shop-page-one-single .content-box { display: flex; flex-direction: column; flex: 1; }
body .shop-page-one-single .content-box .title { flex: 1; }
body .shop-page-one-single .content-box .bottom-box { margin-top: auto; }

/* No prices on the site: category above the product name instead. */
.gw-card-cat { display: block; font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--erepair-base); margin-bottom: 6px; }
.gw-lead { font-size: 18px; line-height: 1.8; margin-top: 26px; }
.gw-thumbs--wide button { width: 110px; height: 76px; }
.gw-service-search { width: 340px; max-width: 100%; }

/* Home: breathing room between the "Cotiza hoy" block and the footer. */
.cta-one { margin-bottom: 120px; }
@media (max-width: 767px) { .cta-one { margin-bottom: 70px; } }
/* Lightbox above the sticky header and the floating WhatsApp button. */
.mfp-bg { z-index: 99990; }
.mfp-wrap { z-index: 99991; }

/* =========================================================================
   Brand palette: Gamag green + Gamag orange (#fe6500, from the logo tagline).
   The template's yellow "primary" becomes the orange everywhere it is used.
   ========================================================================= */
:root {
    --erepair-primary: #fe6500;
    --erepair-primary-rgb: 254, 101, 0;
    --gw-orange-dark: #d95500;
}

/* Orange buttons: white text; hover keeps the template's green sweep. */
.thm-btn { color: #fff; }
.thm-btn:hover { color: #fff; }

/* Orange accents next to the green */
.hero-video .hero-video__eyebrow { color: #ff8a3d; }
.hero-video .hero-video__eyebrow::before { background: var(--erepair-primary); }
.section-title-three__tagline-shape { background-color: var(--erepair-primary) !important; }
.process-one__count-box { background-color: var(--erepair-primary) !important; }
.gw-card-cat { color: var(--erepair-primary); }
.page-header .thm-breadcrumb li:last-child { color: var(--erepair-primary); }

/* "Cotiza hoy" block on orange: dark text keeps it readable. */
.cta-one .section-title__tagline, .cta-one .section-title__title, .cta-one__text,
.cta-one__call-box .content p, .cta-one__call-box .content h4 a { color: #fff; }
.cta-one__call-box .icon { background-color: rgba(255, 255, 255, .2); }
.cta-one__call-box .icon span { color: #fff; }

/* Top bar labels ("Llámanos", "Escríbenos") in a lighter orange for contrast on the dark green. */
.main-menu-three__contact-list li .text p span { color: #ffb27a; }
.main-menu-three__contact-list li .icon i { color: #ffb27a; }

/* Footer: logo in place of the "Gamag SAS" title; bottom bar only holds the copyright. */
.gw-footer-logo img { height: 56px; width: auto; }
.gw-footer-bottom { justify-content: center; text-align: center; }

/* Home "Quiénes somos": two real photos, no color filter, small one overlapping the big one. */
.gw-about { padding: 120px 0; }
.gw-about__media { position: relative; padding: 0 70px 70px 0; }
.gw-about__media .about-three__shape-1 { position: absolute; top: -30px; left: -40px; z-index: 0; }
.gw-about__photo { position: relative; z-index: 1; display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 20px; }
.gw-about__photo-sm { position: absolute; z-index: 2; right: 0; bottom: 0; width: 46%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 20px; border: 8px solid #fff; box-shadow: 0 18px 40px rgba(0, 0, 0, .18); }
.gw-about__badge { position: absolute; z-index: 3; left: 26px; bottom: 96px; display: flex; align-items: center; gap: 12px; padding: 16px 22px; border-radius: 14px; background: var(--erepair-primary); color: #fff; box-shadow: 0 14px 30px rgba(254, 101, 0, .35); }
.gw-about__badge strong { font-family: var(--erepair-font-2); font-size: 44px; line-height: 1; }
.gw-about__badge span { font-family: var(--erepair-font-2); font-weight: 700; font-size: 14px; line-height: 1.2; text-transform: uppercase; letter-spacing: .5px; }
.gw-about__content { padding-left: 30px; }
.gw-about__text { font-size: 18px; line-height: 1.75; color: var(--erepair-gray); margin: 22px 0 26px; }
.gw-about__services { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 34px; }
.gw-about__services a { display: flex; align-items: center; gap: 12px; height: 100%; padding: 14px 16px; border: 1px solid #e3ebe8; border-radius: 12px; background: #fff; color: var(--erepair-black); font-family: var(--erepair-font-2); font-weight: 600; font-size: 16px; line-height: 1.3; transition: border-color .2s ease, transform .2s ease, color .2s ease; }
.gw-about__services a span { flex: 0 0 auto; color: var(--erepair-primary); font-size: 14px; }
.gw-about__services a:hover { border-color: var(--erepair-base); color: var(--erepair-base); transform: translateY(-2px); }
.gw-about__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 26px; }
.gw-about__address { display: inline-flex; align-items: center; gap: 10px; color: var(--erepair-gray); font-size: 15px; }
.gw-about__address span { color: var(--erepair-base); font-size: 18px; }
.gw-about__address:hover { color: var(--erepair-base); }
@media (max-width: 991px) {
    .gw-about { padding: 80px 0; }
    .gw-about__content { padding-left: 0; margin-top: 50px; }
}
@media (max-width: 575px) {
    .gw-about__media { padding: 0 30px 40px 0; }
    .gw-about__badge { left: 14px; bottom: 60px; padding: 12px 16px; }
    .gw-about__badge strong { font-size: 34px; }
    .gw-about__services { grid-template-columns: 1fr; }
}
body .gw-about .about-three__right { margin: 0; max-width: none; }
.gw-about .section-title-three__title { font-size: clamp(32px, 3.2vw, 48px); line-height: 1.15; }
@media (min-width: 1200px) { .gw-about__content { padding-left: 50px; } }

/* =========================================================================
   Shop page: filters on the left (desktop) / collapsible panel (mobile),
   3 products per row on desktop, 2 on tablet and phone.
   ========================================================================= */
body .gw-shop-sidebar { margin-left: 0; padding: 22px 22px 26px; }
@media (min-width: 992px) { body .gw-shop-sidebar { position: sticky; top: 110px; } }
.gw-shop-sidebar .shop-widget-single { margin-top: 26px; }
.gw-shop-sidebar .shop-widget-single .title h3 { font-size: 18px; }
.gw-shop-toolbar { flex-wrap: wrap; gap: 12px; margin-bottom: 26px; }
.gw-shop-toolbar .left-box p { margin: 0; }
.gw-shop-grid { --bs-gutter-x: 24px; }

/* tighter product cards inside the 3-column grid */
.gw-shop .shop-page-one-single { margin-bottom: 24px; }
.gw-shop .shop-page-one-single .content-box { padding: 20px 18px 22px; }
.gw-shop .shop-page-one-single .content-box .title h3 { font-size: 19px; line-height: 1.3; }

/* mobile filter button */
.gw-filter-toggle { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; margin-bottom: 14px; border: 1px solid #e3ebe8; border-radius: 12px; background: #fff; font-family: var(--erepair-font-2); font-weight: 700; font-size: 16px; color: var(--erepair-black); }
.gw-filter-toggle i { color: var(--erepair-base); margin-right: 8px; }
.gw-filter-toggle b { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; margin-left: 6px; padding: 0 6px; border-radius: 999px; background: var(--erepair-primary); color: #fff; font-size: 12px; }
.gw-filter-toggle__arrow { transition: transform .25s ease; margin: 0 !important; }
.gw-filter-toggle[aria-expanded="true"] .gw-filter-toggle__arrow { transform: rotate(180deg); }

@media (max-width: 991px) {
    body .gw-shop-sidebar { margin-bottom: 24px; box-shadow: none; border: 1px solid #e3ebe8; border-radius: 12px; }
    .gw-shop { padding-top: 50px; }
}

/* phones: 2 compact cards per row */
@media (max-width: 575px) {
    .gw-shop-grid { --bs-gutter-x: 12px; }
    .gw-shop .shop-page-one-single { margin-bottom: 12px; }
    .gw-shop .shop-page-one-single .overlay-icon { display: none; }
    .gw-shop .shop-page-one-single .content-box { padding: 12px 10px 14px; }
    .gw-shop .shop-page-one-single .content-box .title h3 { font-size: 15px; }
    .gw-shop .gw-card-cat { font-size: 10px; letter-spacing: .4px; margin-bottom: 4px; }
    .gw-shop .shop-page-one-single .content-box .bottom-box { flex-direction: column; align-items: stretch; gap: 8px; padding-top: 12px; }
    body .gw-shop .shop-page-one-single .content-box .bottom-box .btn-box { width: 100%; display: block; }
    body .gw-shop .shop-page-one-single .content-box .bottom-box .btn-box a { width: 100%; display: flex; justify-content: center; align-items: center; gap: 6px; padding: 8px 6px; border-radius: 8px; background: var(--gw-wa); color: #fff !important; font-size: 13px; }
    .gw-shop .shop-page-one-single .btn-box a i { color: #fff !important; }
    .gw-shop-toolbar { flex-direction: column; align-items: flex-start; }
    .gw-shop-toolbar .right-box { width: 100%; }
    .gw-shop-toolbar .right-box .select-box { flex: 1; }
}

/* Service cards: the whole card is the link; a quiet "Ver servicio →" instead of one orange button per card. */
.gw-service-card { position: relative; transition: transform .25s ease, box-shadow .25s ease; }
.gw-service-card__link::after { content: ""; position: absolute; inset: 0; z-index: 5; }
.gw-service-card:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(0, 0, 0, .13); }
.gw-service-card:hover .services-four__title a { color: var(--erepair-base); }
.gw-service-card .services-four__img img { transition: transform .5s ease; }
.gw-service-card:hover .services-four__img img { transform: scale(1.05); }
.gw-service-card__more { display: inline-flex; align-items: center; gap: 8px; padding-top: 14px; border-top: 1px solid #edf2f0; width: 100%; font-family: var(--erepair-font-2); font-weight: 700; font-size: 15px; letter-spacing: .3px; text-transform: uppercase; color: var(--erepair-primary); }
.gw-service-card__more .icon-arrow-right { font-size: 13px; transition: transform .25s ease; }
.gw-service-card:hover .gw-service-card__more .icon-arrow-right { transform: translateX(5px); }

/* =========================================================================
   Product card (gw-pcard): light photo frame, availability chip,
   left-aligned text, one full-width WhatsApp button.
   ========================================================================= */
.gw-shop-grid > [class*="col-"], .related-products-one .row > [class*="col-"] { margin-bottom: 24px; }
.gw-pcard { display: flex; flex-direction: column; width: 100%; background: #fff; border: 1px solid #e6edea; border-radius: 16px; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.gw-pcard:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(16, 40, 33, .10); border-color: #d4e3dd; }

.gw-pcard__media { position: relative; aspect-ratio: 1 / 1; background: #f3f7f5; }
.gw-pcard__img { display: block; width: 100%; height: 100%; overflow: hidden; }
.gw-pcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.gw-pcard:hover .gw-pcard__img img { transform: scale(1.06); }


.gw-pcard__zoom { position: absolute; top: 12px; right: 12px; width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #fff; color: var(--erepair-black); box-shadow: 0 2px 8px rgba(0, 0, 0, .10); opacity: 0; transform: scale(.85); transition: opacity .2s ease, transform .2s ease, background .2s ease, color .2s ease; }
.gw-pcard:hover .gw-pcard__zoom, .gw-pcard__zoom:focus-visible { opacity: 1; transform: scale(1); }
.gw-pcard__zoom:hover { background: var(--erepair-base); color: #fff; }

.gw-pcard__body { display: flex; flex-direction: column; flex: 1; padding: 18px 18px 18px; }
.gw-pcard__cat { font-size: 12px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: var(--erepair-base); margin-bottom: 6px; }
.gw-pcard__name { font-family: var(--erepair-font-2); font-size: 18px; font-weight: 700; line-height: 1.3; margin: 0 0 6px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gw-pcard__name a { color: var(--erepair-black); }
.gw-pcard__name a:hover { color: var(--erepair-base); }
.gw-pcard__code { font-size: 13px; color: #8a9793; margin-bottom: 16px; }

.gw-pcard__btn { margin-top: auto; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 12px; border: 1.5px solid var(--gw-wa); border-radius: 10px; color: var(--gw-wa); font-family: var(--erepair-font-2); font-weight: 700; font-size: 15px; transition: background .2s ease, color .2s ease; }
.gw-pcard__btn i { font-size: 18px; }
.gw-pcard__btn:hover, .gw-pcard__btn:focus-visible { background: var(--gw-wa); color: #fff; }

/* touch screens have no hover: show the zoom button always */
@media (hover: none) { .gw-pcard__zoom { opacity: 1; transform: none; } }


/* ---- Shop on phones: one filter bar + one product per row as a list item ---- */
.gw-mobile-bar { display: flex; gap: 10px; margin-bottom: 14px; }
.gw-mobile-bar .gw-filter-toggle { flex: 1; margin-bottom: 0; }
.gw-mobile-sort { flex: 0 0 46%; min-width: 0; padding: 0 34px 0 14px; border: 1px solid #e3ebe8; border-radius: 12px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%232AB97E' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center; -webkit-appearance: none; appearance: none; font-family: var(--erepair-font-2); font-weight: 700; font-size: 15px; color: var(--erepair-black); }
@media (max-width: 991px) {
    body .gw-shop-toolbar { margin-bottom: 14px; padding: 0; border: 0; min-height: 0; }
    .gw-shop-toolbar .left-box p { font-size: 14px; }
    .gw-shop { padding-top: 40px; }
}
@media (max-width: 575px) {
    .gw-shop-grid > [class*="col-"], .related-products-one .row > [class*="col-"] { flex: 0 0 100%; max-width: 100%; margin-bottom: 12px; }
    .gw-pcard { flex-direction: row; border-radius: 14px; }
    .gw-pcard:hover { transform: none; }
    .gw-pcard__media { flex: 0 0 136px; width: 136px; aspect-ratio: auto; min-height: 136px; align-self: stretch; }
    .gw-pcard__zoom { width: 30px; height: 30px; top: 6px; right: 6px; font-size: 12px; opacity: 1; transform: none; }
    .gw-pcard__body { padding: 12px 14px; min-width: 0; }
    .gw-pcard__cat { font-size: 10px; letter-spacing: .5px; margin-bottom: 4px; }
    .gw-pcard__name { font-size: 16px; margin-bottom: 2px; }
    .gw-pcard__code { font-size: 12px; margin-bottom: 10px; }
    .gw-pcard__btn { padding: 8px 10px; font-size: 14px; background: var(--gw-wa); color: #fff; }
    .gw-pcard__btn-long { display: none; }
}

/* ---- Cookie notice (bottom-right card on desktop, full-width on phones) ---- */
.gw-cookies { position: fixed; right: 22px; bottom: 22px; z-index: 99980; width: min(520px, calc(100vw - 44px)); display: grid; grid-template-columns: auto 1fr; gap: 14px 16px; padding: 20px 22px; background: #fff; border: 1px solid #e3ebe8; border-radius: 16px; box-shadow: 0 20px 50px rgba(15, 31, 27, .22); }
.gw-cookies[hidden] { display: none; }
.gw-cookies__icon { width: 46px; height: 46px; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: rgba(var(--erepair-primary-rgb), .12); color: var(--erepair-primary); font-size: 22px; }
.gw-cookies__text strong { display: block; font-family: var(--erepair-font-2); font-size: 18px; color: var(--erepair-black); margin-bottom: 4px; }
.gw-cookies__text p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--erepair-gray); }
.gw-cookies__text a { color: var(--erepair-base); font-weight: 600; text-decoration: underline; }
.gw-cookies__actions { grid-column: 1 / -1; display: flex; gap: 10px; justify-content: flex-end; }
.gw-cookies__btn { padding: 11px 22px; border-radius: 10px; border: 1.5px solid var(--erepair-base); background: var(--erepair-base); color: #fff; font-family: var(--erepair-font-2); font-weight: 700; font-size: 15px; cursor: pointer; }
.gw-cookies__btn--ghost { background: #fff; color: var(--erepair-black); border-color: #d6e0dc; }
.gw-cookies__btn:hover { filter: brightness(.95); }
@media (max-width: 575px) {
    .gw-cookies { left: 10px; right: 10px; bottom: 10px; width: auto; padding: 16px; gap: 10px 12px; }
    .gw-cookies__actions .gw-cookies__btn { flex: 1; }
}

/* footer legal links + policy page */
.gw-footer-legal { display: block; margin-top: 6px; font-size: 14px; }
.gw-footer-legal a { color: inherit; text-decoration: underline; opacity: .8; }
.gw-footer-legal a:hover { color: var(--erepair-base); opacity: 1; }
.gw-legal h3 { font-size: 24px; margin: 34px 0 12px; }
.gw-legal p, .gw-legal li { font-size: 17px; line-height: 1.75; color: var(--erepair-gray); }
.gw-legal ul { padding-left: 20px; }
.gw-legal a { color: var(--erepair-base); text-decoration: underline; }
.gw-legal__updated { font-size: 14px !important; }
.gw-legal__table { margin-top: 10px; font-size: 15px; }

/* Home "Soluciones industriales": product/service lines (visible text, good for SEO) */
.gw-lines { padding: 110px 0 120px; background: var(--erepair-extra); }
.gw-line { display: flex; gap: 18px; height: 100%; padding: 26px 24px; background: #fff; border: 1px solid #e3ebe8; border-radius: 16px; transition: border-color .2s ease, box-shadow .2s ease; }
.gw-line:hover { border-color: rgba(var(--erepair-base-rgb), .5); box-shadow: 0 14px 30px rgba(16, 40, 33, .08); }
.gw-line__icon { flex: 0 0 56px; height: 56px; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: rgba(var(--erepair-primary-rgb), .1); color: var(--erepair-primary); font-size: 28px; }
.gw-line__title { font-family: var(--erepair-font-2); font-weight: 700; font-size: 20px; line-height: 1.3; margin: 2px 0 8px; color: var(--erepair-black); }
.gw-line__text { margin: 0; font-size: 15px; line-height: 1.65; color: var(--erepair-gray); }
.gw-lines__area { max-width: 820px; margin: 44px auto 0; text-align: center; font-size: 17px; line-height: 1.7; color: var(--erepair-gray); }
.gw-lines__area strong { color: var(--erepair-black); }
.gw-home-products + .gw-lines + .counter-one { margin-top: 0; margin-bottom: 90px; }
.gw-lines + .counter-one { margin-top: 90px !important; }
@media (max-width: 767px) { .gw-lines { padding: 70px 0 80px; } .gw-lines + .counter-one { margin-top: 60px !important; } }

/* Page banner title is now an <h1> (SEO); same look as the template's <h3>. */
.page-header__inner .gw-page-title { font-size: 60px; color: var(--erepair-black); line-height: 70px; font-weight: 600; letter-spacing: -1.8px; margin-bottom: 15px; }
@media (max-width: 991px) { .page-header__inner .gw-page-title { font-size: 44px; line-height: 52px; } }
@media (max-width: 575px) { .page-header__inner .gw-page-title { font-size: 34px; line-height: 42px; letter-spacing: -1px; } }

/* Nosotros: misión/visión (una sola foto por bloque, sin insignia de cifras) */
.gw-mission-vision .gw-about__media { padding: 0; }
.gw-mission-quote { margin: 26px 0 0; padding: 22px 26px; border-left: 4px solid var(--erepair-primary); background: var(--erepair-extra); border-radius: 0 12px 12px 0; font-style: italic; font-size: 17px; line-height: 1.7; color: var(--erepair-black); }

/* Nosotros: objetivos corporativos (mismas tarjetas .gw-line del inicio) */
.gw-goals { padding: 100px 0 110px; background: var(--erepair-extra); }
@media (max-width: 767px) { .gw-goals { padding: 70px 0 80px; } }

/* Nosotros: preguntas frecuentes (mismo acordeón .faq-one__right, en dos columnas
   en vez de a todo el ancho, por eso usa el padding reducido de .faq-page) */
.gw-about-faq { padding: 100px 0 120px; }
.gw-about-faq .gw-faq-panel { margin-left: 0; padding: 30px 30px 30px; }
.gw-about-faq .faq-one-accrodion .accrodion { margin-top: 0; }
.gw-about-faq .faq-one-accrodion .accrodion + .accrodion { margin-top: 20px; }
@media (max-width: 767px) { .gw-about-faq { padding: 70px 0 80px; } .gw-about-faq .gw-faq-panel { padding: 20px; } }
