/* CT Ecommerce - base theme. All colours/fonts come from CSS variables set in the Customizer. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ct-bg);color:var(--ct-text);font-family:var(--ct-font-body);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--ct-font-heading);font-weight:var(--ct-heading-weight);line-height:1.2;margin:0 0 .5em;color:var(--ct-text)}
a{color:var(--ct-primary-dark);text-decoration:none;transition:color .15s}
a:hover{color:var(--ct-primary)}
img{max-width:100%;height:auto}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.ct-container{width:100%;max-width:var(--ct-container);margin:0 auto;padding:0 16px}
.ct-main{padding-top:24px;padding-bottom:48px}
.ct-main-full{display:block}
.ct-hide-sm{display:none}
@media(min-width:768px){.ct-hide-sm{display:inline-flex}}

/* Buttons */
.ct-btn,.button,button.button,input[type=submit],.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--ct-primary);color:var(--ct-btn-text);border:0;border-radius:var(--ct-radius-btn);padding:12px 26px;font-family:var(--ct-font-heading);font-weight:700;font-size:1rem;line-height:1.2;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s}
.ct-btn:hover,.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,input[type=submit]:hover{background:var(--ct-primary-dark);color:var(--ct-btn-text);transform:translateY(-2px) scale(1.03);box-shadow:0 8px 20px -4px rgba(219,39,119,.45)}
.ct-btn:active{transform:none}
.ct-btn--block{width:100%}
.ct-btn--ghost{background:transparent;border:2px solid currentColor;color:var(--ct-primary-dark)}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--ct-primary);color:var(--ct-btn-text)}

