/* HOLBINA PREMIUM - Style CSS (async) */

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal.active{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}

/* Stagger children */
.stagger-children > *{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
.stagger-children.active > *{opacity:1;transform:translateY(0)}
.stagger-children.active > *:nth-child(1){transition-delay:.05s}
.stagger-children.active > *:nth-child(2){transition-delay:.1s}
.stagger-children.active > *:nth-child(3){transition-delay:.15s}
.stagger-children.active > *:nth-child(4){transition-delay:.2s}
.stagger-children.active > *:nth-child(5){transition-delay:.25s}
.stagger-children.active > *:nth-child(6){transition-delay:.3s}

/* Image hover zoom */
.img-zoom{overflow:hidden;border-radius:var(--radius)}
.img-zoom img{transition:transform .6s ease}
.img-zoom:hover img{transform:scale(1.08)}

/* Buttons hover shine */
.btn-shine{position:relative;overflow:hidden}
.btn-shine::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transition:left .6s}
.btn-shine:hover::before{left:100%}

/* Geo links section */
.section-geo-links{background:var(--color-bg-soft)}
.section-geo-links .section-subtitle{text-align:center;max-width:700px;margin:-1rem auto 2.5rem;color:var(--color-text-muted)}
.geo-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}
.geo-link-card{display:flex;align-items:center;justify-content:center;padding:1.1rem 1rem;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-primary);font-weight:600;text-decoration:none;transition:all .25s ease;text-align:center}
.geo-link-card:hover{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary);transform:translateY(-3px);box-shadow:var(--shadow)}

/* SCROLLBAR */
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:var(--color-bg-soft)}
::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:var(--radius-full)}
::-webkit-scrollbar-thumb:hover{background:var(--color-primary-light)}

/* SELECTION */
::selection{background:var(--color-accent);color:var(--color-primary-dark)}

/* FOCUS */
:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}

/* LIGHTBOX */
.lightbox-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.95);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;backdrop-filter:blur(8px)}
.lightbox-overlay.active{opacity:1;pointer-events:auto}
.lightbox-content{position:relative;max-width:92vw;max-height:88vh;display:flex;align-items:center;justify-content:center}
.lightbox-overlay img{max-width:100%;max-height:88vh;object-fit:contain;border-radius:var(--radius);box-shadow:var(--shadow-xl)}
.lightbox-close{position:absolute;top:1.5rem;right:1.5rem;width:48px;height:48px;border-radius:var(--radius-full);background:rgba(255,255,255,.15);color:var(--color-white);font-size:2rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition);border:none;z-index:2001}
.lightbox-close:hover{background:rgba(255,255,255,.3)}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:var(--radius-full);background:rgba(255,255,255,.15);color:var(--color-white);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition);z-index:2001}
.lightbox-nav:hover{background:rgba(255,255,255,.3)}
.lightbox-prev{left:1.5rem}
.lightbox-next{right:1.5rem}
.lightbox-prev svg,.lightbox-next svg{width:24px;height:24px}
.lightbox-counter{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);color:var(--color-white);font-size:.9rem;opacity:.8;background:rgba(0,0,0,.5);padding:.35rem 1rem;border-radius:var(--radius-full)}
.lightbox-caption{position:absolute;bottom:3.5rem;left:50%;transform:translateX(-50%);color:var(--color-white);font-size:1rem;opacity:.9;text-align:center;max-width:80%;padding:0 1rem}

/* Nav mobile overlay */
.nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99;opacity:0;pointer-events:none;transition:opacity .3s}
.nav-overlay.active{opacity:1;pointer-events:auto}

/* Loader */
.page-loader{position:fixed;inset:0;background:var(--color-bg);z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity .4s,visibility .4s}
.page-loader.hidden{opacity:0;visibility:hidden}
.loader{width:48px;height:48px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Testimonials */
.testimonial-card{background:var(--color-white);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);border:1px solid var(--color-border)}
.testimonial-card p{font-size:1.1rem;line-height:1.7;color:var(--color-text);margin-bottom:1.5rem;font-style:italic}
.testimonial-author{display:flex;align-items:center;gap:1rem}
.testimonial-author-img{width:50px;height:50px;border-radius:var(--radius-full);background:var(--color-bg-soft);display:flex;align-items:center;justify-content:center;color:var(--color-primary);font-weight:700}
.testimonial-author-info h4{font-size:1rem;color:var(--color-primary)}
.testimonial-author-info span{font-size:.85rem;color:var(--color-text-muted)}

/* Badges */
.badge{display:inline-flex;align-items:center;gap:.35rem;background:var(--color-bg-soft);color:var(--color-primary);padding:.35rem .9rem;border-radius:var(--radius-full);font-size:.8rem;font-weight:600;border:1px solid var(--color-border)}
.badge-accent{background:rgba(212,168,67,.15);color:var(--color-primary-dark);border-color:rgba(212,168,67,.3)}
