:root{--primary:#2563eb;--secondary:#3b82f6;--primary-rgb:37,99,235;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:"Inter",Segoe UI,Bahnschrift,sans-serif;background:#f4f9fc;color:#1f282e;line-height:1.7;}
/* Site Section - full width backgrounds */
.site-section{width:100%;}
.page{display:flex;flex-direction:column;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:16px;box-sizing:border-box;}
img{max-width:100%;height:auto;display:block;}
/* Gradient text utility */
.text-gradient{background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
/* Block Row System */
.block-row{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:flex-start;margin-bottom:16px;width:100%;}
.block-row .block{flex:1 1 auto;margin-bottom:0;}
/* Base Block */
.block{position:relative;width:var(--flow-w, 100%);max-width:var(--block-w);height:auto;margin-bottom:16px;box-sizing:border-box;font-size:var(--block-font-size,16px);line-height:1.7;}
.block.flow-left{margin-right:auto;margin-left:0;text-align:left;}
.block.flow-left .button-set{justify-content:flex-start;}
.block.flow-right{margin-left:auto;margin-right:0;text-align:right;}
.block.flow-right .button-set{justify-content:flex-end;}
.block.flow-center{margin-left:auto;margin-right:auto;text-align:center;flex:0 1 auto;}
.block.flow-center .button-set{justify-content:center;}
.image-block{padding:0;background:transparent;}
.block img{width:100%;height:100%;object-fit:cover;border-radius:12px;display:block;}
.block-title{margin:0;font-size:1em;line-height:1.2;}
.block-text{margin:0;line-height:1.7;}
/* Product Block */
.product-block{display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:16px;border:1px solid rgba(0,0,0,0.1);background:rgba(0,0,0,0.04);transition:border-color 0.3s;}
.product-block:hover{border-color:rgba(var(--primary-rgb),0.3);}
.product-title{margin:0;font-size:1.15em;font-weight:700;}
.product-subtitle{margin:0;font-size:0.9em;opacity:0.85;line-height:1.5;}
.product-price{font-size:1.2em;font-weight:700;margin-top:8px;}
.product-image{width:100%;object-fit:cover;border-radius:12px;}
.product-features{margin:10px 0;padding-left:20px;font-size:0.9em;opacity:0.9;line-height:1.7;}
.product-features li{margin:6px 0;}
/* Buttons */
.block .btn{display:inline-block;padding:12px 24px;border-radius:10px;background:var(--primary);color:#ffffff;text-decoration:none;font-weight:700;transition:transform 0.2s,box-shadow 0.2s;}
.block .btn:hover{transform:translateY(-2px);box-shadow:0 4px 20px rgba(var(--primary-rgb),0.4);}
/* Button Set */
.button-set{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;width:100%;}
.button-set .btn-chip{display:inline-block;padding:8px 14px;border-radius:10px;border:1px solid rgba(0,0,0,0.15);color:#29353d;text-decoration:none;font-weight:600;background:rgba(0,0,0,0.05);transition:all 0.2s;}
.button-set .btn-chip:hover{background:rgba(0,0,0,0.10);}
.button-set .btn-chip.active{background:var(--btn-accent,var(--primary));color:#ffffff;border-color:transparent;}
.button-set.pills .btn-chip{border-radius:999px;}
.button-set.ghost .btn-chip{background:transparent;border-style:dashed;}
.button-set.soft .btn-chip{background:rgba(0,0,0,0.08);}
/* Video Block */
.video-block{padding:0;background:transparent;}
.video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:12px;}
.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}
/* Social Links */
.social-links{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.social-link{width:44px;height:44px;border-radius:50%;background:rgba(0,0,0,0.06);display:grid;place-items:center;color:#29353d;text-decoration:none;font-weight:700;font-size:18px;transition:all 0.3s;}
.social-link i{line-height:1;}
/* Auto-linked emails / phone numbers in text */
.auto-link{color:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;}
.auto-link:hover{color:var(--primary);}
.social-link:hover{background:var(--primary);color:#ffffff;transform:scale(1.1);box-shadow:0 0 20px rgba(var(--primary-rgb),0.3);}
/* Divider & Spacer */
.divider-block{margin:24px auto;}
.spacer-block{min-height:40px;}
/* Testimonial */
.testimonial-block{text-align:center;padding:24px;}
.testimonial-quote{font-size:1.2em;font-style:italic;margin:0 0 16px;line-height:1.5;}
.testimonial-author{display:flex;align-items:center;justify-content:center;gap:12px;}
.testimonial-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;}
.testimonial-author cite{font-style:normal;font-weight:700;display:block;}
.testimonial-role{font-size:0.85em;opacity:0.7;}
/* FAQ - polished accordion */
.faq-block{background:rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.08);border-radius:16px;overflow:hidden;cursor:pointer;transition:border-color 0.3s;}
.faq-block:hover{border-color:rgba(var(--primary-rgb),0.3);}
.faq-block summary{font-weight:700;padding:20px 24px;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-block summary::-webkit-details-marker{display:none;}
.faq-block summary::after{content:'\f078';font-family:'Font Awesome 6 Free';font-weight:900;font-size:0.8em;color:rgba(0,0,0,0.35);transition:transform 0.3s;}
.faq-block[open] summary::after{transform:rotate(180deg);}
.faq-block summary::before{display:none;}
.faq-block>div,.faq-block p{padding:0 24px 20px;margin:0;opacity:0.85;line-height:1.7;}
/* CTA */
.cta-block{text-align:center;padding:40px 24px;}
.cta-headline{font-size:1.8em;margin:0 0 12px;font-weight:800;}
.cta-subtext{margin:0 0 24px;opacity:0.85;font-size:1.05em;}
.cta-btn{font-size:1.1em;}
/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(var(--gallery-cols,3),1fr);gap:12px;}
.gallery-item{margin:0;padding:0;cursor:zoom-in;}
.gallery-item:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:10px;}
.gallery-item img{aspect-ratio:1;object-fit:cover;border-radius:10px;transition:transform 0.3s;width:100%;display:block;}
.gallery-item img:hover{transform:scale(1.05);}
/* Gallery lightbox */
body.lb-open{overflow:hidden;}
.lb-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.94);z-index:9999;display:none;flex-direction:column;}
.lb-overlay.open{display:flex;}
.lb-stage{flex:1;display:flex;align-items:center;justify-content:center;position:relative;min-height:0;padding:8px;}
.lb-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;user-select:none;-webkit-user-drag:none;}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:none;background:rgba(255,255,255,0.14);color:#fff;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;}
.lb-nav:hover{background:rgba(255,255,255,0.3);}
.lb-prev{left:12px;}
.lb-next{right:12px;}
.lb-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;border:none;background:rgba(255,255,255,0.14);color:#fff;font-size:26px;line-height:1;cursor:pointer;z-index:2;transition:background 0.2s;}
.lb-close:hover{background:rgba(255,255,255,0.3);}
.lb-counter{position:absolute;top:22px;left:18px;color:#fff;font-size:14px;opacity:0.85;letter-spacing:0.5px;z-index:2;}
.lb-strip{display:flex;gap:8px;overflow-x:auto;padding:10px 12px;background:rgba(0,0,0,0.45);touch-action:pan-x;-webkit-overflow-scrolling:touch;}
.lb-strip img{height:60px;width:60px;object-fit:cover;border-radius:6px;opacity:0.5;cursor:pointer;flex:0 0 auto;border:2px solid transparent;transition:opacity 0.2s,border-color 0.2s;}
.lb-strip img.active{opacity:1;border-color:var(--primary);}
@media(max-width:640px){
  .lb-nav{width:42px;height:42px;font-size:20px;}
  .lb-prev{left:6px;}
  .lb-next{right:6px;}
  .lb-strip img{height:48px;width:48px;}
  .lb-counter{font-size:13px;top:18px;left:14px;}
}
/* Form Styles */
.form-block{display:flex;flex-direction:column;gap:16px;}
.form-field{display:flex;flex-direction:column;gap:6px;}
.form-field span{font-size:0.85em;font-weight:600;opacity:0.9;}
.form-field input,.form-field textarea,.form-field select{background:rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.12);border-radius:10px;padding:14px;color:inherit;font-size:1em;transition:border-color 0.2s;}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 12px rgba(var(--primary-rgb),0.15);}
.form-field textarea{resize:vertical;min-height:100px;font-family:inherit;}
.form-submit{background:var(--primary);color:#ffffff;border:none;padding:14px 28px;border-radius:10px;font-weight:700;font-size:1em;cursor:pointer;transition:transform 0.2s,box-shadow 0.2s;}
.form-submit:hover{transform:translateY(-2px);box-shadow:0 4px 20px rgba(var(--primary-rgb),0.4);}
.form-success{text-align:center;padding:16px;color:#22c55e;}
/* Icon Card */
.icon-card-block{text-align:center;padding:28px;}
.icon-card-icon{width:56px;height:56px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px;background:rgba(var(--primary-rgb),0.12);}
.icon-card-icon i{font-size:24px;color:var(--primary);}
.icon-card-title{font-size:1.2em;margin:0 0 8px;font-weight:700;}
.icon-card-text{font-size:0.95em;opacity:0.8;margin:0;line-height:1.6;}
/* Card Grid */
.card-grid{display:grid;grid-template-columns:repeat(var(--grid-cols,3),1fr);gap:24px;}
.grid-card{background:rgba(0,0,0,0.04);border-radius:16px;padding:28px;text-align:center;transition:transform 0.3s,border-color 0.3s,box-shadow 0.3s;border:1px solid rgba(0,0,0,0.08);}
.grid-card:hover{transform:translateY(-4px);border-color:rgba(var(--primary-rgb),0.35);box-shadow:0 0 30px rgba(var(--primary-rgb),0.2);}
.grid-card-icon{width:50px;height:50px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px;background:rgba(var(--primary-rgb),0.12);}
.grid-card-icon i{font-size:22px;color:var(--primary);}
.grid-card h4{margin:0 0 8px;font-size:1.15em;font-weight:700;}
.grid-card p{margin:0;font-size:0.9em;opacity:0.75;line-height:1.6;}
/* Stats Grid */
.stats-grid{display:grid;grid-template-columns:repeat(var(--grid-cols,4),1fr);gap:20px;}
.stat-item{text-align:center;padding:24px;background:rgba(0,0,0,0.03);border-radius:16px;border:1px solid rgba(0,0,0,0.06);transition:border-color 0.3s;}
.stat-item:hover{border-color:rgba(var(--primary-rgb),0.25);}
.stat-item i{font-size:24px;display:block;margin-bottom:10px;color:var(--primary);}
.stat-value{font-size:2.2em;font-weight:800;margin-bottom:4px;}
.stat-label{font-size:0.8em;text-transform:uppercase;opacity:0.6;letter-spacing:0.5px;}
/* Product Grid */
.product-grid{display:grid;grid-template-columns:repeat(var(--grid-cols,4),1fr);gap:20px;}
.product-item{background:rgba(0,0,0,0.04);border-radius:16px;padding:16px;border:1px solid rgba(0,0,0,0.08);text-align:center;transition:transform 0.3s,box-shadow 0.3s,border-color 0.3s;}
.product-item:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,0.12),0 0 20px rgba(var(--primary-rgb),0.15);border-color:rgba(var(--primary-rgb),0.3);}
.product-img{height:var(--img-h,150px);border-radius:10px;overflow:hidden;margin-bottom:12px;background:rgba(0,0,0,0.03);}
.product-img img{width:100%;height:100%;object-fit:cover;}
.product-img-placeholder{display:flex;align-items:center;justify-content:center;color:#444;font-size:24px;}
.product-title{font-size:1.1em;font-weight:700;margin:0 0 6px;}
.product-subtitle{font-size:0.85em;opacity:0.7;margin:0 0 10px;}
.product-features{list-style:none;padding:0;margin:0 0 12px;font-size:0.8em;text-align:left;}
.product-features li{padding:4px 0;opacity:0.8;}
.product-features li::before{content:"\2713  ";opacity:0.6;}
.product-price{font-size:1.4em;font-weight:800;margin-bottom:12px;}
.product-btn{display:inline-block;padding:10px 24px;border-radius:8px;color:#ffffff;font-weight:600;text-decoration:none;transition:transform 0.2s,box-shadow 0.2s;}
.product-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,0.3);}
/* Product "More information" window */
.product-info-btn{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:8px 16px;border-radius:8px;background:transparent;border:1.5px solid currentColor;font:inherit;font-size:0.85em;font-weight:600;cursor:pointer;transition:background 0.2s,transform 0.2s;}
.product-info-btn:hover{background:rgba(var(--primary-rgb),0.08);transform:translateY(-1px);}
.product-block .product-info-btn{margin-top:12px;}
.product-info-modal{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:20px;}
.product-info-modal[hidden]{display:none;}
.product-info-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.6);backdrop-filter:blur(3px);}
.product-info-panel{position:relative;width:100%;max-width:720px;max-height:90vh;overflow:auto;background:rgba(240,242,248,0.95);color:#1f282e;border:1px solid rgba(0,0,0,0.12);border-radius:18px;padding:28px 30px;box-shadow:0 24px 80px rgba(0,0,0,0.45);}
.product-info-close{position:absolute;top:12px;right:14px;width:36px;height:36px;border:none;border-radius:50%;background:rgba(0,0,0,0.06);color:inherit;font-size:22px;line-height:1;cursor:pointer;}
.product-info-close:hover{background:rgba(0,0,0,0.04);}
.product-info-head{display:flex;gap:22px;align-items:flex-start;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid rgba(0,0,0,0.08);}
.product-info-img{flex:0 0 150px;height:170px;border-radius:12px;overflow:hidden;background:rgba(0,0,0,0.03);}
.product-info-img img,.product-info-img svg{width:100%;height:100%;object-fit:contain;}
.product-info-titles{flex:1;min-width:0;}
.product-info-titles h3{margin:0 0 6px;font-size:1.4em;}
.product-info-titles p{margin:0 0 10px;opacity:0.75;}
.product-info-titles .product-features{margin:0;}
.product-info-text{line-height:1.7;font-size:0.98em;}
.product-info-text p{margin:0 0 14px;}
.product-info-text p:last-child{margin-bottom:0;}
body.product-info-open{overflow:hidden;}
@media (max-width:600px){.product-info-head{flex-direction:column;align-items:center;text-align:center;}.product-info-titles .product-features{text-align:left;}.product-info-panel{padding:22px 18px;}}
/* Comparison Table - premium */
.comparison-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:16px;overflow:hidden;border:1px solid rgba(0,0,0,0.08);background:rgba(0,0,0,0.02);}
.comparison-table th,.comparison-table td{padding:16px 20px;text-align:center;border-bottom:1px solid rgba(0,0,0,0.06);}
.comparison-table thead th{background:rgba(var(--primary-rgb),0.1);font-weight:700;font-size:1em;}
.comparison-table th:first-child,.comparison-table td:first-child{text-align:left;font-weight:600;}
.comparison-table tbody tr:last-child td{border-bottom:none;}
.comparison-table tr:hover{background:rgba(0,0,0,0.03);}
.comparison-table .highlight{background:rgba(var(--primary-rgb),0.05);}
.comparison-table .comp-check{color:#55efc4;font-size:1.1em;}
.comparison-table .comp-cross{color:#ff7675;font-size:1.1em;}
/* Price Card - with glow */
.price-card-block{text-align:center;padding:36px 28px;border-radius:20px;border:1px solid rgba(0,0,0,0.08);transition:transform 0.3s,box-shadow 0.3s,border-color 0.3s;}
.price-card-block:hover{transform:translateY(-4px);box-shadow:0 0 30px rgba(var(--primary-rgb),0.2);border-color:rgba(var(--primary-rgb),0.3);}
.price-card-header{margin-bottom:24px;}
.price-card-title{display:block;font-size:0.9em;text-transform:uppercase;opacity:0.7;margin-bottom:8px;letter-spacing:0.5px;}
.price-card-price{font-size:3.2em;font-weight:900;line-height:1;}
.price-card-period{font-size:0.85em;opacity:0.6;}
.price-card-features{list-style:none;padding:0;margin:0 0 28px;text-align:left;}
.price-card-features li{padding:12px 0;border-bottom:1px solid rgba(0,0,0,0.08);display:flex;align-items:center;gap:10px;}
.price-card-features li i{flex-shrink:0;color:var(--primary);}
.price-card-btn{display:block;padding:16px 28px;border-radius:10px;color:#ffffff;font-weight:700;text-decoration:none;transition:transform 0.2s,box-shadow 0.2s;}
.price-card-btn:hover{transform:translateY(-2px);box-shadow:0 4px 20px rgba(var(--primary-rgb),0.4);}
/* Pricing Cards Grid */
.pricing-cards-grid{display:grid;grid-template-columns:repeat(var(--grid-cols,2),1fr);gap:24px;}
.pc-item{background:rgba(0,0,0,0.04);border-radius:20px;padding:36px 28px;text-align:center;border:1px solid rgba(0,0,0,0.08);transition:transform 0.3s,box-shadow 0.3s,border-color 0.3s;}
.pc-item:hover{transform:translateY(-4px);box-shadow:0 0 30px rgba(var(--primary-rgb),0.2);border-color:rgba(var(--primary-rgb),0.3);}
.pc-badge{display:inline-block;padding:6px 18px;border-radius:50px;font-size:0.8em;font-weight:700;color:#ffffff;margin-bottom:16px;}
.pc-name{font-size:2em;font-weight:800;margin:0 0 12px;line-height:1.2;color:inherit;}
.pc-desc{font-size:0.95em;opacity:0.75;margin:0 0 20px;line-height:1.6;}
.pc-amount{font-size:2.5em;font-weight:900;margin-bottom:24px;line-height:1;}
.pc-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.pc-btn{display:inline-block;padding:14px 28px;border-radius:10px;font-weight:700;text-decoration:none;transition:transform 0.2s,box-shadow 0.2s;font-size:0.95em;}
.pc-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,0.3);}
.pc-btn-primary{color:#ffffff;}
.pc-btn-outline{background:transparent;border:2px solid;}
/* Badge */
.badge-block{display:flex;width:fit-content !important;max-width:fit-content !important;margin-left:auto !important;margin-right:auto !important;align-items:center;gap:8px;padding:10px 20px;border-radius:50px;font-size:0.95em;font-weight:600;}
/* Trust Badges */
.trust-badges{display:flex;gap:32px;justify-content:center;flex-wrap:wrap;}
.trust-badge-item{display:flex;align-items:center;gap:10px;font-size:0.95em;font-weight:500;}
.trust-badge-item i{font-size:1.3em;color:var(--primary);}
/* Icon Heading */
.icon-heading-block{display:flex;align-items:center;gap:14px;margin:0;}
.icon-heading-block i{font-size:0.85em;}
/* Footer */
.footer-block{text-align:center;padding:32px 20px;border-top:1px solid rgba(0,0,0,0.08);}
.footer-copyright{margin:0 0 12px;opacity:0.7;}
.footer-links{font-size:0.9em;}
.footer-links a{color:var(--primary);text-decoration:none;transition:opacity 0.2s;}
.footer-links a:hover{opacity:0.8;}
/* Columns Layout */
.columns-block{padding:24px;}
.columns-grid{display:grid;grid-template-columns:repeat(var(--cols,2),1fr);gap:24px;}
.columns-col{padding:24px;background:rgba(0,0,0,0.04);border-radius:16px;border:1px solid rgba(0,0,0,0.06);}
.columns-col h3{margin:0 0 12px;font-size:1.2em;font-weight:700;}
.columns-col p{margin:0;opacity:0.85;line-height:1.6;}
/* Feature Row */
.feature-row-block{display:flex;gap:32px;align-items:flex-start;padding:24px;}
.feature-row-block.reversed{flex-direction:row-reverse;}
.feature-row-icon{flex:0 0 100px;height:100px;display:flex;align-items:center;justify-content:center;border-radius:20px;}
.feature-row-icon i{font-size:40px;color:#fff;}
.feature-row-content{flex:1;}
.feature-row-content h3{margin:0 0 12px;font-size:1.4em;font-weight:700;}
.feature-row-content p{margin:0 0 16px;opacity:0.85;line-height:1.6;}
.feature-bullets{margin-top:12px;}
.feature-bullet{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;}
.feature-bullet i{margin-top:4px;font-size:14px;flex-shrink:0;color:var(--primary);}
.feature-bullet span{line-height:1.5;}
/* Image placeholder (no picture uploaded yet) */
.image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:140px;border:2px dashed rgba(127,127,127,.45);border-radius:14px;opacity:.7;font-size:14px;}
.image-placeholder i{font-size:30px;}
/* Site notice (set once, every page) */
.tiggy-notice{max-width:1100px;margin:28px auto;padding:18px 22px;border-radius:12px;background:rgba(127,127,127,.12);border-left:4px solid var(--primary,#ff9b42);font-size:.95em;line-height:1.6;}
.tiggy-notice h3{margin:0 0 8px;font-size:1.05em;font-weight:700;}
.tiggy-notice p{margin:0;opacity:.9;}
/* Purchase checks gate */
.gate-block{padding:20px 22px;border-radius:14px;border:2px solid var(--gate-accent,#ff9b42);}
.gate-block h3{margin:0 0 12px;font-size:1.15em;font-weight:700;}
.gate-item{display:flex;align-items:flex-start;gap:10px;margin:8px 0;cursor:pointer;line-height:1.45;}
.gate-item input{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--gate-accent,#ff9b42);}
.gate-note{margin:12px 0 0;font-size:.9em;opacity:.8;}
.gate-block.gate-ok .gate-note{color:#22c55e;opacity:1;}
body.tsb-gate-locked .tsb-pay{pointer-events:none;opacity:.45;filter:grayscale(.5);}
/* Live chat widget (built-in) */
/* Shopping basket */
.basket-add{display:inline-flex;align-items:center;gap:7px;}
.basket-add.is-added{background:#16a34a !important;}
.basket-signin{display:inline-block;font-size:.85em;opacity:.8;margin-top:6px;}
.tsb-basket{position:fixed;left:18px;bottom:18px;z-index:2000;font-family:inherit;}
.tsb-basket-btn{display:flex;align-items:center;gap:10px;padding:12px 18px;border:0;border-radius:999px;background:var(--primary);color:#ffffff;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.35);}
.tsb-basket-count{min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:rgba(0,0,0,.25);display:inline-flex;align-items:center;justify-content:center;font-size:.85em;}
.tsb-basket-panel{position:absolute;left:0;bottom:62px;width:min(360px,calc(100vw - 36px));max-height:70vh;overflow:auto;background:rgba(240,242,248,0.95);color:#1f282e;border:1px solid rgba(0,0,0,0.12);border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.4);padding:16px;display:none;}
.tsb-basket.is-open .tsb-basket-panel{display:block;}
.tsb-basket-title{font-weight:800;margin:0 0 10px;font-size:1.05em;display:flex;justify-content:space-between;align-items:center;}
.tsb-basket-close{border:0;background:transparent;color:inherit;font-size:20px;cursor:pointer;line-height:1;}
.tsb-basket-line{display:grid;grid-template-columns:1fr auto;grid-template-areas:"info total" "qty remove";gap:6px 10px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(0,0,0,0.08);font-size:.92em;text-align:left;}
.tsb-basket-line .bl-info{grid-area:info;}
.tsb-basket-line .bl-title{font-weight:600;}
.tsb-basket-line .bl-unit{opacity:.75;font-size:.9em;}
.tsb-basket-line .bl-qty{grid-area:qty;display:inline-flex;align-items:center;gap:6px;}
.tsb-basket-line .bl-qty button{width:26px;height:26px;border-radius:7px;border:1px solid rgba(0,0,0,0.08);background:transparent;color:inherit;cursor:pointer;font-weight:700;}
.tsb-basket-line .bl-remove{grid-area:remove;justify-self:end;border:0;background:transparent;color:inherit;opacity:.6;cursor:pointer;font-size:.85em;padding:0;}
.tsb-basket-line .bl-total{grid-area:total;text-align:right;font-weight:700;}
.tsb-basket-sub{display:flex;justify-content:space-between;font-weight:800;padding:12px 0 6px;}
.tsb-basket-empty{opacity:.75;padding:8px 0;}
.tsb-basket-go{display:block;text-align:center;margin-top:8px;padding:12px;border-radius:10px;background:var(--primary);color:#ffffff;font-weight:700;text-decoration:none;}
.tsb-basket-go.is-disabled{opacity:.5;pointer-events:none;}
.checkout-block .co-heading{margin:0 0 8px;font-size:1.4em;font-weight:700;}
.checkout-block .co-intro{margin:0 0 16px;opacity:.88;line-height:1.55;}
.checkout-block .co-section{font-size:.8em;letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin:18px 0 8px;font-weight:700;}
.checkout-block .co-lines{border:1px solid rgba(0,0,0,0.08);border-radius:12px;overflow:hidden;}
.checkout-block .co-line{display:grid;grid-template-columns:1fr auto auto auto;gap:10px 16px;align-items:center;padding:10px 14px;border-bottom:1px solid rgba(0,0,0,0.08);text-align:left;}
.checkout-block .co-line:last-child{border-bottom:0;}
.checkout-block .co-line .bl-title{font-weight:600;}
.checkout-block .co-line .bl-unit{opacity:.75;font-size:.9em;}
.checkout-block .co-line .bl-qty{display:inline-flex;align-items:center;gap:6px;}
.checkout-block .co-line .bl-qty button{width:26px;height:26px;border-radius:7px;border:1px solid rgba(0,0,0,0.08);background:transparent;color:inherit;cursor:pointer;font-weight:700;}
.checkout-block .co-line .bl-total{font-weight:700;min-width:70px;text-align:right;}
.checkout-block .co-line .bl-remove{border:0;background:transparent;color:inherit;opacity:.6;cursor:pointer;font-size:.8em;padding:0;}
.checkout-block .co-totals{margin:12px 0 4px;}
.checkout-block .co-total-row{display:flex;justify-content:space-between;padding:4px 14px;opacity:.85;}
.checkout-block .co-total-row.is-grand{font-weight:800;font-size:1.15em;opacity:1;border-top:1px solid rgba(0,0,0,0.08);margin-top:6px;padding-top:10px;}
.checkout-block .co-methods{display:grid;gap:8px;}
.checkout-block .co-method{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;padding:12px 14px;border:1px solid rgba(0,0,0,0.08);border-radius:12px;cursor:pointer;}
.checkout-block .co-method:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.25);}
.checkout-block .co-method input{width:auto;margin:0;}
.checkout-block .co-method-name{font-weight:700;}
.checkout-block .co-method-note{grid-column:2;font-size:.85em;opacity:.7;}
.checkout-block .co-empty,.checkout-block .co-nomethods,.checkout-block .co-locked{padding:14px;border:1px dashed rgba(0,0,0,0.08);border-radius:12px;opacity:.85;line-height:1.5;}
.checkout-block .co-done{padding:18px;border-radius:12px;background:rgba(22,163,74,.12);border:1px solid rgba(22,163,74,.4);line-height:1.6;}
.checkout-block .co-done .co-order{font-weight:800;font-size:1.1em;}
.checkout-block .form-submit{margin-top:14px;}
@media (max-width:600px){.checkout-block .co-line{grid-template-columns:1fr;}.checkout-block .co-line .bl-total{text-align:left;}}
.tsb-chat{position:fixed;right:18px;bottom:18px;z-index:2000;font-family:inherit;}
.tsb-chat-bubble{position:relative;width:58px;height:58px;border-radius:50%;border:0;background:var(--tsb-chat,#0284c7);box-shadow:0 6px 20px rgba(0,0,0,.28);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.tsb-chat-unread{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#ef4444;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.tsb-chat-panel{position:absolute;right:0;bottom:70px;width:min(340px,calc(100vw - 36px));height:min(480px,calc(100vh - 110px));background:#fff;color:#111;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden;}
.tsb-chat-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--tsb-chat,#0284c7);color:#fff;}
.tsb-chat-head strong{flex:1;font-size:15px;}
.tsb-chat-status{font-size:12px;opacity:.9;}
.tsb-chat-close{border:0;background:transparent;color:#fff;font-size:22px;line-height:1;cursor:pointer;}
.tsb-chat-msgs{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:#f5f7fa;}
.tsb-chat-msg{max-width:82%;padding:9px 12px;border-radius:14px;font-size:14px;line-height:1.4;white-space:pre-wrap;word-wrap:break-word;}
.tsb-chat-msg.is-owner{align-self:flex-start;background:#fff;border:1px solid #e3e7ec;border-bottom-left-radius:4px;}
.tsb-chat-msg.is-visitor{align-self:flex-end;background:var(--tsb-chat,#0284c7);color:#fff;border-bottom-right-radius:4px;}
.tsb-chat-form{padding:8px 10px 6px;border-top:1px solid #e3e7ec;background:#fff;display:flex;flex-direction:column;gap:6px;}
.tsb-chat-name{border:1px solid #d9dee5;border-radius:8px;padding:6px 10px;font-size:13px;}
.tsb-chat-row{display:flex;gap:6px;}
.tsb-chat-input{flex:1;border:1px solid #d9dee5;border-radius:8px;padding:8px 10px;font-size:14px;resize:none;font-family:inherit;}
.tsb-chat-row button{border:0;border-radius:8px;padding:0 14px;background:var(--tsb-chat,#0284c7);color:#fff;font-weight:600;cursor:pointer;}
.tsb-chat-foot{font-size:11px;color:#667;padding:0 12px 8px;background:#fff;}
/* Bank transfer / invoice block */
.invoice-block .inv-heading{margin:0 0 8px;font-size:1.4em;font-weight:700;}
.invoice-block .inv-intro{margin:0 0 16px;opacity:.88;line-height:1.55;}
.inv-row{display:grid;grid-template-columns:1fr 120px;gap:12px;}
.inv-form select,.inv-form textarea{width:100%;box-sizing:border-box;}
.inv-error{color:#ef4444;font-size:.9em;min-height:1.2em;}
.inv-number{font-weight:700;font-size:1.1em;margin-bottom:6px;}
.inv-warn{color:#f59e0b;margin-top:6px;font-size:.9em;}
.inv-bank{margin-top:18px;padding:14px 16px;border-radius:12px;background:rgba(127,127,127,.12);border-left:4px solid var(--primary,#ff9b42);}
.inv-bank-title{font-weight:700;margin-bottom:8px;}
.inv-bank-row{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-size:.95em;}
.inv-bank-row span{opacity:.75;}
.inv-bank-note{margin-top:8px;font-size:.85em;opacity:.8;}
@media(max-width:600px){.inv-row{grid-template-columns:1fr;}}
/* Laboratory portal */
.portal-card{border:1px solid rgba(127,127,127,.35);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.04);}
.portal-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;border-bottom:1px solid rgba(127,127,127,.3);}
.portal-card-brand{font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:1.05em;}
.portal-card-brand i{margin-right:8px;opacity:.8;}
.portal-card-badge{font-size:.78em;font-weight:600;padding:5px 12px;border-radius:999px;background:rgba(127,127,127,.22);}
.portal-card-body{padding:30px 24px 26px;text-align:center;}
.portal-card-lock{font-size:40px;opacity:.75;margin-bottom:12px;}
.portal-card-heading{margin:0 0 8px;font-size:1.7em;font-weight:700;}
.portal-card-text{margin:0 auto 20px;max-width:520px;opacity:.85;line-height:1.5;}
.portal-card-signed{margin:0 0 14px;}
.portal-btn{display:block;width:100%;box-sizing:border-box;text-align:center;padding:13px 18px;border-radius:12px;font-weight:700;text-decoration:none;margin-bottom:10px;transition:transform .15s,opacity .15s;}
.portal-btn:hover{transform:translateY(-1px);opacity:.95;}
.portal-btn-primary{color:#fff;}
.portal-btn-outline{border:1px solid rgba(127,127,127,.5);color:inherit;}
.portal-card-foot{display:flex;gap:10px;align-items:flex-start;padding:14px 22px;border-top:1px solid rgba(127,127,127,.3);font-size:.85em;opacity:.85;line-height:1.45;}
.portal-card-foot i{margin-top:3px;}
.pf-heading{margin:0 0 8px;font-size:1.4em;font-weight:700;}
.pf-intro{margin:0 0 16px;opacity:.88;line-height:1.55;}
.pf-section{font-weight:700;font-size:.85em;letter-spacing:.06em;text-transform:uppercase;opacity:.7;margin:14px 0 6px;}
.pf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.pf-form select,.pf-form textarea{width:100%;box-sizing:border-box;}
.pf-checks{margin:12px 0 4px;display:flex;flex-direction:column;gap:8px;}
.pf-check{display:flex;gap:10px;align-items:flex-start;font-size:.95em;line-height:1.4;cursor:pointer;}
.pf-check input{margin-top:4px;flex:0 0 auto;}
.pf-error{color:#ef4444;font-size:.9em;min-height:1.2em;}
.tsb-portal-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 18px;font-size:.9em;background:rgba(127,127,127,.15);border-bottom:1px solid rgba(127,127,127,.3);}
.tsb-portal-bar a{color:inherit;font-weight:600;}
.tsb-portal-preview{padding:10px 18px;background:#f59e0b;color:#111;font-weight:600;font-size:.9em;}
.portal-panel{display:none;scroll-margin-top:90px;}
.portal-panel.is-open{display:block;animation:tsbPanelIn .35s ease;}
@keyframes tsbPanelIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.tsb-panel-note{font-size:.78em;opacity:.7;font-style:italic;margin:0 0 10px;text-align:center;}
.pf-note{padding:10px 14px;margin:0 0 14px;border-radius:10px;background:rgba(2,132,199,.12);border:1px solid rgba(2,132,199,.35);font-size:.92em;line-height:1.5;text-align:left;}
.pf-back{display:inline-block;margin:0 0 10px;font-size:.9em;opacity:.75;color:inherit;text-decoration:none;}
.pf-back:hover{opacity:1;text-decoration:underline;}
@media(max-width:600px){.pf-row{grid-template-columns:1fr;}}
/* Stock levels */
.product-item,.product-block{position:relative;}
.stock-badge{position:absolute;top:12px;left:12px;z-index:2;padding:4px 10px;border-radius:999px;font-size:.78em;font-weight:700;letter-spacing:.02em;}
.stock-out{background:#ef4444;color:#fff;}
.stock-low{background:#f59e0b;color:#111;}
.product-soldout .product-img,.product-soldout .product-bottle,.product-soldout .product-image{opacity:.45;filter:grayscale(.6);}
.product-soldout .product-price{opacity:.6;}
.product-btn.is-disabled,.product-soldout .product-btn{pointer-events:none;opacity:.5;filter:grayscale(.6);}
/* Labelled vial product image */
.product-bottle{display:flex;align-items:center;justify-content:center;background:transparent;}
.product-bottle svg,.product-bottle img{height:var(--img-h,150px);width:auto;max-width:100%;display:block;}
/* Split (Image + Text) */
.split-block{display:flex;gap:36px;align-items:var(--split-valign,center);padding:24px;}
.split-block.reversed{flex-direction:row-reverse;}
.split-media{flex:0 0 var(--split-img,45%);max-width:var(--split-img,45%);}
.split-media img{width:100%;height:auto;display:block;border-radius:14px;object-fit:cover;}
.split-media-empty{width:100%;min-height:180px;display:flex;align-items:center;justify-content:center;border:2px dashed rgba(127,127,127,.4);border-radius:14px;opacity:.6;font-size:14px;}
.split-content{flex:1;min-width:0;}
.split-content h3{margin:0 0 14px;font-weight:700;line-height:1.25;}
.split-content p{margin:0 0 16px;opacity:.88;line-height:1.65;}
.split-bullets{margin:14px 0;}
.split-bullet{display:flex;align-items:flex-start;gap:10px;margin-bottom:9px;}
.split-bullet i{margin-top:4px;font-size:14px;flex-shrink:0;}
.split-bullet span{line-height:1.5;}
.split-btn{display:inline-block;margin-top:6px;padding:11px 22px;border-radius:9px;color:#fff;font-weight:600;text-decoration:none;}
@media(max-width:768px){
  .split-block,.split-block.reversed{flex-direction:column;gap:22px;}
  .split-media{flex-basis:auto;max-width:100%;width:100%;}
}
/* Hero Section */
.hero-section-block{text-align:center;padding:80px 30px;}
.block.flow-left.hero-section-block,.block.flow-right.hero-section-block,.block.flow-center.hero-section-block{text-align:center;align-self:stretch;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;border-radius:30px;font-size:0.9em;margin-bottom:24px;font-weight:600;}
.hero-heading{font-size:3.5em;font-weight:900;margin:0 0 20px;line-height:1.1;letter-spacing:-0.02em;}
.hero-subheading{font-size:1.3em;opacity:0.8;margin:0 auto 28px;max-width:700px;line-height:1.6;}
.hero-price{font-size:2.5em;font-weight:800;margin-bottom:28px;}
.hero-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.hero-btn-primary{padding:16px 36px;border-radius:12px;font-weight:700;color:#fff;text-decoration:none;transition:transform 0.2s,box-shadow 0.2s;}
.hero-btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(var(--primary-rgb),0.4);}
.hero-btn-secondary{padding:16px 36px;border-radius:12px;font-weight:600;border:2px solid rgba(0,0,0,0.15);color:inherit;text-decoration:none;background:transparent;transition:all 0.2s;}
.hero-btn-secondary:hover{border-color:rgba(var(--primary-rgb),0.5);background:rgba(var(--primary-rgb),0.08);}
/* Responsive - Tablet */
@media(max-width:900px){
  .page{padding:16px;}
  .block{font-size:clamp(14px,2.6vw,var(--block-font-size,16px));background:rgba(240,242,248,0.95);border-radius:14px;padding:18px;border:1px solid rgba(0,0,0,0.1);box-shadow:0 3px 15px rgba(0,0,0,0.08);margin-bottom:16px;}
  .block.image-block{padding:0;background:transparent;border:none;box-shadow:none;}
  .block-row{gap:16px;}
  .image-block img{height:auto;object-fit:contain;border-radius:14px;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .product-block{background:rgba(240,242,248,0.95);padding:22px;border:1px solid rgba(0,0,0,0.12);}
  .card-grid,.stats-grid,.product-grid,.pricing-cards-grid{grid-template-columns:repeat(2,1fr);}
  .trust-badges{gap:20px;}
  .columns-grid{grid-template-columns:repeat(2,1fr);}
  .feature-row-block{flex-direction:column;gap:20px;}
  .feature-row-block.reversed{flex-direction:column;}
  .feature-row-icon{flex:0 0 80px;width:80px;height:80px;margin:0 auto;}
  .feature-row-content{text-align:center;}
  .feature-bullets{text-align:left;display:inline-block;}
  .hero-heading{font-size:2.4em;}
  .hero-subheading{font-size:1.1em;}
}
/* Responsive - Mobile */
@media(max-width:480px){
  .page{padding:16px;}
  .block-row{flex-direction:column;gap:20px;}
  .block-row .block{flex:none;width:100% !important;max-width:100% !important;}
  .block{--flow-w:100% !important;max-width:100% !important;margin-bottom:20px;background:rgba(240,242,248,0.98);border-radius:16px;padding:20px;border:1px solid rgba(0,0,0,0.1);box-shadow:0 4px 20px rgba(0,0,0,0.12);}
  .block.image-block{padding:0;background:transparent;border:none;box-shadow:none;overflow:hidden;}
  .block.image-block img{border-radius:16px;}
  .block .btn{padding:14px 20px;font-size:15px;width:100%;text-align:center;}
  .button-set{flex-direction:column;gap:10px;}
  .button-set .btn-chip{width:100%;text-align:center;padding:12px 16px;}
  .gallery-grid{grid-template-columns:1fr;}
  .cta-headline{font-size:1.4em;}
  .testimonial-quote{font-size:1em;}
  .product-block{padding:24px;margin-bottom:24px;gap:16px;background:rgba(240,242,248,0.95);border:1px solid rgba(0,0,0,0.12);box-shadow:0 6px 25px rgba(0,0,0,0.12);}
  .product-title{font-size:1.15em;}
  .product-price{font-size:1.25em;margin-top:8px;}
  .product-features{padding-left:18px;line-height:1.8;}
  .card-grid,.stats-grid,.columns-grid,.pricing-cards-grid{grid-template-columns:1fr;}
  .comparison-table{font-size:0.85em;}
  .comparison-table th,.comparison-table td{padding:10px 8px;}
  .price-card-price{font-size:2.2em;}
  .trust-badges{flex-direction:column;align-items:center;gap:12px;}
  .hero-section-block{padding:40px 20px;}
  .hero-heading{font-size:1.8em;}
  .hero-buttons{flex-direction:column;align-items:center;}
  .hero-btn-primary,.hero-btn-secondary{width:100%;text-align:center;}
}
/* Animations */
.anim-fade-in{opacity:0;animation:fadeIn 0.6s ease forwards;}
.anim-slide-up{opacity:0;transform:translateY(30px);animation:slideUp 0.6s ease forwards;}
.anim-slide-left{opacity:0;transform:translateX(-30px);animation:slideLeft 0.6s ease forwards;}
.anim-slide-right{opacity:0;transform:translateX(30px);animation:slideRight 0.6s ease forwards;}
.anim-scale-in{opacity:0;transform:scale(0.9);animation:scaleIn 0.5s ease forwards;}
@keyframes fadeIn{to{opacity:1;}}
@keyframes slideUp{to{opacity:1;transform:translateY(0);}}
@keyframes slideLeft{to{opacity:1;transform:translateX(0);}}
@keyframes slideRight{to{opacity:1;transform:translateX(0);}}
@keyframes scaleIn{to{opacity:1;transform:scale(1);}}
/* Hover Effects */
.hover-grow{transition:transform 0.3s ease;}
.hover-grow:hover{transform:scale(1.05);}
.hover-glow{transition:box-shadow 0.3s ease;}
.hover-glow:hover{box-shadow:0 0 20px rgba(var(--primary-rgb),0.4);}
.hover-lift{transition:transform 0.3s ease,box-shadow 0.3s ease;}
.hover-lift:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,0.3);}
/* Image Hover Zoom */
.img-hover-zoom{overflow:hidden;cursor:zoom-in;}
.img-hover-zoom img{transition:transform 0.4s ease;}
.img-hover-zoom:hover img{transform:scale(1.15);}
/* Custom HTML Block */
.custom-html-block{overflow:hidden;border-radius:12px;}
.custom-html-block img{max-width:100%;height:auto;}
/* Full-page imported HTML — no builder styles, render original layout as-is */
.custom-html-fullpage{display:block;width:100%;margin:0;padding:0;border:none;border-radius:0;color:initial;line-height:normal;font-family:initial;}
/* Imported sections — no builder styles, render original layout as-is */
.imported-section-wrap{display:block;width:100%;margin:0;padding:0;border:none;border-radius:0;color:initial;line-height:normal;font-family:initial;}
/* Print styles */
@media print{
  body{background:#fff;color:#000;}
  .video-container iframe{display:none;}
}