/* Forms */
input[type=text],input[type=email],input[type=search],input[type=tel],input[type=password],input[type=number],input[type=url],select,textarea,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{width:100%;border:1px solid var(--ct-border);border-radius:12px;padding:10px 14px;font:inherit;color:var(--ct-text);background:#fff;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--ct-primary);box-shadow:0 0 0 3px var(--ct-primary-border)}
.woocommerce form .form-row label{font-weight:700;font-size:.875rem}

/* Top bar */
.ct-topbar{background:var(--ct-topbar-bg);color:var(--ct-topbar-color);font-size:.875rem;border-bottom:1px solid var(--ct-primary-border)}
.ct-topbar-inner{display:flex;align-items:center;justify-content:space-between;padding-top:8px;padding-bottom:8px;gap:16px}
.ct-topbar-msgs{display:flex;gap:24px;align-items:center}
.ct-topbar-links{display:flex;gap:16px;font-weight:700}
.ct-topbar a{color:var(--ct-topbar-color)}
.ct-topbar a:hover{opacity:.75}

/* Header */
.ct-site-header{background:var(--ct-header-bg);color:var(--ct-header-text);position:sticky;top:0;z-index:50;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.admin-bar .ct-site-header{top:32px}
.ct-header-main{display:flex;align-items:center;gap:24px;padding-top:var(--ct-pad-y,14px);padding-bottom:var(--ct-pad-y,14px)}
.ct-brand{display:flex;flex-direction:column;flex-shrink:0;line-height:1.1}
.ct-logo{flex-shrink:0;font-family:var(--ct-font-heading);font-weight:var(--ct-logo-weight,800);font-size:var(--ct-logo-size);letter-spacing:var(--ct-logo-ls,0);text-transform:var(--ct-logo-tt,none);line-height:1}
.ct-logo-1{color:var(--ct-logo-c1)}.ct-logo-2{color:var(--ct-logo-c2)}
.ct-logo--img{display:block}
.ct-logo--img img{display:block;width:var(--ct-logo-img);max-width:100%;height:auto;max-height:var(--ct-logo-maxh,none);object-fit:contain;border-radius:var(--ct-logo-radius,0);transition:width .2s ease}
.ct-site-header.is-stuck .ct-logo--header img{width:var(--ct-logo-img-s)}
.ct-logo--footer img{width:var(--ct-flogo-img)}
.ct-logo-tag{margin-top:4px;color:var(--ct-logo-tag-c);font-size:var(--ct-logo-tag-size);font-weight:600;letter-spacing:.02em}
@media(max-width:767px){.ct-logo{font-size:var(--ct-logo-size-m)}.ct-logo--img img{width:var(--ct-logo-img-m)}.ct-site-header.is-stuck .ct-logo--header img{width:var(--ct-logo-img-m)}}
.ct-search-wrap{flex:1;min-width:0}
.ct-search{display:flex;align-items:stretch;width:100%}
.ct-search-cat{width:auto;flex-shrink:0;max-width:170px;border-radius:999px 0 0 999px;background:#F9FAFB;font-weight:700;font-size:.875rem;padding:10px 14px;display:none}
@media(min-width:640px){.ct-search-cat{display:block}}
.ct-search-input{border-radius:0;border-left:0;min-width:0}
.ct-search-cat+.ct-search-input{border-left:0}
.ct-search>.ct-search-input:first-child{border-radius:999px 0 0 999px;border-left:1px solid var(--ct-border)}
.ct-search-btn{background:var(--ct-primary);color:var(--ct-btn-text);border:0;border-radius:0 999px 999px 0;padding:0 20px;cursor:pointer;font-size:1rem}
.ct-search-btn:hover{background:var(--ct-primary-dark)}
.ct-actions{display:flex;align-items:center;gap:22px;font-weight:700;font-size:.875rem;flex-shrink:0}
.ct-action{color:var(--ct-header-text);display:inline-flex;align-items:center;gap:6px;position:relative}
.ct-action:hover{color:var(--ct-primary-dark)}
.ct-action--login,.ct-action--wish{display:none}
@media(min-width:768px){.ct-action--wish{display:inline-flex}}
@media(min-width:1024px){.ct-action--login{display:inline-flex}}
.ct-cart-count{position:absolute;top:-10px;right:-14px;background:var(--ct-badge-bg);color:#fff;font-size:11px;min-width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.ct-cart-link{padding-right:6px}
.ct-burger{display:none;background:none;border:0;font-size:1.6rem;cursor:pointer;color:var(--ct-header-text)}

/* Nav + mega */
.ct-nav{background:var(--ct-nav-bg);border-top:1px solid #F3F4F6}
.ct-nav-inner{display:flex;align-items:center;gap:32px;font-weight:700;font-size:.95rem}
.ct-nav a{color:var(--ct-nav-color)}
.ct-nav a:hover{color:var(--ct-nav-hover)}
.ct-menu{display:flex;gap:32px;list-style:none;margin:0;padding:0}
.ct-menu>li{position:relative;padding:12px 0}
.ct-menu .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:200px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.12);border-radius:0 0 12px 12px;list-style:none;margin:0;padding:8px 0;z-index:60}
.ct-menu li:hover>.sub-menu{display:block}
.ct-menu .sub-menu a{display:block;padding:8px 16px}
.ct-nav-extra{margin-left:0;color:var(--ct-nav-extra)!important}
.ct-mega{position:relative;padding:12px 0}
.ct-mega-btn{background:none;border:0;font:inherit;font-weight:700;color:var(--ct-nav-hover);cursor:pointer;padding:0}
.ct-mega-panel{display:none;position:absolute;left:0;top:100%;width:288px;background:#fff;box-shadow:0 14px 34px rgba(0,0,0,.14);border:1px solid #F3F4F6;border-radius:0 0 14px 14px;padding:8px 0;z-index:70}
.ct-mega:hover .ct-mega-panel,.ct-mega.is-open .ct-mega-panel{display:block}
.ct-mega-list{list-style:none;margin:0;padding:0}
.ct-mega-list a{display:flex;justify-content:space-between;padding:10px 16px}
.ct-mega-list a:hover{background:var(--ct-primary-soft);color:var(--ct-primary-dark)}

@media(max-width:900px){
 .ct-burger{display:block}
 .ct-header-main{flex-wrap:wrap;gap:12px}
 .ct-search-wrap{order:5;flex-basis:100%}
 .ct-actions{margin-left:auto}
 .ct-nav{display:none}
 .ct-nav.is-open{display:block}
 .ct-nav-inner{flex-direction:column;align-items:flex-start;gap:0;padding-bottom:12px}
 .ct-menu{flex-direction:column;gap:0;width:100%}
 .ct-menu>li{padding:10px 0;border-bottom:1px solid #F3F4F6}
 .ct-menu .sub-menu{position:static;display:block;box-shadow:none;padding-left:14px}
 .ct-mega{width:100%}.ct-mega-panel{position:static;width:100%;box-shadow:none}
}

/* Breadcrumb */
.ct-breadcrumb{font-size:.875rem;color:var(--ct-muted);margin-bottom:20px}
.ct-breadcrumb a{color:var(--ct-muted)}.ct-breadcrumb a:hover{color:var(--ct-primary-dark)}
.ct-bc-sep{margin:0 6px}.ct-bc-current{color:var(--ct-text);font-weight:700}

/* Posts */
.ct-page-title,.ct-archive-head h1{font-size:2rem}
.ct-post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin:24px 0}
.ct-post-card{border:1px solid #F3F4F6;border-radius:var(--ct-radius-card);overflow:hidden;background:#fff}
.ct-post-thumb img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.ct-post-body{padding:18px}.ct-post-body h2{font-size:1.2rem}.ct-post-body h2 a{color:var(--ct-text)}
.ct-post-meta{font-size:.8rem;color:var(--ct-muted);margin:0 0 6px}
.ct-readmore{font-weight:700}
.ct-entry>*{max-width:100%}
.navigation.pagination .nav-links,.woocommerce-pagination ul{display:flex;gap:8px;justify-content:center;list-style:none;padding:0;border:0!important}
.page-numbers{display:inline-flex;min-width:40px;height:40px;align-items:center;justify-content:center;border:1px solid var(--ct-border);border-radius:12px;color:var(--ct-text);font-weight:700;padding:0 10px}
.page-numbers.current,.page-numbers:hover{background:var(--ct-primary);border-color:var(--ct-primary);color:#fff}
.woocommerce-pagination ul li{border:0!important;overflow:visible}
.ct-404{text-align:center;padding:80px 16px}.ct-404-code{font-family:var(--ct-font-heading);font-size:7rem;color:var(--ct-primary);margin:0;line-height:1}
.ct-comments{margin-top:40px}

/* Footer */
.ct-site-footer{background:var(--ct-footer-bg);color:var(--ct-footer-text);margin-top:24px;padding-top:56px;font-size:.875rem}
.ct-footer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;padding-bottom:40px}
.ct-footer-about{grid-column:span 2}
.ct-footer-about p{line-height:1.7;margin:12px 0}
@media(min-width:768px){.ct-footer-grid{grid-template-columns:2fr repeat(4,1fr)}.ct-footer-about{grid-column:auto}}
.ct-footer-title{font-family:var(--ct-font-heading);font-weight:700;color:var(--ct-footer-head);margin:0 0 12px;font-size:.95rem}
.ct-footer-menu{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ct-site-footer a{color:var(--ct-footer-text)}.ct-site-footer a:hover{color:var(--ct-primary-dark)}
.ct-social{display:flex;gap:10px;margin-top:14px}
.ct-social a{width:36px;height:36px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}
.ct-social a:hover{background:var(--ct-primary-border)}
.ct-footer-bottom{border-top:1px solid var(--ct-footer-line);padding:16px 0;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.ct-footer-bottom p{margin:0}
.ct-pay{display:flex;gap:8px;flex-wrap:wrap}
.ct-pay span{padding:3px 9px;background:#fff;border:1px solid var(--ct-border);border-radius:6px;font-size:.75rem;font-weight:700}

/* ---------- WooCommerce ---------- */
.woocommerce-breadcrumb{display:none}
.woocommerce-notices-wrapper .woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-message{border:0;border-radius:12px;background:var(--ct-primary-soft);color:var(--ct-text);border-left:4px solid var(--ct-primary);padding:14px 18px 14px 48px}
.woocommerce-error{background:#FEF2F2;border-left-color:#EF4444}
.woocommerce-message::before,.woocommerce-info::before{color:var(--ct-primary)}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:0;padding:0;list-style:none}
@media(min-width:768px){.woocommerce ul.products{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1100px){.woocommerce ul.products{grid-template-columns:repeat(4,1fr)}}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;border:1px solid #F3F4F6;border-radius:var(--ct-radius-card);padding:12px;background:#fff;position:relative;transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column}
.woocommerce ul.products li.product:hover{box-shadow:0 12px 28px rgba(0,0,0,.08);transform:translateY(-2px)}
.woocommerce ul.products li.product img{border-radius:calc(var(--ct-radius-card) - 4px);margin:0 0 10px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--ct-font-body);font-weight:700;font-size:.9rem;padding:0;color:var(--ct-text)}
.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ct-text);font-weight:800}
.woocommerce .price del{color:var(--ct-muted);font-weight:400}.woocommerce .price ins{text-decoration:none}
.woocommerce ul.products li.product .button{margin-top:auto;width:100%;padding:10px}
.woocommerce span.onsale{background:var(--ct-primary);color:#fff;border-radius:999px;min-height:0;min-width:0;line-height:1;padding:6px 10px;font-size:.75rem;top:10px;left:10px;right:auto;margin:0}
.woocommerce .star-rating span::before{color:#F59E0B}
.woocommerce-result-count,.woocommerce-ordering{margin-bottom:16px}
.woocommerce-ordering select{padding:8px 12px}

/* Single product */
.woocommerce div.product{display:grid;grid-template-columns:1fr;gap:32px}
@media(min-width:900px){.woocommerce div.product{grid-template-columns:1fr 1fr}.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related,.woocommerce div.product .upsells{grid-column:1/-1}}
.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto!important;float:none!important;margin:0!important}
.woocommerce div.product .product_title{font-size:1.9rem}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.woocommerce .quantity .qty{width:72px;text-align:center}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;gap:24px;padding:0;margin:0 0 20px;border-bottom:1px solid var(--ct-border);overflow:visible}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:0;padding:0;margin:0;border-radius:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:10px 0;font-weight:700;color:var(--ct-muted);display:block}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ct-primary-dark);border-bottom:3px solid var(--ct-primary)}
.woocommerce #reviews #comments ol.commentlist{padding:0}
.woocommerce #reviews #comments ol.commentlist li .comment-text{border:1px solid #F3F4F6;border-radius:14px;margin-left:60px;padding:14px}

/* Cart + checkout */
.woocommerce table.shop_table{border:1px solid #F3F4F6;border-radius:var(--ct-radius-card);border-collapse:separate;overflow:hidden}
.woocommerce table.shop_table th{background:var(--ct-primary-soft);font-family:var(--ct-font-heading)}
.woocommerce-cart table.cart img{width:80px;border-radius:12px}
.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-checkout #order_review{border:1px solid #F3F4F6;border-radius:var(--ct-radius-card);padding:20px;background:#fff}
@media(min-width:900px){
 .woocommerce-cart .woocommerce{display:grid;grid-template-columns:2fr 1fr;gap:28px;align-items:start}
 .woocommerce-cart .woocommerce-cart-form{grid-column:1}.woocommerce-cart .cart-collaterals{grid-column:2;grid-row:1/span 2}
 .woocommerce-cart .cart-collaterals .cart_totals{width:100%;float:none}
 .woocommerce-checkout form.checkout{display:grid;grid-template-columns:3fr 2fr;gap:28px;align-items:start}
 .woocommerce-checkout #customer_details{grid-column:1}.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:2}
 .woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{width:100%;float:none}
}
.woocommerce-checkout #payment{background:var(--ct-primary-soft);border-radius:var(--ct-radius-card)}
.woocommerce-checkout #payment div.payment_box{background:#fff;border-radius:12px}
.woocommerce-checkout #payment div.payment_box::before{display:none}
#place_order{width:100%;padding:14px}

/* My Account */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:1fr;gap:28px}
@media(min-width:900px){.woocommerce-account .woocommerce{grid-template-columns:260px 1fr}}
.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{width:auto;float:none}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:10px;border:1px solid #F3F4F6;border-radius:var(--ct-radius-card);background:#fff}
.woocommerce-MyAccount-navigation li a{display:block;padding:11px 14px;border-radius:12px;font-weight:700;color:var(--ct-text)}
.woocommerce-MyAccount-navigation li a:hover{background:var(--ct-primary-soft);color:var(--ct-primary-dark)}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--ct-primary-soft);color:var(--ct-primary-dark)}
.woocommerce-MyAccount-content{border:1px solid #F3F4F6;border-radius:var(--ct-radius-card);padding:24px;background:#fff}
.woocommerce-orders-table .button{padding:8px 16px;font-size:.8rem}
