/* ══════════════════════════════════════════
   TOURI UAE — Main Stylesheet
   Uses Tailwind CDN for utilities
══════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Public Sans',sans-serif;
  overflow-x:hidden;
  background:#b8c0cc;
  background-image:
    radial-gradient(circle at 20% 20%,rgba(0,61,166,0.12) 0%,transparent 50%),
    radial-gradient(circle at 80% 80%,rgba(232,0,29,0.08) 0%,transparent 50%),
    repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(255,255,255,0.03) 20px,rgba(255,255,255,0.03) 21px);
  min-height:100vh;
}
/* Remove WP default margins */
.wp-site-blocks{padding:0!important;}
.entry-content{margin:0!important;padding:0!important;}
.ast-article-single,.ast-container{max-width:none!important;padding:0!important;margin:0!important;}
.site-main{padding:0!important;}
.ast-page-builder-template .entry-content,.ast-page-builder-template .site-content{padding:0!important;}
/* Hide default WP page title when we have custom hero */
.ast-page-header-wrap,.page-header{display:none!important;}

/* ── Page Box ── */
#page-box{
  width:calc(100% - 80px);max-width:1100px;margin:40px auto;
  border-radius:24px;overflow:hidden;
  box-shadow:0 0 0 1px rgba(255,255,255,0.15),0 8px 32px rgba(0,0,0,0.22),0 40px 100px rgba(0,0,0,0.28);
  position:relative;z-index:2;
}
@media(max-width:640px){
  #page-box{width:calc(100% - 20px);margin:10px auto;border-radius:14px;}
}

