/* ============================================================
   Gallop Romania — stiluri custom (override peste tema)
   Editabil in clar; se incarca dupa style.min.css
   ============================================================ */

/* Pastreaza raportul de aspect dupa adaugarea width/height pe <img> (anti-CLS, anti-distorsiune) */
img{height:auto}

/* --- Reguli existente --- */
.iconuricai{color:dimgray;margin-right:7px}
.titlufacilitati{font-size:14px!important;padding-top:25px}
.notasubsol{font-size:12px;font-weight:400;color:rgb(240,100,0)}
.titluheadernegru{color:black!important;box-shadow:35px}

/* ============================================================
   1. HEADER COMPACT + STICKY
   ============================================================ */
.header-area.sticky-header{
    position:-webkit-sticky;
    position:sticky;
    top:0;
    z-index:1000;
    background:#fff;
    box-shadow:0 2px 10px rgba(0,0,0,.07);
    transition:box-shadow .3s ease, padding .3s ease;
}

/* Inaltime meniu redusa: tema seta line-height 167px (header urias) */
.header-large-device .menu-lh-3>nav>ul>li>a{line-height:72px}
.header-area.header-scrolled .menu-lh-3>nav>ul>li>a{line-height:58px}

/* Logo compact, cu raport de aspect corect (1920x461) */
.header-large-device .logo img{width:150px;height:auto;display:inline-block}
.header-area.header-scrolled .logo img{width:128px}

/* Meniu pe un singur rand: spatiere mai stransa + fara wrap */
.header-large-device .main-menu>nav>ul{white-space:nowrap}
.header-large-device .main-menu-padding-1>nav>ul>li{padding:0 16px}
@media (min-width:992px) and (max-width:1199px){
    .header-large-device .main-menu-padding-1>nav>ul>li{padding:0 10px}
    .header-large-device .main-menu>nav>ul>li>a{font-size:10px;letter-spacing:1px}
}

/* Iconite social in header, aliniate vertical cu meniul */
.header-large-device .header-right-wrap.header-right-flex{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
}
.header-large-device .social-icon-style a{margin-left:16px;font-size:15px}
.header-large-device .same-style-mrg-dec{margin-left:16px}

/* Header mobil mai subtire */
.header-small-device{padding:12px 0!important}
.mobile-logo.mobile-logo-width a img{width:120px;height:auto}

/* ============================================================
   2. HERO / SLIDER mai jos pe desktop
   ============================================================ */
@media (min-width:992px){
    .slider-height-3{height:600px}
}

/* ============================================================
   3. FOOTER COMPACT
   ============================================================ */
.footer-area .footer-top.pt-50{padding-top:32px}
.footer-area .footer-top.pb-50{padding-bottom:28px}
.footer-area.section-padding-1 .container-fluid{padding:0 40px}
.footer-botoom .copyright-ptb{padding:6px 0 8px}
.footer-menu{margin:12px 0 6px}

/* ============================================================
   4. BUTON WHATSAPP FLOTANT + APEL MOBIL
   ============================================================ */
