/* ==========================================================================
   Cuspidoo New Theme (ct-) — ported from the Next.js design at :9097
   Namespaced with ct- prefix so it never collides with custom.css
   ========================================================================== */

.ct-scope, .ct-scope *{box-sizing:border-box}
body{font-family:'Poppins',sans-serif}

/* ---------- Top bar + WhatsApp button ---------- */
.ct-topbar{background-color:#0f4c5c;display:flex;justify-content:flex-end;align-items:center;width:100%;min-height:45px;padding:8px 60px;flex-wrap:wrap;gap:14px}
.ct-topbar-email{color:#fff;display:flex;align-items:center;gap:8px;font-size:15px;text-decoration:none}
.ct-topbar-email:hover{text-decoration:underline}
.ct-topbar-social{display:flex;align-items:center;gap:18px;margin-left:30px}
.ct-topbar-social a{color:#fff;transition:transform .3s}
.ct-topbar-social a:hover{transform:scale(1.2)}

.ct-whatsapp-btn{position:fixed;bottom:30px;right:30px;z-index:9999;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#25d366,#128c7e);display:flex;align-items:center;justify-content:center;color:#fff;font-size:32px;text-decoration:none;box-shadow:0 10px 25px rgba(37,211,102,.4);animation:ctWhatsappPulse 2s infinite;transition:transform .3s}
.ct-whatsapp-btn:hover{transform:scale(1.12) translateY(-4px);color:#fff}
.ct-whatsapp-btn img{width:34px;height:34px}
@keyframes ctWhatsappPulse{0%{box-shadow:0 10px 25px rgba(37,211,102,.4),0 0 0 0 rgba(37,211,102,.7)}70%{box-shadow:0 10px 25px rgba(37,211,102,.4),0 0 0 15px rgba(37,211,102,0)}100%{box-shadow:0 10px 25px rgba(37,211,102,.4),0 0 0 0 rgba(37,211,102,0)}}

/* ---------- Navbar ---------- */
.ct-navbar{background-color:#f8fafc;display:flex;justify-content:space-between;align-items:center;width:100%;min-height:100px;padding:10px 40px;flex-wrap:wrap;gap:15px}
.ct-navbar-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.ct-logo-img{width:70px;height:70px;object-fit:contain}
.ct-logo-slider{position:relative;width:180px;height:46px;overflow:hidden}
.ct-logo-slider img{position:absolute;top:50%;left:0;width:180px;height:auto;opacity:0;transform:translate(-100%,-50%)}
.ct-logo-slider .ct-slide-green{animation:ctGreenSlide 10s ease-in-out infinite}
.ct-logo-slider .ct-slide-purple{animation:ctPurpleSlide 10s ease-in-out infinite}
@keyframes ctGreenSlide{0%{opacity:0;transform:translate(-120%,-50%)}10%{opacity:1;transform:translateY(-50%)}42%{opacity:1;transform:translateY(-50%)}50%{opacity:0;transform:translate(120%,-50%)}100%{opacity:0;transform:translate(120%,-50%)}}
@keyframes ctPurpleSlide{0%{opacity:0;transform:translate(-120%,-50%)}50%{opacity:0;transform:translate(-120%,-50%)}60%{opacity:1;transform:translateY(-50%)}92%{opacity:1;transform:translateY(-50%)}100%{opacity:0;transform:translate(120%,-50%)}}

.ct-nav-right{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.ct-nav-links{display:flex;align-items:center;gap:28px;margin:0;padding:0;list-style:none;flex-wrap:wrap}
.ct-nav-links li{position:relative}
.ct-nav-links li a{color:#1e293b;font-size:17px;font-weight:500;text-decoration:none;transition:color .3s}
.ct-nav-links li a:after{content:"";position:absolute;left:0;bottom:-6px;width:0%;height:2px;background:#0f766e;transition:width .3s}
.ct-nav-links li a:hover, .ct-nav-links li.ct-active a{color:#0f766e}
.ct-nav-links li a:hover:after, .ct-nav-links li.ct-active a:after{width:100%}

.ct-dropdown{position:relative}
.ct-dropdown-menu{opacity:0;visibility:hidden;position:absolute;top:30px;left:0;background:#fff;border-radius:10px;width:200px;padding:8px 0;margin:0;list-style:none;box-shadow:0 10px 30px rgba(15,23,42,.12);transform:translateY(10px);transition:all .3s;z-index:60}
.ct-dropdown:hover .ct-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.ct-dropdown-menu li a{display:block;padding:9px 16px;font-size:14px;white-space:nowrap}
.ct-dropdown-menu li a:hover{background:#f1f5f9}

.ct-nav-icons{display:flex;align-items:center;gap:18px}
.ct-nav-icon{color:#1e293b;cursor:pointer;width:22px;height:22px;text-decoration:none;transition:all .3s}
.ct-nav-icon:hover{color:#0f766e;transform:scale(1.1)}
.ct-drawer{position:relative}
.ct-drawer-menu{opacity:0;visibility:hidden;position:absolute;top:30px;right:0;background:#fff;border-radius:10px;width:180px;padding:8px 0;margin:0;list-style:none;box-shadow:0 10px 30px rgba(15,23,42,.12);transform:translateY(10px);transition:all .3s;z-index:60}
.ct-drawer:hover .ct-drawer-menu{opacity:1;visibility:visible;transform:translateY(0)}
.ct-drawer-menu li a{display:block;padding:9px 16px;font-size:14px}
.ct-drawer-menu li a:hover{background:#f1f5f9}

@media(max-width:768px){
	.ct-topbar{justify-content:center;padding:10px 15px}
	.ct-navbar{flex-direction:column;padding:15px}
	.ct-nav-right{justify-content:center}
	.ct-nav-links{justify-content:center;gap:16px}
	.ct-whatsapp-btn{width:52px;height:52px;font-size:26px;bottom:16px;right:16px}
}

/* ---------- Hero slider (homepage) ---------- */
.ct-hero{position:relative;width:100%;height:clamp(320px,42vw,650px);overflow:hidden}
.ct-hero-track{position:relative;width:100%;height:100%}
.ct-hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;opacity:0;transition:opacity .9s ease-in-out}
.ct-hero-slide.ct-active{opacity:1}
.ct-hero-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.8);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;color:#1e293b;transition:all .3s}
.ct-hero-btn:hover{background:#fff}
.ct-hero-btn.ct-left{left:24px}
.ct-hero-btn.ct-right{right:24px}

/* ---------- Homepage category circles ---------- */
.ct-categories{width:100%;padding:70px 20px;display:flex;justify-content:center}
.ct-categories-wrap{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:60px}
.ct-category-item{display:flex;flex-direction:column;align-items:center;gap:16px;text-decoration:none;cursor:pointer}
.ct-ellipse{position:relative;width:320px;height:320px;border-radius:50%;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.1);transition:transform .3s}
.ct-ellipse:hover{transform:scale(1.05)}
.ct-ellipse img{width:100%;height:100%;object-fit:cover;object-position:center}
.ct-ellipse.ct-green:hover{box-shadow:0 0 20px #207d5b}
.ct-ellipse.ct-purple:hover{box-shadow:0 0 20px #6d2dfd}
.ct-category-text{color:#1e293b;font-size:26px;font-weight:600;text-align:center}
.ct-category-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.ct-category-meta span{font-size:13px;color:#0f766e;background:#e6f4f2;border-radius:20px;padding:4px 14px}
@media(max-width:768px){
	.ct-ellipse{width:220px;height:220px}
	.ct-category-text{font-size:20px}
}

/* ---------- Newsletter ---------- */
.ct-newsletter{text-align:center;background:linear-gradient(90deg,#2cbfae,#4a90e2);border-radius:20px;width:calc(100% - 40px);max-width:1300px;margin:10px auto;padding:50px 20px;color:#fff}
.ct-newsletter h2{font-size:34px;font-weight:500;margin:0 0 10px}
.ct-newsletter p{max-width:800px;margin:0 auto;font-size:18px;line-height:1.6}
.ct-newsletter-form{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:26px;flex-wrap:wrap}
.ct-newsletter-form input{background:transparent;border:none;border-bottom:2px solid rgba(255,255,255,.6);color:#fff;font-size:16px;padding:8px 5px;width:320px;max-width:100%;outline:none}
.ct-newsletter-form input::placeholder{color:rgba(255,255,255,.7)}
.ct-newsletter-form button{background:linear-gradient(90deg,#1f7a63,#2cbfae);color:#fff;border:none;border-radius:12px;padding:12px 28px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s}
.ct-newsletter-form button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.2)}

/* ---------- Footer ---------- */
.ct-footer{background:linear-gradient(90deg,#2cbfae,#4a90e2);border-radius:20px 20px 0 0;margin-top:15px;color:#fff}
.ct-footer-content{max-width:1200px;margin:0 auto;padding:50px 30px 30px;display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between}
.ct-footer-left{max-width:340px}
.ct-footer-logo{width:120px;margin-bottom:16px;border-radius:50%}
.ct-footer-text{font-size:15px;line-height:1.7;margin:0 0 8px}
.ct-footer-text a{color:#fff}
.ct-footer-col h3{font-size:17px;font-weight:700;margin:0 0 14px}
.ct-footer-col{display:flex;flex-direction:column;gap:10px}
.ct-footer-col a{color:#fff;font-size:15px;text-decoration:none}
.ct-footer-col a:hover{text-decoration:underline}
.ct-social-link{display:flex;align-items:center;gap:10px}
.ct-footer-bottom{text-align:center;border-top:1px solid rgba(255,255,255,.5);padding:18px;font-size:14px}

/* ---------- Featured products (homepage) ---------- */
.ct-feature-section{max-width:1300px;margin:40px auto;padding:0 20px}
.ct-feature-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:30px}
.ct-feature-tab{background:#fff;border:2px solid #0f766e;color:#0f766e;border-radius:30px;padding:10px 26px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s}
.ct-feature-tab.ct-active,.ct-feature-tab:hover{background:#0f766e;color:#fff}
.ct-feature-pane{display:none}
.ct-feature-pane.ct-active{display:block}

/* ---------- Shared product card ---------- */
.ct-product-card{display:block;text-align:center;background:#fff;border:2px solid transparent;border-radius:16px;padding:16px;box-shadow:0 8px 25px rgba(15,23,42,.08);transition:all .4s;position:relative;overflow:hidden;text-decoration:none}
.ct-product-card:hover{transform:translateY(-8px);box-shadow:0 18px 40px rgba(15,23,42,.15)}
.ct-product-card.ct-green:hover{border-color:#207d5b}
.ct-product-card.ct-purple:hover{border-color:#6d2dfd}
.ct-product-card img{width:100%;height:200px;object-fit:contain;border-radius:12px;transition:transform .4s}
.ct-product-card:hover img{transform:scale(1.08)}
.ct-product-overlay{position:absolute;inset:0;background:rgba(30,41,59,.72);display:flex;align-items:center;justify-content:center;padding:0 14px;opacity:0;transform:translateY(20px);transition:all .4s}
.ct-product-card:hover .ct-product-overlay{opacity:1;transform:translateY(0)}
.ct-product-overlay h3{color:#fff;font-size:17px;font-weight:700;margin:0}

/* ---------- Listing page (products.php) ---------- */
.ct-listing-banner{position:relative;width:100%;height:clamp(220px,26vw,420px);overflow:hidden}
.ct-listing-banner img{width:100%;height:100%;object-fit:cover;object-position:left center}
.ct-listing-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.35),rgba(15,23,42,.05))}

.ct-listing-main{display:flex;align-items:flex-start;gap:35px;max-width:1400px;margin:0 auto;padding:40px 30px 70px;flex-wrap:wrap}
.ct-category-box{flex-shrink:0;width:260px;border-radius:20px;border:2px solid #ccc;background:rgba(153,153,153,.08);padding:22px}
.ct-category-box.ct-green{border-color:#207d5b;background:rgba(44,191,174,.08)}
.ct-category-box.ct-purple{border-color:#6d2dfd;background:rgba(109,45,253,.08)}
.ct-category-box h2{text-align:center;font-size:19px;margin:0 0 12px;padding-bottom:10px;border-bottom:2px solid #fff;color:#1e293b}
.ct-category-box-list{display:flex;flex-direction:column}
.ct-category-box-item{display:block;text-align:center;padding:11px 0;border-bottom:1px solid #fff;color:#1e293b;font-weight:600;text-decoration:none;transition:color .3s}
.ct-category-box-item:last-child{border-bottom:none}
.ct-category-box.ct-green .ct-category-box-item:hover,.ct-category-box.ct-green .ct-category-box-item.ct-active{color:#207d5b}
.ct-category-box.ct-purple .ct-category-box-item:hover,.ct-category-box.ct-purple .ct-category-box-item.ct-active{color:#6d2dfd}

.ct-items-section{flex:1;min-width:0}
.ct-selected-title{text-align:center;font-size:28px;font-weight:700;color:#1e293b;margin:0 0 26px}
.ct-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
@media(max-width:1024px){.ct-listing-main{flex-direction:column}.ct-category-box{width:100%}.ct-category-box-list{flex-direction:row;overflow-x:auto;gap:10px}.ct-category-box-item{border-bottom:none;white-space:nowrap;padding:8px 14px;background:rgba(0,0,0,.04);border-radius:10px}}
@media(max-width:768px){.ct-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.ct-product-grid{grid-template-columns:1fr}}

.ct-pagination{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:30px}
.ct-pagination a{width:38px;height:38px;border-radius:8px;border:1px solid #0f766e;color:#0f766e;display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:600;transition:all .2s}
.ct-pagination a.ct-active,.ct-pagination a:hover{background:#0f766e;color:#fff}

/* ---------- Product detail page ---------- */
.ct-detail-section{display:flex;flex-wrap:wrap;gap:50px;justify-content:center;align-items:flex-start;max-width:1300px;margin:0 auto;padding:60px 30px}
.ct-detail-image{flex:1 1 420px;max-width:520px;background:#fff;border-radius:24px;padding:30px;display:flex;align-items:center;justify-content:center;box-shadow:0 20px 50px rgba(15,23,42,.1)}
.ct-detail-image img{width:100%;height:380px;object-fit:contain}
.ct-detail-info{flex:1 1 420px;max-width:560px;background:rgba(255,255,255,.75);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.7);border-radius:24px;padding:36px;box-shadow:0 20px 50px rgba(15,23,42,.1)}
.ct-detail-info h1{font-size:32px;color:#1e293b;margin:0 0 10px}
.ct-detail-info h2{font-size:16px;color:#64748b;font-weight:500;margin:0 0 18px}
.ct-detail-info h3{font-size:17px;color:#1e293b;margin:20px 0 8px}
.ct-detail-info p{color:#475569;font-size:15px;line-height:1.8}
.ct-detail-info select,.ct-detail-info input[type=text]{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;margin-bottom:14px;font-family:'Poppins',sans-serif}
.ct-detail-submit{background:linear-gradient(90deg,#1f7a63,#2cbfae);color:#fff;border:none;border-radius:12px;padding:13px 30px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}
.ct-detail-submit:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.2)}

.ct-more-items{max-width:1300px;margin:0 auto;padding:0 30px 70px}
.ct-more-items h2{text-align:center;color:#1e293b;font-size:26px;margin-bottom:24px}
.ct-more-track{display:flex;gap:20px;overflow-x:auto;padding-bottom:10px}
.ct-more-track .ct-product-card{flex:0 0 220px}
.ct-more-track .ct-product-card img{height:160px}
