/* ===== Header nav ===== */
.ib-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.ib-logo{display:inline-flex;align-items:center;gap:10px;color:#fff!important;font-family:var(--ib-font-head);font-weight:700;font-size:20px;letter-spacing:.5px;text-decoration:none!important}
.ib-menu>ul{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.ib-menu li{position:relative}
.ib-menu a{color:#fff;padding:10px 12px;display:inline-block;font-weight:600;font-size:15px;text-decoration:none}
.ib-menu a:hover{color:var(--ib-primary)}
.ib-menu a.ib-btn{padding:10px 20px;color:var(--ib-bg)!important}
.ib-sub-toggle{background:none;border:0;color:#fff;cursor:pointer;padding:6px;margin-left:-8px}
.ib-sub{display:none;position:absolute;top:100%;left:0;min-width:250px;background-color:var(--ib-surface);border:1px solid var(--ib-border);border-radius:12px;padding:8px;list-style:none;margin:0;z-index:50}
.has-sub:hover>.ib-sub,.has-sub.open>.ib-sub,.has-sub:focus-within>.ib-sub{display:block}
.ib-sub a{display:block;padding:9px 12px}
.ib-burger{display:none;background:none;border:1px solid var(--ib-border);border-radius:8px;padding:10px;cursor:pointer}
.ib-burger span{display:block;width:22px;height:2px;background-color:#fff;margin:5px 0}
@media(max-width:1200px){
 .ib-burger{display:block}
 .ib-menu{display:none;position:absolute;left:0;right:0;top:100%;background-color:var(--ib-bg);border-bottom:1px solid var(--ib-border);max-height:80vh;overflow:auto;padding:12px 20px 20px}
 .ib-menu.open{display:block}
 .ib-menu>ul{flex-direction:column;align-items:stretch}
 .ib-menu li{border-bottom:1px solid var(--ib-border)}
 .ib-sub-toggle{position:absolute;right:0;top:8px}
 .ib-sub{position:static;display:none;border:0;background-color:transparent;padding:0 0 8px 12px}
 .has-sub:hover>.ib-sub{display:none}.has-sub.open>.ib-sub{display:block}
 .ib-nav-cta{border:0!important;padding-top:12px}
}
/* hero + misc layout */
.ib-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.ib-hero-img img{border-radius:18px;border:1px solid var(--ib-border);width:100%;height:auto;display:block}
.ib-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.ib-prose{max-width:820px}
.ib-prose p{margin:0 0 16px}
.ib-prose h2,.ib-wrap>h2{font-size:clamp(26px,3.4vw,38px);margin:0 0 14px}
.ib-prose h3{font-size:22px;margin:24px 0 8px}
.ib-center{text-align:center;margin-left:auto;margin-right:auto}
.ib-ont-line{margin-top:28px;font-size:14px;text-align:center}
.ib-linklist{columns:2;padding-left:20px}
.ib-small{font-size:14px}
.ib-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin:22px 0 0;padding:0;list-style:none;font-size:15px}
.ib-trust li::before{content:"\2713";color:var(--ib-primary);margin-right:8px;font-weight:700}
.ib-alt{background:var(--ib-surface)}
.ib-alt .ib-card{background:var(--ib-bg)}
.ib-grid a.ib-card{text-decoration:none;color:var(--ib-text)}
.ib-grid a.ib-card:hover{border-color:var(--ib-primary)}
.ib-plan .ib-btn{width:100%;margin-top:6px}
.ib-interac-line{text-align:center;font-size:13px;margin:10px 0 0;color:var(--ib-text)}
.ib-save{color:var(--ib-gold);font-size:14px;margin:6px 0 2px}
.ib-tier{font-family:var(--ib-font-head);text-transform:uppercase;letter-spacing:1.5px;font-size:13px;color:var(--ib-primary)}
.ib-plan--premium .ib-tier{color:var(--ib-gold)}
.ib-plan h3{font-size:26px;margin:4px 0}
.ib-server{font-size:14px;margin:0 0 14px}
.ib-card-img{border-radius:10px;margin-bottom:14px;width:100%;height:auto}
@media(max-width:900px){.ib-hero-grid{grid-template-columns:1fr}.ib-linklist{columns:1}}

/* header fixes: neutralise theme/Elementor default button styling */
.ib-header button{font-family:inherit;text-transform:none;letter-spacing:0}
.ib-sub-toggle,.ib-burger{background-color:transparent!important;color:#fff!important;border-color:transparent!important;min-width:0;width:auto;height:auto;line-height:1}
.ib-burger{border:1px solid var(--ib-border)!important;padding:10px!important}
.ib-sub-toggle{border:0!important;padding:6px!important;font-size:12px}
.ib-menu a{white-space:nowrap;padding:10px 9px;font-size:15px}
.ib-menu>ul{gap:2px}
.ib-logo span{white-space:nowrap}
@media(min-width:1201px) and (max-width:1320px){.ib-menu a{font-size:14px;padding:10px 6px}.ib-logo{font-size:18px}}

/* forms */
.ib-form p{margin:0 0 14px}
.ib-form label{display:block;color:#fff;font-weight:600;margin-bottom:5px}
.ib-form input[type=text],.ib-form input[type=email],.ib-form input[type=tel],.ib-form select,.ib-form textarea{width:100%;background-color:var(--ib-surface-2);color:#fff;border:1px solid var(--ib-border);border-radius:8px;padding:12px;font:inherit}
.ib-form .ib-check label{display:flex;gap:8px;align-items:flex-start;font-weight:400}
.ib-hp{position:absolute!important;left:-9999px!important;height:0;overflow:hidden}
.ib-form-msg{background-color:var(--ib-surface-2);border-left:4px solid var(--ib-primary);padding:12px 16px;border-radius:8px;margin-bottom:14px;color:#fff}
.ib-form-msg.ib-err{border-left-color:var(--ib-gold)}
.ib-formbox{max-width:640px}
.ib-two{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
@media(max-width:900px){.ib-two{grid-template-columns:1fr}}

/* nav: tablet + mobile polish */
.ib-header{position:sticky}
@media(max-width:1200px){
 .ib-menu{width:100%;box-sizing:border-box;box-shadow:0 18px 30px rgba(0,0,0,.45)}
 .ib-menu a{white-space:normal;display:block;padding:14px 4px;font-size:17px}
 .ib-menu .ib-btn{display:flex;width:100%;justify-content:center;padding:14px 20px}
 .ib-menu li.has-sub>a{display:inline-block;width:calc(100% - 48px)}
 .ib-sub-toggle{top:10px;padding:10px!important;font-size:14px}
 .ib-sub a{font-size:16px;padding:11px 4px}
}
@media(max-width:480px){.ib-logo{font-size:17px}.ib-logo svg{width:30px;height:30px}.ib-nav{min-height:64px}}

/* tab panels: the hidden attribute must win over display:grid */
[hidden]{display:none!important}
.ib-tabs{flex-wrap:wrap}
.ib-tab{min-height:44px}
/* global responsive safety */
.ib-wrap,.ib-section{max-width:100%}
.ib-prose,.ib-card,.ib-plan{min-width:0;overflow-wrap:anywhere}
.ib-table-wrap{-webkit-overflow-scrolling:touch}
@media(max-width:767px){.ib-wrap{padding:0 16px}.ib-grid--4{grid-template-columns:1fr}.ib-stats{grid-template-columns:repeat(2,1fr)}.ib-tabs .ib-tab{flex:1;padding:10px 12px}.ib-btns .ib-btn{width:100%}.ib-hero h1{font-size:clamp(30px,8vw,40px)}}
@media(min-width:768px) and (max-width:1024px){.ib-grid--4{grid-template-columns:repeat(2,1fr)}}

/* tabs: clear selected vs unselected state (override theme button styles) */
.ib-tabs .ib-tab{background-color:var(--ib-surface)!important;color:#fff!important;border:1px solid var(--ib-border)!important;border-radius:999px;padding:10px 26px;font-family:var(--ib-font-head);font-weight:700;font-size:16px;cursor:pointer}
.ib-tabs .ib-tab small{font-weight:400;opacity:.85}
.ib-tabs .ib-tab:hover{border-color:var(--ib-primary)!important}
.ib-tabs .ib-tab[aria-selected=true]{background-color:var(--ib-primary)!important;color:var(--ib-bg)!important;border-color:var(--ib-primary)!important}
.ib-tabs .ib-tab[data-tier=premium][aria-selected=true]{background-color:#2E9BFF!important;border-color:#2E9BFF!important}

/* centre text blocks and section headings */
.ib-prose{margin-left:auto;margin-right:auto}
.ib-prose>h2,.ib-wrap>h2,.ib-wrap>.ib-lead,.ib-wrap>.ib-eyebrow{text-align:center;margin-left:auto;margin-right:auto}
.ib-wrap>.ib-lead{max-width:760px;margin-bottom:28px}
.ib-prose h3{text-align:left}
.ib-faq{max-width:860px;margin:0 auto}
.ib-formbox{margin-left:auto;margin-right:auto}
.ib-note{max-width:820px;margin:0 auto}
.ib-note h2{text-align:left}
.ib-linklist{max-width:760px;margin:0 auto}
.ib-table-wrap{max-width:100%}
.ib-wrap>.ib-btns{justify-content:center}
.ib-center{text-align:center}
.ib-two .ib-prose{margin:0}
.ib-two .ib-prose h3{text-align:left}
@media(max-width:767px){.ib-prose>h2,.ib-wrap>h2{text-align:left}.ib-wrap>.ib-lead{text-align:left}}

/* comfortable side gutters on every screen size */
.ib-wrap{width:100%;max-width:1240px;margin-left:auto;margin-right:auto;padding-left:clamp(20px,5vw,56px);padding-right:clamp(20px,5vw,56px);box-sizing:border-box}
.ib-hero-grid{padding-left:clamp(20px,5vw,56px)!important;padding-right:clamp(20px,5vw,56px)!important}
.ib-section{padding-top:clamp(44px,7vw,80px);padding-bottom:clamp(44px,7vw,80px)}
.ib-prose{width:100%}
.ib-card,.ib-plan,.ib-cta,.ib-note{box-sizing:border-box}
.ib-cta{padding:clamp(28px,5vw,52px) clamp(18px,4vw,40px)}
@media(max-width:767px){.ib-wrap{padding-left:20px;padding-right:20px}}

/* roomier, logical page margins (final override) */
.ib-wrap{max-width:1180px;padding-left:clamp(24px,6vw,88px);padding-right:clamp(24px,6vw,88px)}
.ib-hero-grid{padding-left:clamp(24px,6vw,88px)!important;padding-right:clamp(24px,6vw,88px)!important}
.ib-section{padding-top:clamp(56px,8vw,104px);padding-bottom:clamp(56px,8vw,104px)}
.ib-hero{padding:clamp(48px,6vw,88px) 0 clamp(56px,7vw,96px)}
.ib-grid{gap:clamp(18px,2.4vw,30px)}
.ib-header .ib-wrap,.ib-footer .ib-wrap{padding-left:clamp(20px,4vw,56px);padding-right:clamp(20px,4vw,56px);max-width:1320px}
@media(max-width:767px){.ib-wrap,.ib-hero-grid{padding-left:24px!important;padding-right:24px!important}.ib-header .ib-wrap{padding-left:20px!important;padding-right:20px!important}}

/* balanced edges + larger, readable type (final override) */
.ib-wrap{max-width:1360px;padding-left:clamp(20px,3.6vw,56px);padding-right:clamp(20px,3.6vw,56px)}
.ib-hero-grid{padding-left:clamp(20px,3.6vw,56px)!important;padding-right:clamp(20px,3.6vw,56px)!important}
.ib-header .ib-wrap,.ib-footer .ib-wrap{max-width:1360px;padding-left:clamp(20px,3.6vw,56px);padding-right:clamp(20px,3.6vw,56px)}
body{font-size:17px}
.ib-prose{max-width:900px}
.ib-prose p,.ib-prose li{font-size:18px;line-height:1.75}
.ib-lead{font-size:clamp(18px,1.5vw,21px);line-height:1.65}
.ib-wrap>.ib-lead{max-width:860px}
.ib-prose h2,.ib-wrap>h2{font-size:clamp(28px,3.4vw,42px)}
.ib-hero h1{font-size:clamp(34px,4.6vw,58px)}
.ib-card h3,.ib-step h3{font-size:clamp(21px,1.8vw,24px)}
.ib-card p,.ib-step p{font-size:16.5px;line-height:1.7}
.ib-plan li{font-size:16px}
.ib-plan h3{font-size:28px}
.ib-faq summary{font-size:clamp(18px,1.6vw,21px)}
.ib-faq details>div p{font-size:17px}
.ib-faq{max-width:960px}
.ib-table th,.ib-table td{font-size:16.5px}
.ib-stat b{font-size:clamp(28px,2.6vw,36px)}
.ib-menu a{font-size:16px}
@media(min-width:1201px) and (max-width:1320px){.ib-menu a{font-size:14.5px;padding:10px 7px}}
.ib-section{padding-top:clamp(52px,6.5vw,92px);padding-bottom:clamp(52px,6.5vw,92px)}
@media(max-width:767px){.ib-wrap,.ib-hero-grid{padding-left:20px!important;padding-right:20px!important}.ib-prose p,.ib-prose li{font-size:17px}body{font-size:16.5px}}

/* single product + terms */
.woocommerce div.product{max-width:1360px;margin:0 auto;padding:clamp(28px,4vw,56px) clamp(20px,3.6vw,56px)}
.woocommerce div.product .product_title{font-size:clamp(30px,4vw,48px)}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:#fff;font-family:var(--ib-font-head);font-size:34px}
.ib-cad{font-size:16px;color:var(--ib-text)}
.ib-compare-link{margin:10px 0}
.woocommerce-breadcrumb{color:var(--ib-text);font-size:14px;margin-bottom:14px}
.woocommerce-breadcrumb a{color:var(--ib-text)}
.ib-product-body{margin:48px auto 0;max-width:900px}
.ib-product-body p,.ib-product-body li{font-size:18px;line-height:1.75}
.ib-product-body h2{font-size:clamp(26px,3vw,36px);margin:36px 0 12px}
.ib-term-intro p{font-size:18px}
.woocommerce div.product form.cart{margin:20px 0}
.woocommerce div.product div.images{margin-bottom:24px}
.single-post .entry-title{font-size:clamp(32px,4vw,52px);max-width:900px;margin:40px auto 0;padding:0 20px}
.single-post .page-content,.single-post .post-tags{max-width:100%}
.comment-respond,.comments-area{max-width:900px;margin:40px auto;padding:0 20px}

.ib-product-body{clear:both;width:100%}
.woocommerce div.product::after{content:"";display:table;clear:both}
.ib-plan h3 a{color:#fff!important;font-size:22px;text-decoration:none}
.ib-plan h3 a:hover{color:var(--ib-primary)!important}
.ib-main{max-width:none;width:100%}
.woocommerce div.product div.summary{margin-bottom:24px}
@media(min-width:769px){.woocommerce div.product div.images{width:44%!important}.woocommerce div.product div.summary{width:50%!important}}

/* a11y: footer headings as styled labels; links distinguishable without colour alone */
.ib-fh{font-family:var(--ib-font-head);color:#fff;font-weight:700;font-size:17px;margin:0 0 14px}
.ib-prose a:not(.ib-btn),.ib-card p a,.ib-faq a,.ib-note a,.ib-product-body a,.ib-table a,.ib-small a,.ib-form-msg a,.ib-term-intro a,.ib-lead a,.ib-footer p a{text-decoration:underline;text-underline-offset:3px}
.ib-footer li a,.ib-ont-line a{text-decoration:underline;text-underline-offset:3px}

main p a:not(.ib-btn),main li a:not(.ib-btn),main td a,main summary a{text-decoration:underline;text-underline-offset:3px}
.woocommerce-breadcrumb,.woocommerce-breadcrumb a{color:#C3CCDA!important}
@media(min-width:360px) and (max-width:767px){.ib-footer-cols{grid-template-columns:repeat(2,1fr);gap:24px 16px}.ib-footer-cols>div:first-child{grid-column:1/-1}}

/* checkout: use the full width (fields left, order summary right) */
.woocommerce-checkout .woocommerce{max-width:1360px;margin:0 auto;padding:clamp(24px,4vw,56px) clamp(20px,3.6vw,56px)}
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,440px);gap:0 clamp(24px,3vw,48px);align-items:start}
.woocommerce-checkout form.checkout>.woocommerce-NoticeGroup,.woocommerce-checkout form.checkout>.woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-checkout #customer_details{grid-column:1;grid-row:1 / span 2;width:100%!important;float:none!important}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{width:100%!important;float:none!important;max-width:none}
.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1;margin:0 0 14px;float:none!important;width:100%!important}
.woocommerce-checkout #order_review{grid-column:2;grid-row:2;width:100%!important;float:none!important;position:sticky;top:96px}
.woocommerce-checkout .ib-steps-bar{max-width:1360px;margin:0 auto 8px;padding:0 clamp(20px,3.6vw,56px)}
.woocommerce-checkout .woocommerce-billing-fields h3{font-size:clamp(24px,2.4vw,30px);margin:0 0 18px}
.ib-device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:1280px){.ib-device-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:991px){
 .woocommerce-checkout form.checkout{grid-template-columns:minmax(0,1fr)}
 .woocommerce-checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:1;grid-row:auto}
 .woocommerce-checkout #order_review{position:static}
}

/* checkout polish */
body.woocommerce-checkout main#content,body.woocommerce-checkout .site-main,body.woocommerce-checkout .page-content,body.woocommerce-checkout .page-header{max-width:none!important;width:100%!important}
body.woocommerce-checkout .page-header .entry-title{max-width:1360px;margin:0 auto;padding:clamp(24px,3vw,40px) clamp(20px,3.6vw,56px) 0;font-size:clamp(30px,4vw,46px)}
body.woocommerce-checkout .page-header{padding:0}
.woocommerce-checkout .ib-steps-bar{max-width:none;padding:0;margin:0 0 28px}
.woocommerce-checkout form.checkout{grid-template-rows:auto 1fr}
.woocommerce-checkout #payment{background-color:var(--ib-surface)!important;border-radius:12px}
.woocommerce-checkout #payment div.payment_box{background-color:var(--ib-surface-2)!important;color:#fff!important}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--ib-surface-2)!important}
.woocommerce-checkout #payment div.form-row{padding:16px!important}
.woocommerce-checkout #place_order{float:none!important;width:100%;display:flex}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--ib-border)!important;padding:16px!important}
.woocommerce-checkout #payment ul.payment_methods li label{color:#fff}
.woocommerce-checkout .woocommerce-privacy-policy-text{font-size:14px;margin-bottom:14px}
.woocommerce-checkout table.shop_table{border-radius:12px;overflow:hidden;border-collapse:separate;border-spacing:0}
.woocommerce-checkout table.shop_table th,.woocommerce-checkout table.shop_table td{border-color:var(--ib-border)!important;color:var(--ib-text)}
@media(min-width:1500px){.ib-device-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1280px) and (max-width:1499px){.ib-device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* checkout: single column, fields use the full width, order summary below */
.woocommerce-checkout form.checkout{display:block!important}
.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{width:100%!important;float:none!important;max-width:none}
.woocommerce-checkout #order_review{position:static!important;margin-top:8px}
.woocommerce-checkout #order_review_heading{margin:28px 0 14px}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.ib-device-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:991px){.ib-device-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr}.ib-device-grid{grid-template-columns:1fr!important}}

/* tap targets: "View details" links in product cards */
.ib-plan p a{display:inline-block;min-height:24px;padding:4px 0;line-height:1.5}
.ib-plan p{margin:6px 0}
.ib-linklist li{margin:4px 0}
.ib-linklist a{display:inline-block;min-height:28px;line-height:28px}

/* add-to-cart forms */
.ib-buy{margin:0;display:inline-block}
.ib-plan .ib-buy{display:block;margin-top:6px}
.ib-plan .ib-buy .ib-btn,.ib-btns .ib-buy .ib-btn{font-family:var(--ib-font-head)}
.ib-plan .ib-buy .ib-btn{width:100%}
@media(max-width:767px){.ib-btns .ib-buy{width:100%}.ib-btns .ib-buy .ib-btn{width:100%}}

/* WhatsApp button stays bottom-right; Tawk.to chat is bottom-left */
.ib-wa{bottom:18px!important;right:18px!important}