.floating-actions{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:1200;
    display:flex;
    flex-direction:column;
    gap:12px;
}
.floating-actions a{
    width:54px;
    height:54px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:26px;
    box-shadow:0 4px 14px rgba(0,0,0,.25);
    transition:transform .2s ease, box-shadow .2s ease;
    text-decoration:none;
}
.floating-actions a:hover{transform:scale(1.08);box-shadow:0 6px 18px rgba(0,0,0,.3)}
.floating-actions .fab-whatsapp{background:#25D366}
.floating-actions .fab-call{background:#b8863b;display:none}

/* Pe mobil afisam si butonul de apel rapid */
@media (max-width:767px){
    .floating-actions .fab-call{display:flex}
    .floating-actions a{width:50px;height:50px;font-size:23px}
}

/* ============================================================
   5. GALERIE — cursor de zoom pe imaginile din lightbox
   ============================================================ */
.shop-instagram-wrap a[href]:not([href="#"]){cursor:zoom-in}

/* ============================================================
   6. FORMULAR — label-uri accesibile ascunse vizual
   ============================================================ */
.visually-hidden{
    position:absolute!important;
    width:1px;height:1px;
    padding:0;margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;border:0;
}

/* ============================================================
   7. HARTA CONTACT
   ============================================================ */
.contact-map iframe{
    width:100%;
    height:340px;
    border:0;
    border-radius:8px;
    display:block;
}

/* ============================================================
   8. AUDIT VIZUAL — runda 2
   ============================================================ */

/* --- P1: Hero lizibil (text alb + overlay intunecat) --- */
.slider-area .single-main-slider{position:relative}
.slider-area .single-main-slider::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(0,0,0,.60) 0%, rgba(0,0,0,.30) 55%, rgba(0,0,0,0) 100%);
    z-index:1;
    pointer-events:none;
}
.slider-area .single-main-slider .container{position:relative;z-index:2}
.slider-area .main-hero-content-1 h1{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.hero-tagline{
    color:#fff;
    font-size:19px;
    font-weight:400;
    margin:-30px 0 34px;
    max-width:540px;
    text-shadow:0 1px 10px rgba(0,0,0,.5);
}
.slider-area .coupoun-version-wrap a{color:#fff!important;opacity:.95;transition:color .25s}
.slider-area .coupoun-version-wrap a:hover{color:#ff6e21!important;opacity:1}

/* --- P1: Text de corp mai lizibil --- */
body{font-size:15px;line-height:26px}
p{font-size:15px;line-height:26px}
@media (max-width:767px){
    body,p{font-size:15px;line-height:25px}
    .hero-tagline{font-size:16px;margin:-18px 0 26px}
}

/* --- P2: Banner-ele paginilor de servicii — titlu vizibil + inaltime redusa --- */
/* Banner mai mic (tema seta 810px) */
@media (min-width:992px){
    .slider-area .slider-height-1{height:460px}
}
/* Overlay intunecat ca sa se citeasca titlul pe orice imagine */
.slider-area .single-main-slider.slider-height-1{position:relative}
.slider-area .single-main-slider.slider-height-1::before{
    content:"";position:absolute;inset:0;
    background:linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.30) 50%, rgba(0,0,0,.05) 100%);
    z-index:1;pointer-events:none;
}
.slider-area .single-main-slider.slider-height-1 .row{position:relative;z-index:2}
/* Titlu (caption) alb, lizibil */
.main-slider-content-1 h1,
.main-slider-content-1 span{color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.main-slider-content-1 h1{margin:3px 0 26px}

/* --- P2: Radio-uri in ton cu brand-ul (nu albastru) --- */
input[type="radio"],input[type="checkbox"]{accent-color:#ff6e21}

/* --- P2: Footer — elimina starea "activ" hardcodata pe HOME --- */
.footer-menu nav ul li a.active{color:inherit;border:0}

/* --- P2: Sistem de butoane unitar (hover consistent) --- */
.btn-style-2 a,.blog-btn-2 a,.slider-btn-2 a,.toggle-btn a,.loadmore{
    transition:all .25s ease;
}
.btn-style-2 a:hover,.blog-btn-2 a:hover,.toggle-btn a:hover,.loadmore:hover{
    background:#ff6e21;
    border-color:#ff6e21;
    color:#fff;
}

/* --- P3: Spatiere pagini de servicii (mai putin gol) --- */
.contact-us-area.pt-120{padding-top:70px}
.contact-us-area.pb-120{padding-bottom:70px}
.shop-area.pt-120,.shop-area.pt-115{padding-top:70px}
.shop-area.pb-120{padding-bottom:60px}

/* --- P3: Home — imaginea nu iese din ecran --- */
.feature-product-area .container-fluid{overflow:hidden}

/* --- P5: Hover premium pe carduri & galerie --- */
.shop-instagram-wrap{overflow:hidden;border-radius:6px}
.shop-instagram-wrap img{transition:transform .5s ease}
.shop-instagram-wrap:hover img{transform:scale(1.06)}
.blog-wrap-4 .blog-img-4 img,.single-collection-wrap img{transition:transform .5s ease}
.blog-wrap-4:hover .blog-img-4 img{transform:scale(1.04)}

/* --- P5: Galerie — semnal de zoom la hover --- */
.shop-instagram-wrap a.img-popup{position:relative;display:block}
.shop-instagram-wrap a.img-popup::after{
    content:"\f00e"; /* fa-search-plus */
    font-family:FontAwesome;
    position:absolute;inset:0;
    display:flex;align-items:center;justify-content:center;
    font-size:30px;color:#fff;
    background:rgba(0,0,0,.35);
    opacity:0;transition:opacity .3s ease;
}
.shop-instagram-wrap a.img-popup:hover::after{opacity:1}

/* ============================================================
   9. RAFINARE VIZUALĂ — august 2026
   ============================================================ */

/* --- Hero: fotografie în contralumină, nu bloc negru --- */
/* Vechiul overlay era 60% negru pe stânga si inghitea imaginea. Acum:
   un gradient cald dinspre stânga pentru text, plus unul discret de jos. */
.slider-area .single-main-slider::before{
    background:
        linear-gradient(90deg, rgba(26,18,10,.74) 0%, rgba(26,18,10,.48) 34%,
                        rgba(26,18,10,.10) 66%, rgba(26,18,10,0) 100%),
        linear-gradient(0deg, rgba(26,18,10,.38) 0%, rgba(26,18,10,0) 42%);
}

@media (min-width:992px){
    .slider-height-3{height:660px}
}

.slider-area .main-hero-content-1 h1{
    font-size:60px;
    line-height:1.08;
    letter-spacing:-.5px;
    text-shadow:0 3px 26px rgba(0,0,0,.55);
    margin-bottom:26px;
}
@media (max-width:991px){
    .slider-area .main-hero-content-1 h1{font-size:40px}
}
@media (max-width:575px){
    .slider-area .main-hero-content-1 h1{font-size:31px}
}

.hero-tagline{
    font-size:20px;
    line-height:1.55;
    margin:0 0 34px;
    max-width:520px;
    text-shadow:0 2px 16px rgba(0,0,0,.55);
}

/* --- Butoane: erau lipite („SUNAACUM") si plate --- */
.slider-btn-2 a,
.btn-style-2 a,
.blog-btn-2 a{
    letter-spacing:1.4px;
    word-spacing:5px;
}
.slider-area .slider-btn-2 a{
    border-radius:4px;
    box-shadow:0 10px 26px rgba(255,110,33,.32);
    transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease;
}
.slider-area .slider-btn-2 a:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 32px rgba(255,110,33,.42);
}

/* Link-urile secundare de sub buton: erau anemice */
.slider-area .coupoun-version-wrap a{
    font-size:15px;
    letter-spacing:.4px;
    border-bottom:1px solid rgba(255,255,255,.35);
    padding-bottom:2px;
}
.slider-area .coupoun-version-wrap a:hover{
    border-bottom-color:#ff6e21;
}

/* --- Butonul-hamburger din dreapta sus: erau trei bare negre groase --- */
.header-large-device .same-style-mrg-dec a,
.header-large-device .same-style a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:50%;
    border:1px solid rgba(43,38,33,.16);
    color:#2b2621;
    font-size:15px;
    line-height:1;
    transition:background-color .25s ease, border-color .25s ease, color .25s ease;
}
.header-large-device .same-style-mrg-dec a:hover,
.header-large-device .same-style a:hover{
    background:#ff6e21;
    border-color:#ff6e21;
    color:#fff;
}
.header-large-device .social-icon-style a{
    color:#7a736c;
    transition:color .25s ease;
}
.header-large-device .social-icon-style a:hover{color:#ff6e21}

/* --- Banda de titlu a paginilor interioare: era un gol gri --- */
.breadcrumb-area.breadcrumb-ptb-1{
    padding:74px 0 78px;
    background:linear-gradient(180deg, #faf7f1 0%, #f2ece2 100%);
    border-bottom:1px solid rgba(184,134,59,.18);
}
.breadcrumb-area .breadcrumb-title h1{
    font-size:44px;
    line-height:1.15;
    color:#2b2621;
    margin:0;
}
.breadcrumb-area .breadcrumb-title h1::after{
    content:"";
    display:block;
    width:56px;
    height:3px;
    margin:18px auto 0;
    background:#b8863b;
    border-radius:2px;
}
@media (max-width:767px){
    .breadcrumb-area.breadcrumb-ptb-1{padding:48px 0 52px}
    .breadcrumb-area .breadcrumb-title h1{font-size:30px}
}

/* --- Carduri de activitate: aveau prea mult aer si prea putina structura --- */
.single-service{
    padding:38px 26px 32px;
    border:1px solid rgba(43,38,33,.08);
    border-radius:8px;
    background:#fff;
    height:100%;
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.single-service:hover{
    transform:translateY(-4px);
    box-shadow:0 14px 32px rgba(43,38,33,.09);
    border-color:rgba(255,110,33,.28);
}
.single-service .service-content h4{
    margin:18px 0 10px;
    font-size:19px;
}
.single-service .service-content p{
    color:#6b655e;
    margin:0;
}

/* Incadrarea hero-ului: calul spre dreapta, ca titlul sa stea pe fundal linistit */
.slider-area .single-main-slider.slider-height-3{
    background-position:68% 42%;
}
@media (max-width:767px){
    .slider-area .single-main-slider.slider-height-3{background-position:72% center}
}

/* ============================================================
   10. FOOTER
   ============================================================ */
.gallop-footer{
    background:#221c16;
    color:#cfc7bd;
    padding:70px 0 0;
}
.gallop-footer a{color:#cfc7bd;transition:color .22s ease}
.gallop-footer a:hover{color:#ff8b4d}

.gallop-footer-col{margin-bottom:38px}

.gallop-footer-col h4{
    color:#fff;
    font-size:15px;
    letter-spacing:1.6px;
    text-transform:uppercase;
    margin:0 0 20px;
    padding-bottom:12px;
    position:relative;
}
.gallop-footer-col h4::after{
    content:"";
    position:absolute;
    left:0;bottom:0;
    width:34px;height:2px;
    background:#b8863b;
}

.gallop-footer-logo img{width:118px;height:auto;margin-bottom:18px}

.gallop-footer-intro{
    font-size:14px;
    line-height:1.75;
    color:#a49b91;
    margin:0 0 22px;
    max-width:330px;
}

.gallop-footer-social a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;height:38px;
    margin-right:8px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:50%;
    font-size:15px;
    transition:all .22s ease;
}
.gallop-footer-social a:hover{
    background:#ff6e21;
    border-color:#ff6e21;
    color:#fff;
    transform:translateY(-2px);
}

.gallop-footer-links{list-style:none;margin:0;padding:0}
.gallop-footer-links li{margin-bottom:11px}
.gallop-footer-links a{font-size:14.5px;line-height:1.5}

.gallop-footer-contact{list-style:none;margin:0 0 24px;padding:0}
.gallop-footer-contact li{
    display:flex;
    align-items:flex-start;
    gap:11px;
    margin-bottom:14px;
    font-size:14.5px;
    line-height:1.6;
}
.gallop-footer-contact i{
    color:#b8863b;
    font-size:15px;
    line-height:1.6;
    flex-shrink:0;
}

.gallop-footer-cta{
    display:inline-block;
    padding:12px 26px;
    background:#ff6e21;
    color:#fff !important;
    border-radius:4px;
    font-size:14px;
    font-weight:600;
    letter-spacing:.6px;
    transition:transform .22s ease, box-shadow .22s ease;
}
.gallop-footer-cta:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(255,110,33,.3);
    color:#fff !important;
}

.gallop-footer-bottom{
    border-top:1px solid rgba(255,255,255,.09);
    padding:22px 0 26px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.gallop-footer-bottom ul{
    list-style:none;margin:0;padding:0;
    display:flex;flex-wrap:wrap;gap:22px;
}
.gallop-footer-bottom a{font-size:13.5px}
.gallop-footer-bottom p{
    margin:0;
    font-size:13.5px;
    color:#8b827a;
}
@media (max-width:767px){
    .gallop-footer{padding-top:52px}
    .gallop-footer-bottom{flex-direction:column;align-items:flex-start}
    .gallop-footer-bottom ul{gap:16px}
}

/* Logo-ul din footer e inchis la culoare; pe fundal inchis dispărea. */
.gallop-footer-logo img{
    filter:brightness(0) invert(1);
    opacity:.92;
}

/* ============================================================
   11. BUTOANE — .btn-style-2 si .blog-btn-2 erau text simplu
   ============================================================ */
.btn-style-2 a,
.blog-btn-2 a{
    display:inline-block;
    padding:15px 38px;
    background:#ff6e21;
    color:#fff;
    border:1px solid #ff6e21;
    border-radius:4px;
    font-size:14px;
    font-weight:600;
    letter-spacing:1.2px;
    text-transform:uppercase;
    line-height:1;
    transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease;
}
.btn-style-2 a:hover,
.blog-btn-2 a:hover{
    background:#e85f14;
    border-color:#e85f14;
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(255,110,33,.28);
}

/* Varianta secundara, cu contur — pentru al doilea indemn dintr-o sectiune */
.btn-style-2.btn-outline a{
    background:transparent;
    color:#2b2621;
    border-color:rgba(43,38,33,.24);
}
.btn-style-2.btn-outline a:hover{
    background:#2b2621;
    border-color:#2b2621;
    color:#fff;
    box-shadow:0 10px 24px rgba(43,38,33,.2);
}

/* ============================================================
   12. PANOURILE LATERALE (off-canvas)
   Erau meniul implicit al temei: link-uri inghesuite, fara ierarhie.
   ============================================================ */
.gallop-aside .clickalbe-sidebar-wrap{
    background:#221c16;
    padding:38px 34px 34px;
}
.gallop-aside,
.gallop-aside p,
.gallop-aside span{color:#cfc7bd}

.gallop-aside .sidebar-close{
    position:absolute;
    top:22px;right:24px;
    width:38px;height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.18);
    border-radius:50%;
    color:#cfc7bd;
    font-size:13px;
    transition:all .22s ease;
}
.gallop-aside .sidebar-close:hover{
    background:#ff6e21;
    border-color:#ff6e21;
    color:#fff;
    transform:rotate(90deg);
}

.gallop-aside-logo{display:block;margin:6px 0 34px}
.gallop-aside-logo img{
    width:132px;height:auto;
    filter:brightness(0) invert(1);
    opacity:.92;
}

.gallop-aside nav ul{list-style:none;margin:0;padding:0}
.gallop-aside nav ul li{margin:0}
.gallop-aside nav ul li a{
    display:block;
    padding:13px 0;
    font-size:16px;
    letter-spacing:.3px;
    color:#e6e0d8;
    border-bottom:1px solid rgba(255,255,255,.07);
    transition:color .2s ease, padding-left .2s ease;
}
.gallop-aside nav ul li a:hover{
    color:#ff8b4d;
    padding-left:8px;
}

.gallop-aside-contact{margin:30px 0 26px}
.gallop-aside-contact ul{list-style:none;margin:0;padding:0}
.gallop-aside-contact li{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:14px;
    font-size:14.5px;
    line-height:1.6;
}
.gallop-aside-contact i{
    color:#b8863b;
    font-size:15px;
    line-height:1.6;
    flex-shrink:0;
}
.gallop-aside-contact a{color:#cfc7bd}
.gallop-aside-contact a:hover{color:#ff8b4d}

.gallop-aside-cta{
    display:block;
    text-align:center;
    padding:13px 20px;
    background:#ff6e21;
    color:#fff !important;
    border-radius:4px;
    font-size:14px;
    font-weight:600;
    letter-spacing:.6px;
    margin-bottom:26px;
    transition:background-color .22s ease;
}
.gallop-aside-cta:hover{background:#e85f14}

.gallop-aside-social a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;height:38px;
    margin-right:8px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:50%;
    color:#cfc7bd;
    font-size:15px;
    transition:all .22s ease;
}
.gallop-aside-social a:hover{
    background:#ff6e21;border-color:#ff6e21;color:#fff;
}

.gallop-aside .copyright p{
    margin:24px 0 0;
    font-size:13px;
    color:#8b827a;
}

/* ============================================================
   13. SPAȚIERE — cardurile erau lipite unele de altele
   ============================================================ */

/* Grilele Bootstrap ale temei nu au spatiu vertical intre randuri. */
.row > [class*="col-"] > .single-service,
.row > [class*="col-"] > .blog-wrap-4,
.row > [class*="col-"] > .shop-instagram-wrap{
    margin-bottom:30px;
}

/* Cardurile de activitate: distanta reala intre ele si inaltime egala */
.single-service{
    margin-bottom:30px;
    display:flex;
    flex-direction:column;
}
.single-service .service-content{flex:1}

/* Imaginea din card, cand exista */
.single-service .service-photo{
    margin:-38px -26px 24px;
    border-radius:8px 8px 0 0;
    overflow:hidden;
    aspect-ratio:4/3;
}
.single-service .service-photo img{
    width:100%;height:100%;
    object-fit:cover;
    transition:transform .5s ease;
}
.single-service:hover .service-photo img{transform:scale(1.05)}

/* Sectiunile aveau 120px sus si jos peste tot, indiferent de continut */
.service-area.pt-120,
.about-us-area.pt-120,
.shop-area.pt-120{padding-top:84px}
.service-area.pb-120,
.about-us-area.pb-120,
.shop-area.pb-120{padding-bottom:84px}
@media (max-width:767px){
    .service-area.pt-120,.about-us-area.pt-120,.shop-area.pt-120{padding-top:52px}
    .service-area.pb-120,.about-us-area.pb-120,.shop-area.pb-120{padding-bottom:52px}
}

/* Titlul de sectiune avea textul lipit de subtitlu */
.section-title-1-content h2{margin-bottom:14px}
.section-title-1-content > p{
    max-width:720px;
    margin:0 auto 18px;
    line-height:1.7;
}

/* Butonul final al paginilor: aer inainte si dupa */
.btn-style-2.mt-50,
.btn-style-2.text-center.mt-50{margin-top:44px}

/* ============================================================
   14. CARDURI (.blog-wrap-4) — erau blocuri lipite, fara contur
   ============================================================ */
.blog-wrap-4{
    background:#fff;
    border:1px solid rgba(43,38,33,.09);
    border-radius:10px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    margin-bottom:34px;
    transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

/* Inaltime egala DOAR in grile de carduri. Pe pagina principala doua carduri
   stau intr-o singura coloana lata; acolo height:100% le facea sa incerce sa
   ocupe inaltimea amandurora, iar paragraful se intindea sa umple golul. */
.col-xl-4 > .blog-wrap-4,
.col-lg-4 > .blog-wrap-4,
.col-md-6 > .blog-wrap-4,
.col-xl-3 > .blog-wrap-4,
.col-lg-3 > .blog-wrap-4{
    height:100%;
}
.blog-wrap-4:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 40px rgba(43,38,33,.11);
    border-color:rgba(255,110,33,.28);
}

.blog-wrap-4 .blog-img-4{
    margin:0;
    overflow:hidden;
    aspect-ratio:4/3;
    background:#f2ece2;
}
.blog-wrap-4 .blog-img-4 a{display:block;width:100%;height:100%}
.blog-wrap-4 .blog-img-4 img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .55s ease;
}
.blog-wrap-4:hover .blog-img-4 img{transform:scale(1.05)}

.blog-wrap-4 .blog-content-4{
    padding:26px 26px 28px;
    display:flex;
    flex-direction:column;
    flex:1;
}
.blog-wrap-4 .blog-content-4 h3{
    font-size:21px;
    line-height:1.3;
    margin:0 0 12px;
}
.blog-wrap-4 .blog-content-4 h3 a{color:#2b2621}
.blog-wrap-4 .blog-content-4 h3 a:hover{color:#ff6e21}

.blog-wrap-4 .blog-meta-4{margin:0 0 12px}
.blog-wrap-4 .blog-meta-4 ul{list-style:none;margin:0;padding:0}
.blog-wrap-4 .blog-meta-4 li{
    font-size:12.5px;
    letter-spacing:.6px;
    text-transform:uppercase;
    color:#9a938b;
}
.blog-wrap-4 .blog-meta-4 li i{color:#b8863b;margin-right:6px}

.blog-wrap-4 .blog-content-4 p{
    margin:0 0 22px;
    font-size:15px;
    line-height:1.7;
    color:#6b655e;
}
.col-xl-4 > .blog-wrap-4 .blog-content-4 p,
.col-lg-4 > .blog-wrap-4 .blog-content-4 p,
.col-md-6 > .blog-wrap-4 .blog-content-4 p{
    flex:1;
}
.blog-wrap-4 .blog-btn-2{margin-top:auto}
.blog-wrap-4 .blog-btn-2 a{
    padding:12px 26px;
    font-size:13px;
}

/* ============================================================
   15. SPAȚIERE GENERALĂ
   Tema pune 120px peste tot si zero intre elementele din grile.
   ============================================================ */

/* Randurile de grila au nevoie de spatiu vertical, nu doar orizontal */
.row{--gallop-gutter:30px}
.row > [class*="col-"]{margin-bottom:0}

/* Orice card din grila are aceeasi distanta pana la urmatorul */
.row > [class*="col-"] > .blog-wrap-4,
.row > [class*="col-"] > .single-service,
.row > [class*="col-"] > .single-collection-wrap{
    margin-bottom:var(--gallop-gutter);
}

/* Blocurile de text nu mai stau lipite de imagini */
.about-us-content > p{margin-bottom:18px}
.about-us-content > p:last-child{margin-bottom:0}
.about-us-content h2{margin-bottom:20px}
.about-us-img{margin-bottom:30px}

/* Titlurile de sectiune: aer inainte de continut */
.section-title-1-content{margin-bottom:46px}

/* Listele de informatii practice */
.aside-contact-info ul li{margin-bottom:12px}

/* Pe mobil totul se strange prea tare */
@media (max-width:767px){
    .row{--gallop-gutter:22px}
    .blog-wrap-4 .blog-content-4{padding:22px 20px 24px}
    .section-title-1-content{margin-bottom:32px}
}

/* ============================================================
   16. PANOUL LATERAL — sa incapa fara scroll
   Continutul depasea inaltimea unui laptop obisnuit, deci se derula
   tot panoul si butonul de contact ramanea sub linia de plutire.
   ============================================================ */
.gallop-aside .clickalbe-sidebar-wrap{
    display:flex;
    flex-direction:column;
    height:100%;
    padding:28px 30px 26px;
    overflow:hidden;
}
.gallop-aside .header-aside-content,
.gallop-aside .mobile-menu-content-area{
    display:flex;
    flex-direction:column;
    flex:1;
    min-height:0;
}

.gallop-aside-logo{margin:4px 0 20px;flex-shrink:0}
.gallop-aside-logo img{width:120px}

/* Doar lista de meniu se deruleaza, daca e nevoie. Restul ramane fix. */
.gallop-aside .header-aside-menu,
.gallop-aside .clickable-mainmenu-wrap{
    flex:1;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
}
.gallop-aside .header-aside-menu::-webkit-scrollbar,
.gallop-aside .clickable-mainmenu-wrap::-webkit-scrollbar{width:3px}
.gallop-aside .header-aside-menu::-webkit-scrollbar-thumb,
.gallop-aside .clickable-mainmenu-wrap::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.16);border-radius:2px;
}

.gallop-aside nav ul li a{padding:9px 0;font-size:15px}

.gallop-aside-contact{margin:18px 0 16px;flex-shrink:0}
.gallop-aside-contact li{
    margin-bottom:9px;
    font-size:13.5px;
    line-height:1.5;
    gap:10px;
}
.gallop-aside-contact i{font-size:14px;line-height:1.5}

.gallop-aside-cta{
    padding:12px 18px;
    margin-bottom:16px;
    font-size:13.5px;
    flex-shrink:0;
}
.gallop-aside-social{flex-shrink:0}
.gallop-aside-social a{width:34px;height:34px;font-size:14px;margin-right:7px}

/* Specificitate mai mare decat regula temei, altfel randurile raman late */
.gallop-aside .aside-contact-info ul li{
    margin-bottom:8px;
    font-size:13.5px;
    line-height:1.5;
}
.gallop-aside .aside-contact-info{margin:16px 0 14px}

/* Contactul din panou, compact: telefonul mare, programul dedesubt */
.gallop-aside-contact-line{
    flex-shrink:0;
    padding:16px 0 14px;
    border-top:1px solid rgba(255,255,255,.09);
    margin-top:14px;
}
.gallop-aside-contact-line a{
    display:block;
    font-size:19px;
    font-weight:600;
    letter-spacing:.4px;
    color:#fff;
    margin-bottom:3px;
}
.gallop-aside-contact-line a:hover{color:#ff8b4d}
.gallop-aside-contact-line span{
    display:block;
    font-size:13px;
    color:#8b827a;
}

/* Ultimul reglaj: cele 9 intrari sa incapa pe un laptop de 800px inaltime */
.gallop-aside nav ul li a{padding:7px 0;font-size:14.5px}
.gallop-aside-logo{margin:2px 0 14px}
.gallop-aside-logo img{width:110px}
.gallop-aside-contact-line{padding:13px 0 12px;margin-top:10px}
.gallop-aside-cta{margin-bottom:13px}

/* ============================================================
   17. SPAȚIERE — cauza reala a golurilor mari
   Imaginile veneau cu proportii mixte (unele verticale, 1600x2400).
   La latimea coloanei ajungeau la peste 1000px inaltime, textul se
   centra fata de ele si rezultau sute de pixeli de gol.
   ============================================================ */
.about-us-img{
    aspect-ratio:3/2;
    overflow:hidden;
    border-radius:8px;
    margin-bottom:0;
}

/* Portretele animalelor sunt fotografii VERTICALE (1600x2400). Un decupaj
   orizontal le-ar taia capul, deci pastreaza proportia lor. */
.about-us-img--portret{aspect-ratio:4/5}
@media (max-width:991px){
    .about-us-img--portret{aspect-ratio:3/4}
}
.about-us-img img,
.about-us-img a{
    display:block;
    width:100%;
    height:100%;
}
.about-us-img img{
    object-fit:cover;
    object-position:center;
}
@media (max-width:767px){
    .about-us-img{margin-bottom:28px}
}

/* Randurile pe doua coloane: aliniate pe centru, nu una scurta si una lunga */
.about-us-area .row{align-items:center}

/* Paddingurile temei erau amestecate: pt-120, pt-100, pt-70, pt-20, pb-40,
   pb-60, pb-120. Le aducem la un ritm consistent. */
.about-us-area.pt-120,.service-area.pt-120,.shop-area.pt-120{padding-top:80px}
.about-us-area.pb-120,.service-area.pb-120,.shop-area.pb-120{padding-bottom:80px}
.about-us-area.pt-100,.service-area.pt-100{padding-top:72px}
.about-us-area.pb-100,.service-area.pb-100{padding-bottom:72px}
.about-us-area.pt-70,.service-area.pt-70{padding-top:64px}
.about-us-area.pb-70,.service-area.pb-70{padding-bottom:64px}
.about-us-area.pt-60,.service-area.pt-60{padding-top:56px}
.about-us-area.pb-60,.service-area.pb-60{padding-bottom:56px}
.about-us-area.pt-40,.about-us-area.pb-40{padding-top:48px;padding-bottom:48px}
.about-us-area.pt-20{padding-top:24px}

/* Doua sectiuni albe una dupa alta nu au nevoie de padding dublu */
.about-us-area + .about-us-area{padding-top:0}
.about-us-area + .about-us-area.bg-gray{padding-top:64px}

@media (max-width:767px){
    .about-us-area[class*="pt-"],.service-area[class*="pt-"],.shop-area[class*="pt-"]{padding-top:44px}
    .about-us-area[class*="pb-"],.service-area[class*="pb-"],.shop-area[class*="pb-"]{padding-bottom:44px}
}

/* ============================================================
   18. SPAȚIUL DINTRE RÂNDURILE DE CARDURI
   Cardul avea height:100% (ca sa fie egale in rand) SI margin-bottom.
   Marginea ramanea in afara coloanei, deci intre randuri ramaneau 6px
   in loc de 30. Solutia: coloana devine ea container flex, iar spatiul
   se ia din interiorul ei — asa raman si egale, si distantate.
   ============================================================ */
.row > [class*="col-"]:has(> .single-service),
.row > [class*="col-"]:has(> .blog-wrap-4),
.row > [class*="col-"]:has(> .single-collection-wrap){
    display:flex;
    flex-direction:column;
    padding-bottom:30px;
}
.row > [class*="col-"] > .single-service,
.row > [class*="col-"] > .blog-wrap-4,
.row > [class*="col-"] > .single-collection-wrap{
    flex:1;
    margin-bottom:0;
}

/* Rezerva pentru browsere fara :has() — spatiu garantat, chiar daca
   inaltimile nu mai sunt perfect egale. */
@supports not selector(:has(*)){
    .row > [class*="col-"] > .single-service,
    .row > [class*="col-"] > .blog-wrap-4{
        height:auto;
        margin-bottom:30px;
    }
}

@media (max-width:767px){
    .row > [class*="col-"]:has(> .single-service),
    .row > [class*="col-"]:has(> .blog-wrap-4),
    .row > [class*="col-"]:has(> .single-collection-wrap){
        padding-bottom:22px;
    }
}

/* ============================================================
   19. GALERIE — filtre proprii
   Filtrele foloseau clasa .loadmore a temei, iar main.js face
   preventDefault pe ea; imaginile aveau .toggle-item-active, pe care
   aceeasi functie o folosea ca sa ascunda tot in afara primelor 8.
   Acum galeria are clasele ei si nu mai depinde de JS-ul temei.
   ============================================================ */
.gallop-filtre{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
}
.gallop-filtru{
    display:inline-block;
    padding:11px 24px;
    border:1px solid rgba(43,38,33,.16);
    border-radius:100px;
    font-size:13px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
    color:#2b2621;
    background:#fff;
    line-height:1;
    transition:background-color .2s ease, border-color .2s ease, color .2s ease;
}
.gallop-filtru:hover{
    border-color:#ff6e21;
    color:#ff6e21;
}
.gallop-filtru.is-activ{
    background:#ff6e21;
    border-color:#ff6e21;
    color:#fff;
}
@media (max-width:575px){
    .gallop-filtru{padding:9px 16px;font-size:12px;letter-spacing:.6px}
    .gallop-filtre{gap:8px}
}

/* Fotografiile raman vizibile: nu mai poarta clasa pe care o ascundea tema */
.gallop-poza{display:block}

/* ============================================================
   20. REPARAȚII: carduri frați, mobil, butoane flotante
   ============================================================ */

/* Doua carduri in ACEEASI coloana (pagina principala): spatiul dintre ele
   nu poate veni din paddingul coloanei, care se aplica o singura data. */
.blog-wrap-4 + .blog-wrap-4,
.single-service + .single-service{
    margin-top:34px;
}

/* Plase de siguranta pentru latime. NU punem overflow-x:hidden pe html/body:
   ar strica position:sticky, iar header-ul e sticky. Verificat la 390x844 ca
   nu exista overflow orizontal real. */
img, video, iframe, table{max-width:100%}
:where(p, h1, h2, h3, h4, li){overflow-wrap:break-word}

/* owl-carousel.css contine direction:rtl, iar tema pune direction:inherit pe
   blocul de text la sub 768px — asa ajungea punctul la inceputul randului
   („.personal" in loc de „personal."). Site-ul e in romana, deci ltr. */
.collection-content-wrap,
.collection-content,
.collection-content *{
    direction:ltr;
    unicode-bidi:isolate;
}

/* Butoanele flotante acopereau ultimul rand de continut pe mobil */
@media (max-width:767px){
    body{padding-bottom:86px}
    .gallop-footer .gallop-footer-bottom{padding-bottom:12px}
}

/* Tabelul de tarife: pe mobil pretul se suprapunea peste descriere si
   iesea din ecran. Trece sub denumire, aliniat la stanga. */
@media (max-width:575px){
    .your-order-middle ul li,
    .your-order-info ul li{
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:2px;
    }
    .your-order-middle ul li span,
    .your-order-info ul li span{
        position:static !important;
        float:none !important;
        text-align:left !important;
        font-weight:600;
        color:#ff6e21;
    }
}

/* ============================================================
   21. BANDA DE TITLU — unificata, mai ingusta, cu firul Ariadnei
   Era duplicata in 16 pagini si arata altfel de la una la alta:
   220px de gradient gol, fara nicio orientare pentru vizitator.
   ============================================================ */
.gallop-titlu{
    padding:46px 0 44px;
    background:linear-gradient(180deg,#faf7f1 0%,#f4eee4 100%);
    border-bottom:1px solid rgba(184,134,59,.2);
    text-align:center;
}
.gallop-titlu h1{
    margin:10px 0 0;
    font-size:40px;
    line-height:1.15;
    color:#2b2621;
}

.gallop-fir ol{
    list-style:none;
    margin:0;padding:0;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
    font-size:13px;
    letter-spacing:.4px;
    color:#8b827a;
}
.gallop-fir li{display:flex;align-items:center;gap:8px}
.gallop-fir li + li::before{
    content:"›";
    color:#b8863b;
    font-size:15px;
    line-height:1;
}
.gallop-fir a{color:#8b827a}
.gallop-fir a:hover{color:#ff6e21}
.gallop-fir li[aria-current]{color:#2b2621;font-weight:600}

@media (max-width:767px){
    .gallop-titlu{padding:30px 0 30px}
    .gallop-titlu h1{font-size:27px}
    .gallop-fir ol{font-size:12px;gap:6px}
}

/* Vechea banda nu mai e folosita nicaieri */
.breadcrumb-area{display:none}

/* ============================================================
   22. MENIU — spatiere egala si text mai lizibil
   Tema folosea padding pe <li>, deci distanta dintre link-uri varia
   dupa lungimea cuvantului. Acum e o grila cu spatiu constant.
   ============================================================ */
.header-large-device .main-menu > nav > ul{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:34px;
    white-space:nowrap;
}
.header-large-device .main-menu-padding-1 > nav > ul > li{
    padding:0;
    margin:0;
}
.header-large-device .main-menu > nav > ul > li > a{
    font-size:14px;
    letter-spacing:1.4px;
    font-weight:600;
}
@media (min-width:992px) and (max-width:1299px){
    .header-large-device .main-menu > nav > ul{gap:22px}
    .header-large-device .main-menu > nav > ul > li > a{font-size:12.5px;letter-spacing:.9px}
}
@media (min-width:1300px){
    .header-large-device .main-menu > nav > ul{gap:38px}
    .header-large-device .main-menu > nav > ul > li > a{font-size:14.5px}
}

/* Submeniurile: aliniate sub parinte, nu decalate */
.header-large-device .main-menu > nav > ul > li > ul.sub-menu-width{
    left:50%;
    transform:translateX(-50%);
}

/* ============================================================
   23. HERO — descriere mai ampla, fara link-urile de dedesubt
   ============================================================ */
.hero-tagline{
    font-size:18px;
    line-height:1.65;
    max-width:600px;
    margin:0 0 32px;
}
@media (min-width:1200px){
    .hero-tagline{font-size:19px;max-width:640px}
}
@media (max-width:767px){
    .hero-tagline{font-size:16px;line-height:1.6;margin-bottom:26px}
}

/* ============================================================
   24. CONTACT — banda de sub harta
   Era o sectiune de 150px sus si jos, cu imagine de fundal pe tot
   ecranul si doua citate de cate un rand intr-un carusel.
   ============================================================ */
.gallop-contact-rapid{
    padding:0 0 76px;
}
.gallop-contact-rapid-inner{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    padding:34px 38px;
    background:#faf7f1;
    border:1px solid rgba(184,134,59,.22);
    border-radius:10px;
}
.gallop-contact-rapid h2{
    font-size:25px;
    margin:0 0 8px;
}
.gallop-contact-rapid p{
    margin:0;
    max-width:520px;
    font-size:15px;
    line-height:1.7;
    color:#6b655e;
}
.gallop-contact-rapid-actiuni{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}
.gallop-contact-rapid-tel,
.gallop-contact-rapid-wa{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:14px 26px;
    border-radius:6px;
    font-size:15px;
    font-weight:600;
    line-height:1;
    transition:transform .2s ease, box-shadow .2s ease;
}
.gallop-contact-rapid-tel{background:#ff6e21;color:#fff}
.gallop-contact-rapid-wa{background:#25D366;color:#fff}
.gallop-contact-rapid-tel:hover,
.gallop-contact-rapid-wa:hover{
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(43,38,33,.16);
}
@media (max-width:767px){
    .gallop-contact-rapid{padding-bottom:48px}
    .gallop-contact-rapid-inner{padding:26px 22px}
    .gallop-contact-rapid h2{font-size:21px}
    .gallop-contact-rapid-actiuni{width:100%}
    .gallop-contact-rapid-tel,
    .gallop-contact-rapid-wa{flex:1;justify-content:center}
}

/* ============================================================
   25. BLOCUL DE INTRO CU DOUA COLOANE
   Poza statea centrata pe verticala intr-o coloana mult mai inalta
   decat ea, cu 200px de gol deasupra si dedesubt. Coloanele devin
   egale ca inaltime si poza umple spatiul.
   ============================================================ */
.gallop-intro{
    align-items:stretch;
}
.gallop-intro > [class*="col-"]{
    display:flex;
    /* Fara asta poza ramane centrata pe verticala in coloana si golul
       se muta doar deasupra si dedesubtul ei. */
    align-items:stretch;
}
.gallop-intro .about-us-img{
    /* Proportia 3/2 de mai sus lasa poza la ~420px langa o coloana de text
       de ~660px, adica 200px de gol deasupra si dedesubt. Aici trecem pe o
       proportie verticala, apropiata de inaltimea textului; decupajul il
       face object-fit, deci nu se deformeaza nimic. */
    aspect-ratio:5/6;
    width:100%;
}
.gallop-intro .about-us-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:8px;
}
.gallop-intro .about-us-content{
    padding-top:0;
    padding-bottom:0;
}
.gallop-intro .about-us-content h2{
    font-size:36px;
    line-height:1.25;
    text-wrap:balance;
}
@media (max-width:991px){
    .gallop-intro > [class*="col-"]{display:block}
    .gallop-intro .about-us-img{aspect-ratio:3/2;margin-bottom:34px}
    .gallop-intro .about-us-content h2{font-size:30px}
}

/* ============================================================
   26. CARDUL DE LISTARE (partials/card.blade.php)
   ============================================================ */
.gallop-grila > [class*="col-"]{
    display:flex;
    padding-bottom:34px;
}
.gallop-card{
    position:relative;
    display:flex;
    flex-direction:column;
    flex:1;
    background:#fff;
    border:1px solid rgba(43,38,33,.09);
    border-radius:10px;
    overflow:hidden;
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.gallop-card:hover{
    transform:translateY(-4px);
    border-color:rgba(184,134,59,.35);
    box-shadow:0 16px 34px rgba(43,38,33,.12);
}
.gallop-card-media{
    display:block;
    overflow:hidden;
    background:#f2efe9;
}
.gallop-card-media img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    transition:transform .5s ease;
}
.gallop-card:hover .gallop-card-media img{
    transform:scale(1.05);
}
/* Iconita activitatii, asezata peste coltul pozei. Pe /evenimente nu se
   trimite nicio iconita, deci elementul nici nu exista. */
.gallop-card-cap{
    position:relative;
}
.gallop-card--cu-iconita .gallop-card-corp{
    padding-top:44px;
}
.gallop-card-iconita{
    position:absolute;
    left:26px;
    bottom:-26px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    margin-top:-26px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 6px 16px rgba(43,38,33,.14);
    color:#B8863B;
    font-size:20px;
    z-index:2;
}
.gallop-card-media{
    line-height:0;
}
.gallop-card-corp{
    display:flex;
    flex-direction:column;
    flex:1;
    padding:30px 26px 26px;
}
.gallop-card-corp h3{
    font-size:21px;
    line-height:1.35;
    margin:0 0 12px;
}
.gallop-card-corp h3 a{
    color:#2b2621;
}
.gallop-card:hover .gallop-card-corp h3 a{
    color:#ff6e21;
}
/* Tot cardul devine zona de click, nu doar butonul. */
.gallop-card-corp h3 a::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
}
.gallop-card-corp p{
    flex:1;
    margin:0 0 18px;
    font-size:15px;
    line-height:1.75;
    color:#6b655e;
}
.gallop-card-link{
    display:inline-flex;
    align-items:center;
    gap:9px;
    font-size:14px;
    font-weight:600;
    letter-spacing:.4px;
    text-transform:uppercase;
    color:#ff6e21;
}
.gallop-card-link i{
    font-size:12px;
    transition:transform .25s ease;
}
.gallop-card:hover .gallop-card-link i{
    transform:translateX(5px);
}
.gallop-card:focus-within{
    border-color:#ff6e21;
    box-shadow:0 0 0 3px rgba(255,110,33,.22);
}
@media (max-width:575px){
    .gallop-card-corp{padding:28px 22px 24px}
}

/* Titlurile de sectiune care sunt si legaturi (blocurile de pe homepage) */
.about-us-content h2 a{color:inherit}
.about-us-content h2 a:hover{color:#ff6e21}

/* ============================================================
   27. FOCUS VIZIBIL
   Cuvantul "focus-visible" nu aparea nicaieri in foile de stil ale temei:
   cine navigheaza cu tastatura nu vedea unde se afla. Folosim :focus-visible,
   nu :focus, ca sa nu apara conturul si la click cu mausul.

   !important e obligatoriu: tema are `*:focus{outline:none!important}`, care
   altfel anuleaza toate regulile de mai jos.
   ============================================================ */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible{
    outline:3px solid #ff6e21 !important;
    outline-offset:3px;
    border-radius:3px;
}
/* Pe fundal inchis (subsol, hero) portocaliul se pierde. */
footer a:focus-visible,
.hero-content a:focus-visible,
.floating-actions a:focus-visible{
    outline-color:#fff !important;
}
/* Campurile de formular au deja chenar propriu; nu dublam cu offset. */
.contact-form input:focus-visible,
.contact-form textarea:focus-visible,
.contact-form select:focus-visible{
    outline-offset:0;
}

/* ============================================================
   28. BUTOANELE FLOTANTE — spatiu sub ultimul continut
   Pe mobil stau fixate peste ultimul rand din subsol.
   ============================================================ */
@media (max-width:767px){
    .floating-actions{right:14px;bottom:14px;gap:10px}
    .floating-actions a{width:50px;height:50px;font-size:24px}
    .gallop-footer-bottom{padding-bottom:76px}
}

/* ============================================================
   29. O SINGURA IERARHIE TIPOGRAFICA
   Tema incarca cinci familii. Doua chiar se folosesc in afara de Poppins:
   Rufina pe titlul din hero si pe butonul de acolo, Playfair pe titlurile
   cardurilor si pe citat. Pastram serif-ul doar ca accent de brand — titlul
   mare si citatul — si trecem restul pe Poppins, ca tot ce e interfata sa
   arate la fel.
   ============================================================ */
/* Butonul din hero era singurul buton cu serif din tot site-ul. */
.slider-btn-2 a{
    font-family:"Poppins",sans-serif;
    letter-spacing:.5px;
}
/* Titlurile cardurilor: serif aici, sans in .gallop-card si in titlurile de
   sectiune. Le aliniem pe toate. */
.blog-wrap-4 .blog-content-4 h3{
    font-family:"Poppins",sans-serif;
}

/* ============================================================
   30. UN SINGUR SISTEM DE BUTOANE
   Tema avea patru familii cu comportamente diferite. Cea mai vizibila
   nepotrivire: butonul de trimitere al formularului era NEGRU cu hover
   portocaliu, exact invers fata de toate celelalte butoane din site
   (portocaliu, cu hover inchis). Le aducem pe toate la aceeasi regula:
   fundal portocaliu, hover inchis, aceleasi colturi si acelasi ritm de text.
   ============================================================ */
.btn-style-2 a,
.blog-btn-2 a,
.slider-btn-1 a,
.slider-btn-2 a,
.Place-order a,
button.submit{
    border-radius:6px;
    letter-spacing:.6px;
    transition:background-color .25s ease, color .25s ease, transform .2s ease, box-shadow .2s ease;
}
.btn-style-2 a:hover,
.blog-btn-2 a:hover,
.slider-btn-1 a:hover,
.slider-btn-2 a:hover,
.Place-order a:hover,
button.submit:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(43,38,33,.18);
}
/* Regula temei e .contact-form-area button.submit, deci o egalam. */
.contact-form-area button.submit{
    background-color:#ff6e21;
    padding:16px 46px;
    text-transform:uppercase;
    font-size:14px;
    font-weight:600;
}
.contact-form-area button.submit:hover{
    background-color:#2b2621;
    color:#fff;
}
/* Varianta secundara, conturata, ramane conturata si dupa unificare. */
.btn-style-2.btn-outline a{
    background-color:transparent;
    border:2px solid #ff6e21;
    color:#ff6e21;
}
.btn-style-2.btn-outline a:hover{
    background-color:#ff6e21;
    color:#fff;
}

/* Butonul .Place-order era stilizat in tema doar sub .your-order-area. Pe
   /tarife si pe paginile legale sta in afara acelui bloc, deci se afisa ca
   text simplu: butoane invizibile. Il definim independent de parinte. */
.Place-order a{
    display:block;
    width:100%;
    padding:16px 50px 17px;
    background-color:#ff6e21;
    color:#fff;
    font-size:14px;
    font-weight:600;
    text-transform:uppercase;
    text-align:center;
    cursor:pointer;
}
.Place-order a:hover{
    background-color:#2b2621;
    color:#fff;
}

/* ============================================================
   31. FORMULARE — validare vizibila cat timp completezi
   :user-invalid e nativ: coloreaza campul abia dupa ce utilizatorul a
   interactionat cu el, nu din prima secunda ca :invalid. Fara JavaScript.
   ============================================================ */
.contact-form-area input:user-invalid,
.contact-form-area textarea:user-invalid{
    border-color:#c0392b;
    background-color:#fdf6f5;
}
.contact-form-area input:user-valid,
.contact-form-area textarea:user-valid{
    border-color:#5a9367;
}

/* ============================================================
   32. PAGINA DE MULTUMIRE
   ============================================================ */
.gallop-multumim-bifa{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:76px;
    height:76px;
    margin-bottom:26px;
    border-radius:50%;
    background:#eef6ef;
    color:#5a9367;
    font-size:32px;
}
.gallop-multumim h2{
    font-size:34px;
    margin-bottom:18px;
}
.gallop-multumim > p{
    max-width:640px;
    margin:0 auto 34px;
    font-size:16px;
    line-height:1.8;
}
.gallop-multumim-actiuni{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
    margin-bottom:46px;
}
.gallop-multumim-tel,
.gallop-multumim-wa{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:15px 30px;
    border-radius:6px;
    color:#fff;
    font-size:15px;
    font-weight:600;
    line-height:1;
    transition:transform .2s ease, box-shadow .2s ease;
}
.gallop-multumim-tel{background:#ff6e21}
.gallop-multumim-wa{background:#25D366}
.gallop-multumim-tel:hover,
.gallop-multumim-wa:hover{
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(43,38,33,.16);
}
.gallop-multumim-legaturi{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px 28px;
    margin-top:14px;
}
.gallop-multumim-legaturi a{
    font-size:15px;
    font-weight:600;
    color:#B8863B;
    border-bottom:1px solid rgba(184,134,59,.4);
    padding-bottom:2px;
}
.gallop-multumim-legaturi a:hover{color:#ff6e21;border-bottom-color:#ff6e21}
@media (max-width:575px){
    .gallop-multumim h2{font-size:27px}
    .gallop-multumim-actiuni{width:100%}
    .gallop-multumim-tel,
    .gallop-multumim-wa{flex:1;justify-content:center}
}
.gallop-multumim-punte{
    margin-bottom:6px;
    font-size:15px;
    color:#6b655e;
}

/* Fotografia mare de pe paginile de detaliu sta intr-un .blog-wrap-4 care nu
   contine si .blog-content-4. Cardul ii pune fundal alb, contur si colturi,
   asa ca sub imagine ramanea o banda alba goala, cu chenar. Fara continut,
   nu e card — e doar o poza. */
.blog-wrap-4:not(:has(.blog-content-4)){
    background:transparent;
    border:0;
    box-shadow:none;
}
.blog-wrap-4:not(:has(.blog-content-4)) .blog-img-4{
    border-radius:10px;
    overflow:hidden;
    line-height:0;
}

/* Legatura "sari la continut": ascunsa pana primeste focus de la tastatura. */
.gallop-sari{
    position:absolute;
    top:-100px;
    left:16px;
    z-index:2000;
    padding:12px 22px;
    background:#ff6e21;
    color:#fff;
    font-size:15px;
    font-weight:600;
    border-radius:0 0 6px 6px;
    transition:top .2s ease;
}
.gallop-sari:focus{
    top:0;
    color:#fff;
}
/* <main> nu trebuie sa arate conturul cand primeste focus programatic. */
main#continut:focus{outline:none}

/* Categorie de galerie fara fotografii publicate. */
.gallop-galerie-goala{
    max-width:560px;
    margin:40px auto 60px;
}
.gallop-galerie-goala p{
    font-size:16px;
    line-height:1.8;
    color:#6b655e;
}
.gallop-galerie-goala-actiuni{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
    margin-top:22px;
}
.gallop-galerie-goala-actiuni a{
    padding:13px 26px;
    border-radius:6px;
    font-size:14px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.5px;
}
.gallop-galerie-goala-actiuni a:first-child{background:#ff6e21;color:#fff}
.gallop-galerie-goala-actiuni a:last-child{border:2px solid #ff6e21;color:#ff6e21}

/* Legendele de sub fotografii. Foloseau .notasubsol, care e portocaliu si e
   rezervat avertismentelor ("* Tarifele se confirma la rezervare"). */
.gallop-legenda{
    margin-top:10px;
    font-size:13px;
    font-style:italic;
    color:#8a847c;
}

/* Notele lungi din tabelul de tarife stau dupa un element cu float:right;
   pe ecran ingust textul putea depasi marginea. */
@media (max-width:767px){
    .your-order-area .your-order-wrap .your-order-middle ul li{
        clear:both;
        overflow-wrap:break-word;
    }
}

/* ============================================================
   BANNERUL DE COOKIE-URI
   Apare doar daca exista un cod de Analytics configurat in panou.
   ============================================================ */
.gallop-cookie{
    position:fixed;
    left:16px;
    right:16px;
    bottom:16px;
    z-index:1400;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    max-width:900px;
    margin:0 auto;
    padding:20px 24px;
    background:#fff;
    border:1px solid rgba(43,38,33,.12);
    border-radius:10px;
    box-shadow:0 14px 40px rgba(43,38,33,.18);
}
.gallop-cookie[hidden]{display:none}
.gallop-cookie-text p{
    margin:0;
    font-size:14px;
    line-height:1.7;
    color:#6b655e;
}
.gallop-cookie-text p:first-child{
    margin-bottom:4px;
    color:#2b2621;
}
.gallop-cookie-text a{
    color:#B8863B;
    border-bottom:1px solid rgba(184,134,59,.4);
}
.gallop-cookie-actiuni{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.gallop-cookie-da,
.gallop-cookie-nu{
    padding:12px 24px;
    border:0;
    border-radius:6px;
    font-size:14px;
    font-weight:600;
    line-height:1;
    cursor:pointer;
}
.gallop-cookie-da{background:#ff6e21;color:#fff}
.gallop-cookie-nu{background:transparent;border:1px solid rgba(43,38,33,.22);color:#6b655e}
.gallop-cookie-da:hover{background:#2b2621}
.gallop-cookie-nu:hover{border-color:#2b2621;color:#2b2621}
/* Butoanele flotante stau in acelasi colt; clasa e pusa de scriptul din
   partials/analitice.blade.php cat timp bannerul e afisat. */
body.cu-banner-cookie .floating-actions{bottom:150px}
@media (max-width:767px){
    .gallop-cookie{left:10px;right:10px;bottom:10px;padding:18px 18px}
    .gallop-cookie-actiuni{width:100%}
    .gallop-cookie-da,
    .gallop-cookie-nu{flex:1;text-align:center}
}

/* ============================================================
   33. REZERVARE ONLINE
   Fluxul public de rezervare (/rezervare), in doi pasi randati de
   server. Fara JavaScript: orele libere sunt butoane radio, iar
   starea de "ales" vine din :checked, nu dintr-o clasa adaugata.
   ============================================================ */
.gallop-rezervare h2{
    font-size:24px;
    margin-bottom:8px;
}
.gallop-rezervare label{
    display:block;
    margin-bottom:8px;
    font-size:14px;
    font-weight:600;
    color:#3f3a34;
}
.gallop-rezervare-intro{
    margin-bottom:22px;
    font-size:15px;
    line-height:1.75;
    color:#7d766e;
}
.gallop-rezervare-pas{
    margin-bottom:10px;
}
.gallop-rezervare-pas2{
    margin-top:46px;
    padding-top:34px;
    border-top:1px solid #e8e2d9;
}
.gallop-rezervare-ales{
    margin-bottom:22px;
    padding:14px 18px;
    background:#fbf7f1;
    border-left:3px solid #ff6e21;
    border-radius:0 6px 6px 0;
    font-size:15px;
    line-height:1.7;
    color:#57514a;
}
.gallop-rezervare-camp{
    margin-bottom:26px;
}
.gallop-rezervare-camp legend{
    float:none;
    width:auto;
    margin-bottom:10px;
    font-size:14px;
    font-weight:600;
    color:#3f3a34;
}

/* Orele libere: o grila de butoane radio. Fiecare arata cate locuri
   mai are, ca vizitatorul sa stie din start daca incape tot grupul. */
.gallop-rezervare-ore{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(104px, 1fr));
    gap:10px;
}
.gallop-rezervare-ora{
    margin:0 !important;
    font-weight:400 !important;
}
/* Radioul ramane in pagina pentru tastatura si cititoarele de ecran,
   dar nu se vede: eticheta lui e tot butonul. */
.gallop-rezervare-ora input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
}
.gallop-rezervare-ora span{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2px;
    padding:11px 6px;
    border:2px solid #e2dbd1;
    border-radius:6px;
    background:#fff;
    cursor:pointer;
    transition:border-color .18s ease, background .18s ease;
}
.gallop-rezervare-ora span strong{
    font-size:17px;
    color:#3f3a34;
}
.gallop-rezervare-ora span small{
    font-size:11.5px;
    color:#8a8279;
}
.gallop-rezervare-ora:hover span{
    border-color:#ff6e21;
}
.gallop-rezervare-ora input:focus-visible + span{
    outline:2px solid #ff6e21;
    outline-offset:2px;
}
.gallop-rezervare-ora input:checked + span{
    border-color:#ff6e21;
    background:#fff3ec;
}
.gallop-rezervare-ora input:checked + span strong{
    color:#ff6e21;
}

.gallop-rezervare-nota{
    margin-top:10px;
    font-size:13.5px;
    line-height:1.7;
    color:#7d766e;
}
.gallop-rezervare-gol{
    padding:16px 18px;
    background:#fbf7f1;
    border-radius:6px;
    font-size:15px;
    line-height:1.7;
    color:#57514a;
}
.gallop-rezervare-erori{
    margin-bottom:22px;
    padding:14px 18px 14px 36px;
    background:#fdf6f5;
    border-left:3px solid #c0392b;
    border-radius:0 6px 6px 0;
    font-size:14.5px;
    line-height:1.7;
    color:#8c3226;
}
.gallop-rezervare-pasi{
    margin:0;
    padding-left:20px;
}
.gallop-rezervare-pasi li{
    margin-bottom:10px;
    font-size:14.5px;
    line-height:1.7;
    color:#57514a;
}

/* Pagina de confirmare: codul rezervarii si sumarul ei. */
.gallop-rezervare-cod{
    display:inline-flex;
    flex-direction:column;
    gap:4px;
    margin:0 auto 26px;
    padding:16px 34px;
    border:2px dashed #ff6e21;
    border-radius:8px;
    background:#fff8f3;
}
.gallop-rezervare-cod span{
    font-size:12.5px;
    letter-spacing:1.4px;
    text-transform:uppercase;
    color:#8a8279;
}
.gallop-rezervare-cod strong{
    font-size:30px;
    letter-spacing:3px;
    color:#ff6e21;
}
.gallop-rezervare-sumar{
    max-width:460px;
    margin:0 auto 26px;
    text-align:left;
}
.gallop-rezervare-sumar ul{
    margin:0;
    padding:0;
    list-style:none;
}
.gallop-rezervare-sumar li{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:11px 0;
    border-bottom:1px solid #ece6dd;
    font-size:15px;
    color:#7d766e;
}
.gallop-rezervare-sumar li span{
    font-weight:600;
    text-align:right;
    color:#3f3a34;
}
.gallop-rezervare-asteptare{
    max-width:560px;
    margin:0 auto 22px;
    padding:14px 18px;
    background:#fbf7f1;
    border-radius:6px;
    font-size:15px;
    line-height:1.75;
    color:#57514a;
}

/* Perechile de butoane: unul plin, unul conturat. Folosite in subsol
   si la finalul paginilor de activitate. */
.gallop-footer-actiuni,
.gallop-actiuni-pereche{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}
.gallop-actiuni-pereche{
    justify-content:center;
}
.gallop-footer-cta-fantoma{
    background:transparent !important;
    border:1px solid rgba(255,255,255,.35);
}
.gallop-footer-cta-fantoma:hover{
    box-shadow:none;
    border-color:#ff6e21;
}
.btn-style-2 a.gallop-buton-fantoma{
    background:transparent;
    border:2px solid #ff6e21;
    color:#ff6e21;
}

/* Rezervarea e actiunea principala a site-ului; in meniu arata a buton, ca sa
   nu se piarda printre celelalte sapte legaturi. */
/* Elementul de meniu se intinde pe toata inaltimea antetului; butonul se
   centreaza in el, altfel devine o banda portocalie cat tot antetul. */
.gallop-meniu-cta{
    display:flex;
    align-items:center;
}
.header-large-device .main-menu > nav > ul > li.gallop-meniu-cta > a{
    padding:11px 22px !important;
    line-height:1;
    border-radius:6px;
    background:#ff6e21;
    color:#fff !important;
    transition:background-color .25s ease, transform .2s ease, box-shadow .2s ease;
}
.header-large-device .main-menu > nav > ul > li.gallop-meniu-cta > a:hover,
.header-large-device .main-menu > nav > ul > li.gallop-meniu-cta > a.active{
    background:#2b2621;
    color:#fff !important;
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(43,38,33,.18);
}
/* Sublinierea din meniu nu are ce cauta pe un buton. */
.header-large-device .main-menu > nav > ul > li.gallop-meniu-cta > a::after{display:none !important}

/* ============================================================
   PAGINA 404
   Era o pagina de sine statatoare, cu paleta ivoriu/auriu din brief-ul
   clientului, fara meniu si fara subsol: cine ajungea acolo nu avea cum sa
   se intoarca in site. Acum foloseste acelasi sablon ca restul.
   ============================================================ */
.gallop-404 > p.gallop-404-cod{
    margin:0 0 6px;
    font-size:92px;
    font-weight:800;
    line-height:1;
    color:rgba(184,134,59,.32);
}
.gallop-404 h2{
    font-size:32px;
    margin-bottom:16px;
}
.gallop-404 > p{
    max-width:560px;
    margin:0 auto;
    font-size:16px;
    line-height:1.8;
    color:#6b655e;
}
.gallop-404-actiuni{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
    margin:32px 0 40px;
}
.gallop-404-principal,
.gallop-404-secundar{
    padding:15px 30px;
    border-radius:6px;
    font-size:14px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.5px;
    transition:background-color .25s ease, color .25s ease, transform .2s ease;
}
.gallop-404-principal{background:#ff6e21;color:#fff}
.gallop-404-principal:hover{background:#2b2621;color:#fff;transform:translateY(-2px)}
.gallop-404-secundar{border:2px solid #ff6e21;color:#ff6e21}
.gallop-404-secundar:hover{background:#ff6e21;color:#fff;transform:translateY(-2px)}
.gallop-404 > p.gallop-404-punte{
    margin-bottom:8px;
    font-size:15px;
    color:#8a847c;
}
.gallop-404-legaturi{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px 26px;
}
.gallop-404-legaturi a{
    font-size:15px;
    font-weight:600;
    color:#B8863B;
    border-bottom:1px solid rgba(184,134,59,.4);
    padding-bottom:2px;
}
.gallop-404-legaturi a:hover{color:#ff6e21;border-bottom-color:#ff6e21}
@media (max-width:575px){
    .gallop-404 > p.gallop-404-cod{font-size:68px}
    .gallop-404 h2{font-size:25px}
    .gallop-404-actiuni{width:100%}
    .gallop-404-principal,
    .gallop-404-secundar{flex:1;text-align:center}
}

/* ============================================================
   34. VOUCHERE CADOU
   Comanda unui voucher (/voucher-cadou) si voucherul de printat
   (/voucher/{cod}). Formularul imprumuta stilurile de la
   rezervare (sectiunea 33) — aici sunt doar partile proprii:
   alegerea tipului, foaia voucherului si regulile de tiparire.
   ============================================================ */

/* Tipul voucherului: doua carduri radio, acelasi tipar ca grila de ore
   din sectiunea 33 (radio nativ ascuns, eticheta lui e tot cardul).
   Aici insa cardurile sunt late, fiindca fiecare are o explicatie. */
.gallop-voucher-tipuri{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    gap:12px;
}
.gallop-voucher-tip{
    margin:0 !important;
    font-weight:400 !important;
}
/* Radioul ramane in pagina pentru tastatura si cititoarele de ecran,
   dar nu se vede: altfel tema il randeaza cat tot randul. */
.gallop-voucher-tip input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
}
.gallop-voucher-tip span{
    display:flex;
    flex-direction:column;
    gap:6px;
    height:100%;
    padding:16px 18px;
    border:2px solid #e2dbd1;
    border-radius:6px;
    background:#fff;
    cursor:pointer;
    transition:border-color .18s ease, background .18s ease;
}
.gallop-voucher-tip span strong{
    font-size:16px;
    color:#3f3a34;
}
.gallop-voucher-tip span small{
    font-size:13px;
    line-height:1.6;
    color:#8a8279;
}
.gallop-voucher-tip:hover span{
    border-color:#ff6e21;
}
.gallop-voucher-tip input:focus-visible + span{
    outline:2px solid #ff6e21;
    outline-offset:2px;
}
.gallop-voucher-tip input:checked + span{
    border-color:#ff6e21;
    background:#fff3ec;
}
.gallop-voucher-tip input:checked + span strong{
    color:#ff6e21;
}

/* Campul de suma si cel de experienta se ascund reciproc, din scriptul
   de la finalul paginii. Regula e explicita ca sa nu depinda de tema. */
.gallop-voucher [hidden]{
    display:none !important;
}
.gallop-voucher-titlu{
    margin-top:34px;
    padding-top:26px;
    border-top:1px solid #e8e2d9;
}

/* Puntea catre vouchere, pusa in coloana de la rezervare si sub tarife. */
.gallop-voucher-punte{
    margin-top:26px;
    padding:22px 24px;
    background:#fbf7f1;
    border-radius:8px;
}
.gallop-voucher-punte h3{
    margin-bottom:8px;
    font-size:19px;
    color:#3f3a34;
}
.gallop-voucher-punte p{
    margin-bottom:14px;
    font-size:14.5px;
    line-height:1.7;
    color:#7d766e;
}
.gallop-voucher-punte a{
    font-weight:600;
    color:#ff6e21;
}
.gallop-voucher-punte a:hover{
    color:#2b2621;
}
.gallop-voucher-punte-lat{
    margin-top:40px;
    text-align:center;
}

/* Butoanele proprii voucherului: unul plin, unul conturat. */
.gallop-voucher-buton{
    display:inline-block;
    padding:13px 30px;
    border:2px solid #ff6e21;
    border-radius:6px;
    background:#ff6e21;
    font-size:14px;
    font-weight:600;
    letter-spacing:.4px;
    color:#fff;
    transition:background-color .25s ease, color .25s ease;
}
.gallop-voucher-buton:hover{
    background:#2b2621;
    border-color:#2b2621;
    color:#fff;
}
.gallop-voucher-buton-fantoma{
    background:transparent;
    color:#ff6e21;
}
.gallop-voucher-buton-fantoma:hover{
    background:#2b2621;
}
.gallop-voucher-actiuni{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
    margin-top:34px;
}

/* Avertismentul de deasupra voucherului: neactivat, expirat, folosit.
   Cel portocaliu inseamna "mai ai ceva de facut", cel gri "s-a incheiat". */
.gallop-voucher-avertisment{
    margin-bottom:24px;
    padding:16px 20px;
    background:#fff3ec;
    border-left:4px solid #ff6e21;
    border-radius:0 6px 6px 0;
    font-size:15px;
    line-height:1.75;
    color:#8a4213;
}
.gallop-voucher-avertisment a{
    color:#8a4213;
    text-decoration:underline;
}
.gallop-voucher-avertisment-stins{
    background:#f4f2ef;
    border-left-color:#8a8279;
    color:#57514a;
}
.gallop-voucher-avertisment-stins a{
    color:#57514a;
}

/* Foaia voucherului. Bordura dubla si coltul rotunjit o fac sa arate a
   bilet si pe ecran, si pe hartie. */
.gallop-voucher-foaie{
    padding:44px 40px;
    border:2px solid #e2dbd1;
    border-radius:10px;
    background:#fff;
    text-align:center;
}
.gallop-voucher-antet{
    padding-bottom:22px;
    border-bottom:1px dashed #e2dbd1;
}
.gallop-voucher-logo{
    height:auto;
    max-width:170px;
}
.gallop-voucher-eticheta{
    margin:14px 0 0;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:3px;
    text-transform:uppercase;
    color:#8a8279;
}
.gallop-voucher-continut{
    margin:28px 0 6px;
    font-size:38px;
    line-height:1.25;
    font-weight:700;
    color:#ff6e21;
}
.gallop-voucher-fel{
    margin-bottom:28px;
    font-size:14.5px;
    line-height:1.7;
    color:#7d766e;
}
.gallop-voucher-pentru{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-bottom:18px;
}
.gallop-voucher-pentru span{
    font-size:12.5px;
    letter-spacing:1.4px;
    text-transform:uppercase;
    color:#8a8279;
}
.gallop-voucher-pentru strong{
    font-size:22px;
    color:#3f3a34;
}
.gallop-voucher-mesaj{
    max-width:520px;
    margin:0 auto 26px;
    padding:0 22px;
    border:0;
    font-size:16px;
    font-style:italic;
    line-height:1.8;
    color:#57514a;
}
/* Codul e partea pe care o citeste cineva de pe hartie si o scrie in
   formular: mare, ratat, imposibil de confundat cu restul. */
.gallop-voucher-cod{
    display:inline-flex;
    flex-direction:column;
    gap:4px;
    margin:0 auto 28px;
    padding:16px 34px;
    border:2px dashed #ff6e21;
    border-radius:8px;
    background:#fff8f3;
}
.gallop-voucher-cod span{
    font-size:12.5px;
    letter-spacing:1.4px;
    text-transform:uppercase;
    color:#8a8279;
}
.gallop-voucher-cod strong{
    font-size:34px;
    letter-spacing:3px;
    color:#ff6e21;
}
.gallop-voucher-detalii{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
    gap:16px;
    margin:0 0 30px;
    padding-top:24px;
    border-top:1px dashed #e2dbd1;
    text-align:left;
}
.gallop-voucher-detalii dt{
    margin-bottom:4px;
    font-size:12px;
    font-weight:600;
    letter-spacing:1.2px;
    text-transform:uppercase;
    color:#8a8279;
}
.gallop-voucher-detalii dd{
    margin:0;
    font-size:14.5px;
    line-height:1.6;
    color:#3f3a34;
    word-break:break-word;
}
.gallop-voucher-subsol{
    padding-top:24px;
    border-top:1px dashed #e2dbd1;
    text-align:left;
}
.gallop-voucher-subsol h2{
    margin-bottom:12px;
    font-size:17px;
    color:#3f3a34;
}
.gallop-voucher-subsol ol{
    margin:0 0 18px;
    padding-left:20px;
}
.gallop-voucher-subsol li{
    margin-bottom:8px;
    font-size:14.5px;
    line-height:1.7;
    color:#57514a;
}
.gallop-voucher-semnatura{
    margin:0;
    font-size:13px;
    color:#8a8279;
}

@media only screen and (max-width: 767px){
    .gallop-voucher-foaie{
        padding:28px 20px;
    }
    .gallop-voucher-continut{
        font-size:30px;
    }
    .gallop-voucher-cod{
        padding:14px 20px;
    }
    .gallop-voucher-cod strong{
        font-size:26px;
        letter-spacing:2px;
    }
}

/* Tiparirea voucherului. Ramane doar foaia si avertismentul de deasupra ei:
   meniul, subsolul, butoanele flotante si cele de actiune nu au ce cauta
   pe hartia pe care o duce omul la locatie. */
@media print{
    .gallop-voucher-pagina .header-area,
    .gallop-voucher-pagina .footer-area,
    .gallop-voucher-pagina .floating-actions,
    .gallop-voucher-pagina .gallop-titlu,
    .gallop-voucher-pagina .gallop-sari,
    .gallop-voucher-pagina .gallop-aside,
    .gallop-voucher-pagina .scroll-top,
    .gallop-voucher-pagina .gallop-voucher-actiuni{
        display:none !important;
    }
    .gallop-voucher-pagina{
        background:#fff;
    }
    .gallop-voucher-pagina .about-us-area{
        padding:0 !important;
    }
    .gallop-voucher-pagina .container,
    .gallop-voucher-pagina [class*="col-"]{
        width:100% !important;
        max-width:100% !important;
        flex:0 0 100% !important;
        margin:0 !important;
        padding:0 !important;
    }
    .gallop-voucher-pagina .gallop-voucher-foaie{
        border-color:#8a8279;
        border-radius:0;
        /* Voucherul nu se rupe intre doua foi. */
        break-inside:avoid;
        page-break-inside:avoid;
    }
    .gallop-voucher-pagina .gallop-voucher-avertisment{
        border-left-width:2px;
    }
}

/* ============================================================
   35. SUBMENIUL
   Cel din tema randa trei panouri semi-transparente care se suprapuneau,
   nealiniate fata de parinte, cu textul taiat pe latime. Aici e un singur
   panou opac, centrat sub elementul lui, cu grupuri si titluri.
   ============================================================ */
.header-large-device .main-menu > nav > ul > li.gallop-cu-submeniu{
    position:relative;
}
/* Panoul temei nu mai are ce cauta nicaieri. */
.header-large-device .main-menu > nav > ul > li > ul.sub-menu-width{display:none !important}

/* Aliniat la marginea din stanga a elementului din meniu si lipit de antet:
   centrat si desprins, arata ca si cum ar pluti pe langa meniu. */
.gallop-submeniu{
    position:absolute;
    top:100%;
    left:0;
    z-index:1200;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .16s ease, visibility .16s;
}
.gallop-cu-submeniu:hover > .gallop-submeniu,
.gallop-cu-submeniu:focus-within > .gallop-submeniu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
.gallop-submeniu-corp{
    display:flex;
    gap:34px;
    padding:26px 30px 24px;
    background:#fff;
    border:1px solid rgba(43,38,33,.08);
    border-top:0;
    border-radius:0 0 10px 10px;
    box-shadow:0 18px 44px rgba(43,38,33,.16);
    text-align:left;
}
/* nowrap statea pe container, deci coloanele grilei nu isi luau latimea din
   text si numele se suprapuneau intre ele. */
.gallop-submeniu-grup{min-width:190px}
.gallop-submeniu-grup--doua{min-width:440px}
.gallop-submeniu--lat .gallop-submeniu-corp{gap:40px}
.gallop-submeniu-titlu{
    margin:0 0 12px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#B8863B;
}
.gallop-submeniu-grup ul{
    margin:0;
    padding:0;
    list-style:none;
}
/* Cele 12 activitati intr-o singura coloana ar face un panou cat ecranul. */
.gallop-submeniu-grup--doua ul{
    display:grid;
    grid-template-columns:repeat(2, max-content);
    column-gap:38px;
}
.gallop-submeniu-grup li{margin:0}
.gallop-submeniu-grup li a{
    display:block;
    padding:7px 0;
    font-size:14.5px;
    font-weight:500;
    letter-spacing:0;
    text-transform:none;
    color:#2b2621;
    line-height:1.4;
    white-space:nowrap;
}
.gallop-submeniu-grup li a:hover{color:#ff6e21}
.gallop-submeniu-tot{
    display:inline-block;
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid rgba(43,38,33,.1);
    font-size:13px;
    font-weight:600;
    color:#ff6e21;
    text-transform:none;
    letter-spacing:0;
}
.gallop-submeniu-tot:hover{color:#2b2621}
/* Sageata care spune ca elementul are submeniu. */
.gallop-cu-submeniu > a::after{
    content:"";
    display:inline-block;
    width:5px;
    height:5px;
    margin:0 0 2px 7px;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:rotate(45deg);
    opacity:.55;
    vertical-align:middle;
}

/* ============================================================
   36. SUBSOL — butoanele se lipisera de linia despartitoare
   Clasa reala e .gallop-footer-actiuni, si nu avea nicio margine, asa ca
   ultimul buton atingea chenarul de sus al barii cu termenii.
   ============================================================ */
.gallop-footer-actiuni{
    margin-top:26px;
    margin-bottom:38px;
}

/* ============================================================
   37. BUTONUL "SUS" statea peste cel de WhatsApp
   ============================================================ */
#scrollUp{
    right:auto !important;
    left:22px !important;
    bottom:22px !important;
}
@media (max-width:767px){
    #scrollUp{left:14px !important;bottom:14px !important}
}

/* Grupurile din meniul de pe mobil. <details> le deschide fara JavaScript. */
.gallop-mobil-grup summary{
    list-style:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.gallop-mobil-grup summary::-webkit-details-marker{display:none}
.gallop-mobil-grup summary::after{
    content:"";
    width:7px;
    height:7px;
    margin-left:12px;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:rotate(45deg) translateY(-2px);
    opacity:.6;
    transition:transform .2s ease;
}
.gallop-mobil-grup[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.gallop-mobil-grup > ul{
    margin:6px 0 4px;
    padding:0 0 0 14px;
    border-left:1px solid rgba(255,255,255,.16);
}
.gallop-mobil-grup > ul > li > a{
    font-size:14px;
    opacity:.82;
}

/* ============================================================
   38. TARIFE — carduri in loc de tabel
   ============================================================ */
.gallop-tarife-intro{
    max-width:70ch;
    margin:0 auto 46px;
    text-align:center;
    font-size:16.5px;
    line-height:1.8;
    color:#6b655e;
}
.gallop-tarife-grila{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(330px, 1fr));
    gap:26px;
    align-items:stretch;
}
.gallop-tarif{
    display:flex;
    flex-direction:column;
    padding:30px 30px 26px;
    background:#fff;
    border:1px solid rgba(43,38,33,.1);
    border-radius:10px;
    transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.gallop-tarif:hover{
    border-color:rgba(184,134,59,.4);
    box-shadow:0 14px 32px rgba(43,38,33,.1);
    transform:translateY(-3px);
}
/* Ce nu se rezerva de pe site arata altfel, ca sa nu para o omisiune. */
.gallop-tarif--cerere{
    background:#faf7f1;
    border-style:dashed;
}
/* Numele au lungimi foarte diferite, asa ca pretul sarea pe rand nou doar la
   unele carduri. Il punem intotdeauna sub nume. */
.gallop-tarif-cap{
    display:flex;
    flex-direction:column;
    gap:6px;
    padding-bottom:16px;
    margin-bottom:16px;
    border-bottom:1px solid rgba(43,38,33,.09);
}
.gallop-tarif-cap h2{
    margin:0;
    font-size:20px;
    line-height:1.3;
    text-wrap:balance;
}
.gallop-tarif-pret{
    margin:0;
    font-size:20px;
    font-weight:700;
    color:#ff6e21;
    white-space:nowrap;
    font-variant-numeric:tabular-nums;
}
.gallop-tarif-text{
    margin:0 0 16px;
    font-size:15px;
    line-height:1.75;
    color:#6b655e;
}
.gallop-tarif-etichete{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 18px;
    padding:0;
    list-style:none;
}
.gallop-tarif-etichete li{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:6px 12px;
    border-radius:20px;
    background:#f4f1eb;
    font-size:13px;
    color:#5c564f;
}
.gallop-tarif-etichete i{font-size:12px;color:#B8863B}
.gallop-tarif-optiuni{
    margin:0 0 18px;
    padding:16px 18px;
    background:#faf8f4;
    border-radius:8px;
}
.gallop-tarif-optiuni > p{
    margin:0 0 10px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#B8863B;
}
.gallop-tarif-optiuni ul{margin:0;padding:0;list-style:none}
.gallop-tarif-optiuni li{
    display:flex;
    justify-content:space-between;
    gap:14px;
    font-size:14.5px;
    color:#5c564f;
}
.gallop-tarif-optiuni li + li{margin-top:7px}
.gallop-tarif-optiuni b{color:#2b2621;white-space:nowrap;font-variant-numeric:tabular-nums}
/* Impinge nota si butonul la baza, ca sa fie aliniate intre carduri. */
.gallop-tarif-jos{margin-top:auto}
.gallop-tarif-nota{
    margin:0 0 16px;
    font-size:13.5px;
    line-height:1.6;
    color:#8a847c;
}
.gallop-tarif-buton{
    display:inline-block;
    padding:13px 30px;
    border-radius:6px;
    background:#ff6e21;
    color:#fff;
    font-size:13.5px;
    font-weight:600;
    letter-spacing:.5px;
    text-transform:uppercase;
    transition:background-color .25s ease, color .25s ease, transform .2s ease;
}
.gallop-tarif-buton:hover{background:#2b2621;color:#fff;transform:translateY(-2px)}
.gallop-tarif-buton--gol{
    background:transparent;
    border:2px solid #ff6e21;
    color:#ff6e21;
    padding:11px 28px;
}
.gallop-tarif-buton--gol:hover{background:#ff6e21;color:#fff}
.gallop-tarife-subsol{
    max-width:70ch;
    margin:44px auto 0;
    text-align:center;
    font-size:14px;
    color:#8a847c;
}
.gallop-tarife-goale{
    grid-column:1/-1;
    text-align:center;
    color:#6b655e;
}
@media (max-width:575px){
    .gallop-tarif{padding:26px 22px 24px}
    .gallop-tarif-cap h2{font-size:18.5px}
}

/* ============================================================
   39. MENIU — hover simplu
   Tema anima sub fiecare cuvant o bara de 2px care creste de la 20% la 100%
   din latime. Ramane doar schimbarea de culoare; pagina curenta se marcheaza
   cu o linie fixa sub text, nu cu o animatie.
   ============================================================ */
.header-large-device .main-menu > nav > ul > li > a::after{display:none !important}
.header-large-device .main-menu > nav > ul > li > a{transition:color .18s ease}
.header-large-device .main-menu > nav > ul > li > a:hover{color:#ff6e21}
.header-large-device .main-menu > nav > ul > li > a.active{
    color:#ff6e21;
    text-decoration:underline;
    text-decoration-thickness:2px;
    text-underline-offset:7px;
}
/* Sageata submeniului nu se coloreaza separat de text. */
.gallop-cu-submeniu > a::after{color:inherit}

/* ============================================================
   40. BUTONUL "SUS" intra in acelasi teanc cu celelalte butoane flotante
   In stanga jos statea singur, fara legatura cu nimic. Acum e deasupra lor,
   in aceeasi coloana si cu acelasi aspect.
   ============================================================ */
#scrollUp{
    left:auto !important;
    right:18px !important;
    bottom:84px !important;      /* 18 + 54 (WhatsApp) + 12 */
    width:54px !important;
    height:54px !important;
    border-radius:50% !important;
    background-color:#2b2621 !important;
    box-shadow:0 4px 14px rgba(0,0,0,.25);
}
#scrollUp i{line-height:54px !important;font-size:18px !important}
#scrollUp:hover{background-color:#ff6e21 !important}
@media (max-width:767px){
    /* Pe mobil se vede si butonul de telefon: doua butoane de 50px si un gap. */
    #scrollUp{
        right:14px !important;
        bottom:134px !important;
        width:50px !important;
        height:50px !important;
    }
    #scrollUp i{line-height:50px !important}
}
/* Cat timp bannerul de cookie-uri e afisat, urca tot teancul. */
body.cu-banner-cookie #scrollUp{bottom:216px !important}

/* ============================================================
   41. POVESTEA NOASTRĂ — sectiuni, nu un articol de blog
   ============================================================ */
.gallop-poveste-eticheta{
    margin:0 0 10px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:#B8863B;
}

/* Deschiderea */
.gallop-poveste-deschidere{
    padding:86px 0 60px;
    text-align:center;
}
.gallop-poveste-lead{
    max-width:20ch;
    margin:0 auto 22px;
    font-size:clamp(28px,3.6vw,42px);
    font-weight:700;
    line-height:1.22;
    letter-spacing:-.01em;
    text-wrap:balance;
}
.gallop-poveste-text{
    max-width:62ch;
    margin:0 auto;
    font-size:17px;
    line-height:1.85;
    color:#6b655e;
}

/* Fotografia pe toata latimea */
.gallop-poveste-banda{
    margin:0 0 90px;
    padding:0;
}
.gallop-poveste-banda img{
    display:block;
    width:100%;
    height:clamp(320px,46vw,620px);
    object-fit:cover;
}
.gallop-poveste-banda figcaption,
.gallop-poveste-portrete figcaption{
    max-width:1140px;
    margin:12px auto 0;
    padding:0 24px;
    font-size:13px;
    font-style:italic;
    color:#8a847c;
}

/* Doua coloane, poza si text */
.gallop-poveste-doua,
.gallop-poveste-iepuri{padding:0 0 90px}
.gallop-poveste-doua-grila{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:56px;
    align-items:center;
}
.gallop-poveste-poza img{
    display:block;
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    border-radius:10px;
}
.gallop-poveste-coloana h2{
    font-size:clamp(25px,2.8vw,34px);
    line-height:1.25;
    margin:0 0 18px;
    text-wrap:balance;
}
.gallop-poveste-coloana p{
    font-size:16.5px;
    line-height:1.85;
    color:#6b655e;
}
.gallop-poveste-coloana p + p{margin-top:14px}

/* Cei doi cai */
.gallop-poveste-duo{padding:0 0 90px}
.gallop-poveste-antet{
    max-width:64ch;
    margin:0 auto 44px;
    text-align:center;
}
.gallop-poveste-antet h2{
    font-size:clamp(27px,3.2vw,38px);
    margin:0 0 16px;
}
.gallop-poveste-antet p{
    font-size:16.5px;
    line-height:1.85;
    color:#6b655e;
}
.gallop-poveste-portrete{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:30px;
}
.gallop-poveste-portrete figure{margin:0}
.gallop-poveste-portrete img{
    display:block;
    width:100%;
    aspect-ratio:4/5;
    object-fit:cover;
    border-radius:10px;
}
.gallop-poveste-portrete figcaption{
    max-width:none;
    padding:0;
    margin-top:14px;
    font-style:normal;
    font-size:17px;
    font-weight:600;
    color:#2b2621;
}

/* Astazi — text peste fotografia padocului la apus */
.gallop-poveste-astazi{
    padding:104px 0;
    background-size:cover;
    background-position:center;
    color:#fff;
    text-align:center;
}
.gallop-poveste-astazi .gallop-poveste-eticheta{color:#F0C888}
.gallop-poveste-astazi h2{
    max-width:22ch;
    margin:0 auto 20px;
    font-size:clamp(27px,3.4vw,40px);
    line-height:1.24;
    color:#fff;
    text-wrap:balance;
}
.gallop-poveste-astazi p{
    max-width:60ch;
    margin:0 auto;
    font-size:17px;
    line-height:1.85;
    color:rgba(255,255,255,.9);
}
.gallop-poveste-final{
    margin-top:26px !important;
    font-size:19px !important;
    font-weight:600;
    color:#fff !important;
}

@media (max-width:991px){
    .gallop-poveste-doua-grila{grid-template-columns:1fr;gap:30px}
    /* Pe o coloana, poza trebuie sa ramana deasupra si la blocul inversat. */
    .gallop-poveste-doua-grila--inversat .gallop-poveste-poza{order:-1}
    .gallop-poveste-deschidere{padding:60px 0 44px}
    .gallop-poveste-banda{margin-bottom:60px}
    .gallop-poveste-doua,
    .gallop-poveste-iepuri,
    .gallop-poveste-duo{padding-bottom:60px}
    .gallop-poveste-astazi{padding:74px 0}
}
@media (max-width:575px){
    .gallop-poveste-portrete{grid-template-columns:1fr;gap:26px}
}