/* ── Screen Wipe Intro ── */
#page-wipe{position:fixed;inset:0;z-index:99999;overflow:hidden;pointer-events:none;}
#wipe-bg{position:absolute;inset:0;background:linear-gradient(135deg,#002b7a 0%,#003DA6 60%,#0052cc 100%);}
#wipe-bg::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,0.08) 1px,transparent 1px);background-size:28px 28px;}
#wipe-logo{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;}
#wipe-logo img{width:200px;height:auto;animation:logoBounceIn 0.7s cubic-bezier(0.34,1.56,0.64,1) forwards;opacity:0;}
@keyframes logoBounceIn{from{opacity:0;transform:scale(0.6) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}
#wipe-tagline{color:rgba(255,255,255,0.7);font-family:'Rubik',sans-serif;font-weight:600;font-size:1rem;letter-spacing:0.25em;text-transform:uppercase;opacity:0;animation:fadeInAnim 0.5s ease forwards 0.5s;}
@keyframes fadeInAnim{to{opacity:1;}}
#wipe-loader{width:140px;height:3px;background:rgba(255,255,255,0.15);border-radius:99px;overflow:hidden;opacity:0;animation:fadeInAnim 0.4s ease forwards 0.7s;}
#wipe-loader-fill{height:100%;width:0;background:#FFD700;border-radius:99px;animation:loadFill 0.6s ease forwards 0.8s;}
@keyframes loadFill{to{width:100%;}}
#squeegee-wrap{position:absolute;top:0;bottom:0;left:-60px;width:60px;animation:squeegeeSlide 0.9s cubic-bezier(0.86,0,0.07,1) forwards 1.7s;will-change:transform;}
@keyframes squeegeeSlide{from{transform:translateX(0)}to{transform:translateX(calc(100vw + 120px))}}
#squeegee-blade{position:absolute;top:0;bottom:0;right:0;width:5px;background:linear-gradient(180deg,rgba(255,255,255,0.5) 0%,rgba(255,255,255,0.95) 20%,rgba(255,255,255,1) 50%,rgba(255,255,255,0.95) 80%,rgba(255,255,255,0.5) 100%);box-shadow:0 0 18px rgba(255,255,255,0.9),0 0 40px rgba(200,230,255,0.6),4px 0 20px rgba(0,0,0,0.15);}
#squeegee-handle{position:absolute;top:10%;right:2px;width:12px;height:25%;background:linear-gradient(90deg,#ccc,#e8e8e8,#ccc);border-radius:6px;box-shadow:2px 0 8px rgba(0,0,0,0.2);}
#squeegee-foam{position:absolute;top:0;bottom:0;right:5px;width:55px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0.04) 20%,rgba(255,255,255,0.12) 55%,rgba(255,255,255,0.28) 80%,rgba(255,255,255,0.45) 100%);}
#squeegee-streak{position:absolute;top:0;bottom:0;right:60px;width:80px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0.04) 60%,rgba(255,255,255,0.09) 100%);animation:streakFade 0.3s ease forwards 2.6s;}
@keyframes streakFade{to{opacity:0;}}
#wipe-curtain{position:absolute;inset:0;background:linear-gradient(135deg,#002b7a 0%,#003DA6 60%,#0052cc 100%);transform-origin:left;animation:curtainWipe 0.9s cubic-bezier(0.86,0,0.07,1) forwards 1.7s;}
@keyframes curtainWipe{from{clip-path:inset(0 0% 0 0)}to{clip-path:inset(0 100% 0 0)}}
#page-wipe{animation:wipeHide 0s forwards 2.7s;}
@keyframes wipeHide{to{display:none;}}

/* ── Page-wipe fast mode (non-homepage) ── */
#page-wipe.fast #wipe-logo img{animation-duration:0.35s;}
#page-wipe.fast #wipe-tagline{animation-duration:0.25s;animation-delay:0.25s;}
#page-wipe.fast #wipe-loader{animation-delay:0.35s;animation-duration:0.2s;}
#page-wipe.fast #wipe-loader-fill{animation-duration:0.4s;animation-delay:0.4s;}
#page-wipe.fast #squeegee-wrap{animation-delay:0.9s;animation-duration:0.55s;}
#page-wipe.fast #squeegee-streak{animation-delay:1.45s;}
#page-wipe.fast #wipe-curtain{animation-delay:0.9s;animation-duration:0.55s;}
#page-wipe.fast{animation:wipeHide 0s forwards 1.55s;}

/* ── Exit overlay (page leaving) ── */
#page-exit{position:fixed;inset:0;z-index:99998;background:linear-gradient(135deg,#002b7a 0%,#003DA6 60%,#0052cc 100%);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.22s ease;pointer-events:none;}
#page-exit img{width:160px;height:auto;}

/* ── Bubble Canvas ── */
#bubble-canvas{position:fixed;inset:0;pointer-events:none;z-index:1;}

/* ── Ticker ── */
.ticker-wrap{overflow:hidden;white-space:nowrap;position:relative;z-index:10;}
.ticker-inner{display:inline-block;animation:marquee 30s linear infinite;}
.ticker-inner:hover{animation-play-state:paused;}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes marqueeRTL{0%{transform:translateX(0)}100%{transform:translateX(50%)}}

/* ── Nav ── */
#navbar{transition:padding .4s,box-shadow .4s,backdrop-filter .4s;position:sticky;top:0;z-index:50;}
#navbar.scrolled{padding-top:6px!important;padding-bottom:6px!important;box-shadow:0 4px 30px rgba(0,61,166,.2);backdrop-filter:blur(12px);background:rgba(0,61,166,.95)!important;}
.lang-toggle-btn{font-family:'Rubik','Cairo',sans-serif;font-weight:700;font-size:.78rem;padding:4px 12px;border-radius:99px;border:1.5px solid rgba(255,255,255,0.5);color:white;background:transparent;cursor:pointer;transition:background .2s,border-color .2s;letter-spacing:.04em;}
.lang-toggle-btn:hover{background:rgba(255,255,255,0.15);border-color:white;}

/* ── Hero ── */
.hero-section{background:linear-gradient(135deg,#002b7a 0%,#003DA6 28%,#7a000f 55%,#E8001D 100%);position:relative;overflow:hidden;z-index:2;}
.hero-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 15% 55%,rgba(255,255,255,.08) 0%,transparent 50%),radial-gradient(ellipse at 85% 30%,rgba(232,0,29,.55) 0%,transparent 55%);pointer-events:none;}
.hero-section::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.03) 25%,rgba(255,255,255,.06) 50%,rgba(255,255,255,.03) 75%,transparent 100%);background-size:200% 100%;animation:waterShimmer 6s ease-in-out infinite;pointer-events:none;}
@keyframes waterShimmer{0%,100%{background-position:0% 0%}50%{background-position:100% 0%}}
.hero-logo-wrap{opacity:0;animation:dropIn .7s cubic-bezier(.34,1.56,.64,1) forwards .3s;}
.hero-title{opacity:0;animation:squeegeeWipe 1s cubic-bezier(.77,0,.175,1) forwards .6s;}
.hero-sub{opacity:0;animation:fadeUp .7s ease forwards 1.1s;}
.hero-cta{opacity:0;animation:fadeUp .7s ease forwards 1.3s;}
.hero-trust{opacity:0;animation:fadeUp .7s ease forwards 1.5s;}
@keyframes dropIn{from{opacity:0;transform:translateY(-30px) scale(.7)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes squeegeeWipe{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0% 0 0)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.hero-title-text{background:linear-gradient(90deg,#fff 0%,#fff 30%,#FFD700 45%,#87CEEB 55%,#fff 70%,#fff 100%);background-size:250% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gleamShine 5s linear infinite 1.6s;}
@keyframes gleamShine{0%{background-position:0% center}100%{background-position:250% center}}

/* ── Wave Dividers ── */
.wave-wrap{line-height:0;overflow:hidden;position:relative;z-index:3;}
.wave-wrap svg{display:block;width:100%;}

/* ── Scroll Reveal ── */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.squeegee-reveal{opacity:0;clip-path:inset(0 100% 0 0);transition:clip-path .9s cubic-bezier(.77,0,.175,1),opacity .2s;}
.squeegee-reveal.visible{opacity:1;clip-path:inset(0 0% 0 0);}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}.d5{transition-delay:.4s}

/* ── Category Cards ── */
.cat-card{position:relative;overflow:hidden;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s ease;z-index:2;}
.cat-card:hover{transform:translateY(-12px) scale(1.03);box-shadow:0 24px 56px rgba(0,61,166,.2);}
.cat-card::before{content:'';position:absolute;top:0;left:-80%;width:55%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);z-index:10;pointer-events:none;}
.cat-card:hover::before{animation:shineSweep .55s ease forwards;}
.cat-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#E8001D,#003DA6);transform:scaleX(0);transform-origin:left;transition:transform .35s ease;}
.cat-card:hover::after{transform:scaleX(1);}
@keyframes shineSweep{to{left:140%}}

/* ── Product Cards ── */
.prod-card{position:relative;overflow:hidden;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s ease,opacity .35s ease;z-index:2;}
.prod-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 28px 60px rgba(0,0,0,.14);}
.prod-card::before{content:'';position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);z-index:10;pointer-events:none;}
.prod-card:hover::before{animation:shineSweep .6s ease forwards;}
.prod-card::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#E8001D,#003DA6);transform:scaleX(0);transform-origin:left;transition:transform .35s ease;}
.prod-card:hover::after{transform:scaleX(1);}
.img-ripple{position:relative;overflow:hidden;}
.img-ripple::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.35) 0%,transparent 65%);opacity:0;transform:scale(0);transition:transform .55s ease,opacity .55s ease;}
.prod-card:hover .img-ripple::after{opacity:1;transform:scale(1.8);}
@keyframes bubblePop{0%{opacity:0;transform:scale(.4)}60%{transform:scale(1.07)}80%{transform:scale(.97)}100%{opacity:1;transform:scale(1)}}
.bubble-pop{animation:bubblePop .55s cubic-bezier(.34,1.56,.64,1) both;}
.cart-btn{position:relative;overflow:hidden;transition:background .25s,transform .2s;}
.cart-btn:active{transform:scale(.88);}
.cart-btn.added{background:#003DA6!important;}
.btn-splash{position:absolute;inset:0;border-radius:50%;background:rgba(255,255,255,.45);transform:scale(0);animation:splashOut .45s ease-out forwards;pointer-events:none;}
@keyframes splashOut{to{transform:scale(2.5);opacity:0}}
/* Quick View */
.quick-view-btn{position:absolute;bottom:0;left:0;right:0;background:rgba(0,61,166,.92);color:white;font-family:'Rubik',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.05em;text-align:center;padding:10px;transform:translateY(100%);transition:transform .3s ease;cursor:pointer;text-decoration:none;display:block;}
.prod-card:hover .quick-view-btn{transform:translateY(0);}
/* Thumb Strip */
.thumb-strip{display:flex;gap:6px;padding:8px 14px;background:#f8f9fb;border-top:1px solid #f0f1f3;}
.thumb-strip img{width:34px;height:34px;object-fit:contain;border-radius:6px;border:2px solid transparent;cursor:pointer;padding:2px;background:white;transition:border-color .2s,transform .2s;}
.thumb-strip img:hover{transform:scale(1.12);}
.thumb-strip img.active{border-color:#003DA6;}
/* Badges */
.badge-new{background:#FFD700;color:#003DA6;}
.badge-sale{background:#E8001D;color:white;}
.badge-top{background:#003DA6;color:white;}
.badge-hot{background:#ff6b00;color:white;}

/* ── Filter Tabs (Shop) ── */
.filter-tab{padding:8px 18px;border-radius:99px;border:2px solid #e2e8f0;font-family:'Rubik',sans-serif;font-weight:600;font-size:.82rem;cursor:pointer;transition:all .22s ease;white-space:nowrap;background:transparent;color:#64748b;}
.filter-tab:hover{border-color:#003DA6;color:#003DA6;}
.filter-tab.active{background:#003DA6;color:white;border-color:#003DA6;box-shadow:0 4px 14px rgba(0,61,166,.28);}
.sort-select{appearance:none;background:white;border:2px solid #e2e8f0;border-radius:99px;padding:8px 36px 8px 16px;font-family:'Rubik',sans-serif;font-weight:600;font-size:.82rem;color:#475569;cursor:pointer;transition:border-color .2s;background-image: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='%23003DA6' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;}
.sort-select:focus{outline:none;border-color:#003DA6;}

/* ── Stats ── */
.stats-section{background:linear-gradient(135deg,#002b7a 0%,#003DA6 60%,#00308f 100%);position:relative;overflow:hidden;}
.stats-section::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;}
.stat-number{font-family:'Rubik',sans-serif;font-weight:900;font-size:3.5rem;color:#FFD700;line-height:1;}
@keyframes dropBounce{0%,100%{transform:translateY(0) scaleY(1)}30%{transform:translateY(-10px) scaleY(.92)}60%{transform:translateY(4px) scaleY(1.05)}}
.drop-b1{animation:dropBounce 2.2s ease-in-out infinite;}
.drop-b2{animation:dropBounce 2.2s ease-in-out infinite .4s;}
.drop-b3{animation:dropBounce 2.2s ease-in-out infinite .8s;}

/* ── Red Strip ── */
.clean-strip{background:linear-gradient(90deg,#E8001D,#c4001a);position:relative;overflow:hidden;}
.clean-strip::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 30%,transparent 60%,rgba(255,255,255,.06) 90%,transparent 100%);background-size:200% 100%;animation:stripShimmer 4s ease-in-out infinite;}
@keyframes stripShimmer{0%,100%{background-position:0% 0%}50%{background-position:100% 0%}}

/* ── Shop Hero ── */
.shop-hero{background:linear-gradient(135deg,#002b7a 0%,#003DA6 35%,#7a000f 65%,#E8001D 100%);position:relative;overflow:hidden;}
.shop-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 15% 60%,rgba(255,255,255,.07) 0%,transparent 55%),radial-gradient(ellipse at 85% 30%,rgba(232,0,29,.5) 0%,transparent 50%);pointer-events:none;}
.shop-hero-title{opacity:0;animation:fadeUp .7s ease forwards .2s;}
.shop-hero-sub{opacity:0;animation:fadeUp .7s ease forwards .4s;}

/* ── Button CTA ── */
.btn-cta{position:relative;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;}
.btn-cta:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(232,0,29,.5);}
.btn-cta:active{transform:scale(.97);}
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.35);transform:scale(0);animation:rippleOut .65s ease-out forwards;pointer-events:none;}
@keyframes rippleOut{to{transform:scale(5);opacity:0}}
@keyframes expandRing{0%{transform:scale(1);opacity:.8}100%{transform:scale(4);opacity:0}}

/* ── Footer ── */
footer a{transition:color .2s;}
footer a:hover{color:#FFD700;}
.z2{position:relative;z-index:2;}

/* ── WooCommerce Overrides ── */
.woocommerce-message,.woocommerce-info,.woocommerce-error{margin:16px 24px;border-radius:12px;}
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{background:#E8001D;color:white;font-family:'Rubik',sans-serif;font-weight:700;border-radius:99px;padding:12px 28px;transition:background .2s,transform .2s;}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{background:#003DA6;transform:translateY(-2px);}
.woocommerce-cart-form table,.woocommerce table.shop_table{border-radius:12px;overflow:hidden;border:1px solid #eee;}
.woocommerce .cart-collaterals .cart_totals{background:#f8f9fb;border-radius:16px;padding:24px;}
/* Product page WC */
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:'Rubik',sans-serif;font-weight:600;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#003DA6;}
/* Cart count badge */
#cart-count{display:none;}
#cart-count.visible{display:flex;}

/* ── RTL Arabic support ── */
[dir="rtl"] body{font-family:'Cairo',sans-serif;}
[dir="rtl"] .ticker-inner{animation:marqueeRTL 30s linear infinite;}
[dir="rtl"] #page-box{direction:rtl;}
[dir="rtl"] .touri-timeline{padding-left:0;padding-right:32px;}
[dir="rtl"] .touri-timeline::before{left:auto;right:8px;}
[dir="rtl"] .tl-dot{left:auto;right:-28px;}
