/* ==========================================================
   Danish Enterprises - Frontend styles
   ========================================================== */
:root{
  --navy:#10285a; --navy-d:#0a1a3d; --navy-l:#1b3f86;
  --orange:#f7941d; --orange-d:#e07f06; --orange-l:#ffb04d;
  --cream:#fbf1e3; --ink:#1d2433; --muted:#6b7488; --line:#e8ebf2;
  --radius:14px; --shadow:0 8px 28px rgba(16,40,90,.10);
}
*{ -webkit-tap-highlight-color:transparent; }
html{ scroll-behavior:smooth; scroll-padding-top:90px; }
body{ font-family:'Poppins',sans-serif; color:var(--ink); background:#fff; overflow-x:hidden; line-height:1.65; }
h1,h2,h3,h4,h5{ font-family:'Montserrat',sans-serif; color:var(--navy); font-weight:700; line-height:1.25; }
a{ color:var(--navy); text-decoration:none; transition:.25s; }
a:hover{ color:var(--orange); }
img{ max-width:100%; height:auto; }
.section{ padding:70px 0; }
.hp-field{ position:absolute; left:-9999px; top:-9999px; height:0; overflow:hidden; }

/* ---------- Preloader ---------- */
#preloader{ position:fixed; inset:0; background:var(--navy); z-index:9999; display:flex; align-items:center; justify-content:center; transition:opacity .5s, visibility .5s; }
#preloader.done{ opacity:0; visibility:hidden; }
.pl-box{ width:74px; height:74px; border-radius:18px; background:var(--orange); display:grid; place-items:center; color:#fff; font-size:2rem; animation:plPulse 1.1s ease-in-out infinite; }
@keyframes plPulse{ 0%,100%{ transform:scale(1) rotate(0); } 50%{ transform:scale(1.18) rotate(-8deg); box-shadow:0 0 0 18px rgba(247,148,29,.18);} }

/* ---------- Topbar / Header ---------- */
.topbar{ background:var(--navy-d); color:#fff; font-size:.8rem; padding:6px 0; font-weight:500; letter-spacing:.2px; }
.topbar i{ color:var(--orange); animation:ring 2.4s infinite; display:inline-block; transform-origin:70% 70%; }
@keyframes ring{ 0%,60%,100%{ transform:rotate(0);} 10%{ transform:rotate(14deg);} 20%{ transform:rotate(-12deg);} 30%{ transform:rotate(8deg);} 40%{ transform:rotate(-6deg);} }
.site-header{ position:sticky; top:0; z-index:1030; background:#fff; transition:box-shadow .3s; }
.site-header.scrolled{ box-shadow:0 6px 24px rgba(16,40,90,.12); }
.site-header .navbar{ padding:.55rem 0; transition:padding .3s; }
.site-header.scrolled .navbar{ padding:.25rem 0; }
.navbar-brand{ display:inline-flex; align-items:center; gap:10px; padding:0; margin-right:1rem; }
.brand-mark{ width:42px; height:42px; border-radius:11px; background:linear-gradient(135deg,var(--orange),var(--orange-d)); display:grid; place-items:center; color:#fff; font-size:1.3rem; box-shadow:0 6px 14px rgba(247,148,29,.35); }
.brand-text{ display:flex; flex-direction:column; font-family:'Montserrat',sans-serif; font-weight:800; line-height:1.05; color:var(--navy); font-size:1.05rem; letter-spacing:.4px; }
.brand-text span:last-child{ font-size:1.05rem; }
.brand-img{ max-height:48px; width:auto; }
.footer-brand .brand-text,.on-dark + .brand-text{ color:#fff; }
.navbar .nav-link{ font-weight:500; font-size:.92rem; color:var(--ink); padding:.55rem .9rem !important; border-radius:8px; position:relative; }
.navbar .nav-link::after{ content:""; position:absolute; left:50%; bottom:2px; width:0; height:2px; background:var(--orange); transition:.3s; transform:translateX(-50%); }
.navbar .nav-link:hover::after,.navbar .nav-link.active::after{ width:55%; }
.navbar .nav-link.active{ color:#fff; background:var(--orange); }
.navbar .nav-link.active::after{ display:none; }
.dropdown-menu.mega-lite{ border:0; border-radius:14px; padding:10px; min-width:260px; animation:dropIn .25s ease; }
@keyframes dropIn{ from{ opacity:0; transform:translateY(8px);} to{ opacity:1; transform:none;} }
.dropdown-item{ border-radius:8px; padding:.5rem .8rem; font-size:.9rem; display:flex; gap:.6rem; align-items:center; }
.dropdown-item i{ color:var(--orange); width:18px; }
.dropdown-item:hover{ background:var(--cream); color:var(--navy); }
@media(min-width:992px){ .navbar .dropdown:hover>.dropdown-menu{ display:block; margin-top:0; } }
.btn-wa-nav{ background:var(--navy); color:#fff; border-radius:50px; padding:.55rem 1.2rem; font-weight:600; font-size:.9rem; border:0; position:relative; overflow:hidden; }
.btn-wa-nav i{ color:#4cd964; margin-right:4px; }
.btn-wa-nav:hover{ background:var(--navy-l); color:#fff; transform:translateY(-2px); }
.navbar-toggler{ border:0; box-shadow:none !important; padding:6px; }
.burger{ width:26px; height:20px; position:relative; display:block; }
.burger span{ position:absolute; left:0; width:100%; height:2.5px; background:var(--navy); border-radius:3px; transition:.3s; }
.burger span:nth-child(1){ top:0; } .burger span:nth-child(2){ top:8.5px; } .burger span:nth-child(3){ top:17px; }
.navbar-toggler:not(.collapsed) .burger span:nth-child(1){ top:8.5px; transform:rotate(45deg); }
.navbar-toggler:not(.collapsed) .burger span:nth-child(2){ opacity:0; }
.navbar-toggler:not(.collapsed) .burger span:nth-child(3){ top:8.5px; transform:rotate(-45deg); }
@media(max-width:991.98px){
  .navbar-collapse{ padding:12px 0 6px; max-height:75vh; overflow:auto; }
  .navbar .nav-link.active{ display:inline-block; }
}

/* ---------- Buttons ---------- */
.btn{ font-weight:600; border-radius:50px; padding:.65rem 1.5rem; transition:.3s; font-size:.93rem; }
.btn-brand{ background:linear-gradient(135deg,var(--orange),var(--orange-d)); color:#fff; border:0; box-shadow:0 8px 20px rgba(247,148,29,.35); position:relative; overflow:hidden; }
.btn-brand::before{ content:""; position:absolute; top:0; left:-120%; width:60%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent); transform:skewX(-20deg); transition:.6s; }
.btn-brand:hover{ color:#fff; transform:translateY(-3px); box-shadow:0 12px 26px rgba(247,148,29,.45); }
.btn-brand:hover::before{ left:140%; }
.btn-ghost{ background:rgba(255,255,255,.08); color:#fff; border:1.5px solid rgba(255,255,255,.7); }
.btn-ghost:hover{ background:#fff; color:var(--navy); transform:translateY(-3px); }
.btn-ghost-dark{ border:1.5px solid var(--navy); color:var(--navy); background:transparent; }
.btn-ghost-dark:hover{ background:var(--navy); color:#fff; transform:translateY(-3px); }
.btn-wa{ background:#25d366; color:#fff; border:0; }
.btn-wa:hover{ background:#1ebd5a; color:#fff; transform:translateY(-3px); }
.btn-sm-x{ padding:.5rem 1.2rem; font-size:.85rem; }
.btn-send-enq{ background:var(--navy); color:#fff; border-radius:50px; padding:.38rem .9rem; font-size:.78rem; font-weight:600; border:0; display:inline-flex; align-items:center; justify-content:center; gap:6px; }
.btn-send-enq i{ color:#4cd964; }
.btn-send-enq:hover{ background:var(--orange); color:#fff; transform:translateY(-2px); }
.btn-send-enq:hover i{ color:#fff; }

/* ---------- Hero ---------- */
.hero{ position:relative; background:linear-gradient(120deg,var(--navy-d) 0%,var(--navy) 55%,var(--navy-l) 100%); color:#fff; overflow:hidden; }
.hero::after{ content:""; position:absolute; right:-8%; top:-30%; width:55%; height:160%; background:linear-gradient(135deg,rgba(247,148,29,.95),rgba(224,127,6,.9)); transform:skewX(-18deg); opacity:.95; z-index:0; clip-path:polygon(45% 0,100% 0,100% 100%,0 100%); }
.hero-orb{ position:absolute; border-radius:50%; filter:blur(2px); z-index:0; animation:floaty 9s ease-in-out infinite; }
.hero-orb.o1{ width:240px; height:240px; background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.18),transparent 70%); left:-60px; top:20px; }
.hero-orb.o2{ width:120px; height:120px; background:rgba(247,148,29,.25); left:42%; bottom:30px; animation-delay:-3s; }
.hero-orb.o3{ width:70px; height:70px; background:rgba(255,255,255,.12); left:55%; top:40px; animation-delay:-6s; }
@keyframes floaty{ 0%,100%{ transform:translateY(0) translateX(0);} 50%{ transform:translateY(-26px) translateX(12px);} }
.hero .carousel-item{ position:relative; z-index:1; }
.hero-row{ min-height:430px; padding:44px 0 56px; }
.hero-h{ font-family:'Montserrat',sans-serif; font-weight:800; font-size:clamp(1.7rem,3.6vw,2.7rem); margin:0; line-height:1.2; color:#fff; }
.hero-h.hl{ color:var(--orange); }
.hero-sub{ font-size:clamp(1rem,1.6vw,1.2rem); margin:16px 0 24px; color:#e6ecf7; font-weight:500; }
.hero-btns{ display:flex; gap:12px; flex-wrap:wrap; }
.hero .carousel-item.active .hero-text > *{ animation:slideUp .8s both; }
.hero .carousel-item.active .hero-text > *:nth-child(2){ animation-delay:.12s; }
.hero .carousel-item.active .hero-text > *:nth-child(3){ animation-delay:.24s; }
.hero .carousel-item.active .hero-text > *:nth-child(4){ animation-delay:.38s; }
@keyframes slideUp{ from{ opacity:0; transform:translateY(34px);} to{ opacity:1; transform:none;} }
.hero .carousel-item.active .hero-visual{ animation:zoomIn .9s both .2s; }
@keyframes zoomIn{ from{ opacity:0; transform:scale(.85) translateX(40px);} to{ opacity:1; transform:none;} }
.hero-img{ max-height:400px; width:auto; margin:0 auto; display:block; filter:drop-shadow(0 22px 30px rgba(0,0,0,.35)); animation:floaty 6s ease-in-out infinite; }
.hero-icons{ position:relative; height:360px; }
.hi{ position:absolute; display:grid; place-items:center; background:rgba(255,255,255,.14); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.3); border-radius:26px; color:#fff; box-shadow:0 18px 40px rgba(0,0,0,.25); animation:floaty 7s ease-in-out infinite; }
.hi i{ filter:drop-shadow(0 4px 6px rgba(0,0,0,.25)); }
.hi1{ width:150px; height:150px; font-size:4.2rem; left:6%; top:10%; background:rgba(16,40,90,.55); }
.hi2{ width:130px; height:130px; font-size:3.6rem; right:12%; top:2%; animation-delay:-2s; }
.hi3{ width:120px; height:120px; font-size:3.2rem; left:42%; top:42%; animation-delay:-4s; background:rgba(255,255,255,.22); }
.hi4{ width:100px; height:100px; font-size:2.7rem; left:2%; bottom:2%; animation-delay:-1s; }
.hi5{ width:96px; height:96px; font-size:2.5rem; right:6%; bottom:6%; animation-delay:-5s; background:rgba(16,40,90,.55); }
.hero .carousel-control-prev,.hero .carousel-control-next{ width:46px; height:46px; top:50%; transform:translateY(-50%); background:#fff; color:var(--navy); border-radius:50%; opacity:1; font-size:1.1rem; box-shadow:0 6px 18px rgba(0,0,0,.25); margin:0 14px; z-index:5; }
.hero .carousel-control-prev:hover,.hero .carousel-control-next:hover{ background:var(--orange); color:#fff; }
.hero .carousel-indicators{ bottom:12px; z-index:5; }
.hero .carousel-indicators [data-bs-target]{ width:10px; height:10px; border-radius:50%; border:0; background:#fff; opacity:.5; margin:0 5px; transition:.3s; }
.hero .carousel-indicators .active{ opacity:1; width:30px; border-radius:6px; background:var(--orange); }
@media(max-width:991.98px){
  .hero::after{ width:100%; right:-40%; opacity:.35; }
  .hero-row{ min-height:auto; padding:34px 0 60px; text-align:center; }
  .hero-btns{ justify-content:center; }
  .hero-visual{ margin-top:26px; }
  .hero-img{ max-height:260px; }
  .hero-icons{ height:230px; transform:scale(.7); transform-origin:center; margin-top:-20px; }
  .hero .carousel-control-prev,.hero .carousel-control-next{ display:none; }
}

/* ---------- Section title ---------- */
.section-title{ text-align:center; margin-bottom:36px; }
.section-title h2,.section-title h3{ display:inline-flex; align-items:center; gap:14px; font-size:clamp(1.3rem,2.4vw,1.75rem); margin:0; }
.section-title .line{ width:44px; height:3px; background:var(--orange); border-radius:3px; display:inline-block; position:relative; overflow:hidden; }
.section-title .line::after{ content:""; position:absolute; inset:0; background:#fff; transform:translateX(-100%); animation:lineRun 2.4s infinite; opacity:.7; }
@keyframes lineRun{ to{ transform:translateX(100%);} }
.section-title p{ color:var(--muted); margin:8px 0 0; }
.eyebrow{ display:inline-flex; align-items:center; gap:10px; font-size:.82rem; font-weight:600; color:var(--navy); text-transform:none; margin-bottom:6px; }
.eyebrow .line{ width:34px; height:3px; background:var(--orange); border-radius:3px; display:inline-block; }
.eyebrow.light{ color:var(--orange-l); }

/* ---------- About (home) ---------- */
.about-home{ padding-top:56px; }
.about-img-wrap{ position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.about-img-wrap img{ width:100%; display:block; transition:transform .8s; }
.about-img-wrap:hover img{ transform:scale(1.06); }
.about-placeholder{ aspect-ratio:4/3; background:linear-gradient(135deg,var(--navy),var(--navy-l)); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; font-family:'Montserrat'; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.about-placeholder i{ font-size:4.5rem; color:var(--orange); animation:floaty 6s ease-in-out infinite; }
.about-badge{ position:absolute; left:14px; bottom:14px; background:#fff; color:var(--navy); padding:6px 14px; border-radius:50px; font-size:.78rem; font-weight:600; box-shadow:var(--shadow); }
.about-badge i{ color:var(--orange); }
.about-h1{ font-size:clamp(1.5rem,3vw,2.1rem); margin:6px 0 14px; }
.lead-text{ color:#3a4358; font-size:1rem; }

/* ---------- Category cards ---------- */
.cat-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:14px 10px 12px; text-align:center; height:100%; display:flex; flex-direction:column; align-items:center; gap:8px; transition:.35s; position:relative; overflow:hidden; }
.cat-card::before{ content:""; position:absolute; left:0; top:0; width:100%; height:4px; background:linear-gradient(90deg,var(--orange),var(--orange-l)); transform:scaleX(0); transform-origin:left; transition:.4s; }
.cat-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow); border-color:transparent; }
.cat-card:hover::before{ transform:scaleX(1); }
.cat-link{ display:flex; flex-direction:column; align-items:center; gap:8px; width:100%; flex:1; }
.cat-media{ width:100%; height:88px; display:grid; place-items:center; }
.cat-media img{ max-height:88px; max-width:100%; object-fit:contain; transition:transform .5s; }
.cat-card:hover .cat-media img,.cat-card:hover .thumb-placeholder{ transform:scale(1.12) rotate(-3deg); }
.cat-card h3{ font-size:.86rem; margin:0; color:var(--navy); font-family:'Poppins'; font-weight:600; }
.thumb-placeholder{ display:grid; place-items:center; width:72px; height:72px; border-radius:20px; background:linear-gradient(135deg,var(--cream),#fff); color:var(--orange); font-size:2.2rem; transition:.5s; box-shadow:inset 0 0 0 1px #f4e1c4; }
.cat-media .thumb-placeholder{ width:78px; height:78px; }

/* ---------- Facts ---------- */
.facts-wrap{ padding:0 0 10px; }
.facts{ background:var(--cream); border-radius:var(--radius); display:grid; grid-template-columns:repeat(4,1fr); padding:20px 10px; gap:6px; }
.fact{ display:flex; align-items:center; gap:14px; padding:6px 20px; border-right:1px solid #ecd9bd; }
.fact:last-child{ border-right:0; }
.fact>i{ font-size:2.2rem; color:var(--orange); transition:.4s; }
.fact:hover>i{ transform:scale(1.2) rotate(-8deg); }
.fact strong{ display:block; font-size:.88rem; color:var(--orange-d); font-family:'Montserrat'; }
.fact span{ font-size:.8rem; color:#555; }
@media(max-width:991.98px){ .facts{ grid-template-columns:1fr 1fr; } .fact:nth-child(2){ border-right:0; } }
@media(max-width:575.98px){ .facts{ grid-template-columns:1fr; } .fact{ border-right:0; border-bottom:1px solid #ecd9bd; padding:12px 14px; } .fact:last-child{ border-bottom:0; } }

/* ---------- Product cards ---------- */
.prod-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; height:100%; display:flex; flex-direction:column; transition:.35s; }
.prod-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow); border-color:transparent; }
.prod-media{ position:relative; display:grid; place-items:center; aspect-ratio:1/1; background:linear-gradient(160deg,#fff,#f6f8fd); overflow:hidden; }
.prod-media img{ width:100%; height:100%; object-fit:contain; padding:14px; transition:transform .6s; }
.prod-card:hover .prod-media img,.prod-card:hover .prod-media .thumb-placeholder{ transform:scale(1.1); }
.prod-media .thumb-placeholder{ width:110px; height:110px; font-size:3.4rem; border-radius:28px; }
.badge-feat{ position:absolute; left:10px; top:10px; background:var(--orange); color:#fff; font-size:.68rem; font-weight:600; padding:3px 10px; border-radius:50px; }
.prod-body{ padding:14px; display:flex; flex-direction:column; gap:6px; flex:1; }
.prod-cat{ font-size:.72rem; font-weight:600; color:var(--orange-d); text-transform:uppercase; letter-spacing:.6px; }
.prod-title{ font-size:.98rem; margin:0; font-family:'Poppins'; font-weight:600; }
.prod-title a{ color:var(--navy); }
.prod-desc{ font-size:.82rem; color:var(--muted); margin:0 0 6px; flex:1; }

/* ---------- Glimpse + Strip ---------- */
.glimpse{ background:linear-gradient(180deg,#fff,#f7f9fe); }
.glimpse-item{ text-align:center; padding:10px 14px; position:relative; }
.gi-icon{ width:74px; height:74px; margin:0 auto 12px; border-radius:50%; display:grid; place-items:center; font-size:2rem; color:var(--orange); background:#fff; box-shadow:0 8px 22px rgba(247,148,29,.25); transition:.45s; }
.glimpse-item:hover .gi-icon{ background:var(--orange); color:#fff; transform:rotateY(360deg) scale(1.08); }
.glimpse-item h3{ font-size:1rem; margin:0 0 4px; }
.glimpse-item p{ font-size:.84rem; color:var(--muted); margin:0; }
.strip{ background:linear-gradient(100deg,var(--navy-d),var(--navy)); color:#fff; padding:26px 0; }
.strip-item{ display:flex; align-items:center; gap:14px; justify-content:center; }
.strip-item>i{ font-size:2rem; color:var(--orange); animation:bob 3s ease-in-out infinite; }
.strip-item strong{ display:block; font-size:.98rem; color:var(--orange-l); font-family:'Montserrat'; }
.strip-item span{ font-size:.8rem; color:#d6def0; }
@keyframes bob{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-6px);} }

/* ---------- Reviews ---------- */
.review-swiper{ padding:6px 4px 46px; }
.review-swiper .swiper-slide{ height:auto; }
.review-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:20px; display:flex; gap:16px; align-items:center; height:100%; margin:0; box-shadow:0 4px 16px rgba(16,40,90,.05); transition:.3s; }
.review-card:hover{ box-shadow:var(--shadow); transform:translateY(-4px); }
.rv-photo{ flex:0 0 70px; width:70px; height:70px; border-radius:50%; overflow:hidden; background:linear-gradient(135deg,var(--navy),var(--navy-l)); color:#fff; display:grid; place-items:center; font-size:1.6rem; font-weight:700; border:3px solid var(--cream); }
.rv-photo img{ width:100%; height:100%; object-fit:cover; }
.stars{ color:#f5a623; font-size:.8rem; letter-spacing:2px; }
.review-card blockquote{ font-size:.86rem; margin:6px 0; color:#3a4358; }
.review-card figcaption{ font-size:.76rem; color:var(--muted); }
.review-card figcaption strong{ color:var(--navy); }
.swiper-pagination-bullet-active{ background:var(--orange) !important; }

/* ---------- Bulk enquiry ---------- */
.bulk-box{ position:relative; background:linear-gradient(120deg,var(--navy-d),var(--navy)); border-radius:22px; padding:34px; overflow:hidden; box-shadow:0 20px 50px rgba(16,40,90,.3); }
.bulk-glow{ position:absolute; width:340px; height:340px; border-radius:50%; background:radial-gradient(circle,rgba(247,148,29,.4),transparent 70%); right:-80px; top:-100px; animation:floaty 8s ease-in-out infinite; }
.bulk-text{ position:relative; color:#fff; }
.bulk-text h2{ color:#fff; font-size:clamp(1.5rem,3vw,2.2rem); margin:6px 0 12px; }
.bulk-text .hl{ color:var(--orange); }
.bulk-text p{ color:#d6def0; }
.bulk-contact{ display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
.bulk-contact a{ color:#fff; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25); padding:8px 16px; border-radius:50px; font-size:.85rem; font-weight:500; }
.bulk-contact a:hover{ background:var(--orange); border-color:var(--orange); }
.bulk-form{ background:#fff; border-radius:16px; padding:22px; position:relative; box-shadow:0 14px 34px rgba(0,0,0,.2); }

/* ---------- Forms ---------- */
.enquiry-form .form-label{ font-size:.8rem; font-weight:600; color:var(--navy); margin-bottom:3px; }
.enquiry-form .req{ color:#e03131; }
.enquiry-form .form-control,.enquiry-form .form-select{ font-size:.88rem; border:1.5px solid var(--line); border-radius:9px; padding:.55rem .8rem; background-color:#f9fafc; transition:.25s; }
.enquiry-form .form-control:focus,.enquiry-form .form-select:focus{ border-color:var(--orange); box-shadow:0 0 0 4px rgba(247,148,29,.15); background:#fff; }
.enquiry-form .is-invalid{ border-color:#e03131 !important; }
.captcha-row{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.captcha-img{ border-radius:8px; border:1.5px solid var(--line); background:#fff; display:block; }
.captcha-refresh{ width:38px; height:38px; border-radius:50%; border:0; background:var(--cream); color:var(--orange-d); display:grid; place-items:center; transition:.4s; }
.captcha-refresh:hover{ background:var(--orange); color:#fff; transform:rotate(180deg); }
.captcha-input{ max-width:160px; text-transform:uppercase; letter-spacing:3px; font-weight:600; }
.btn-submit{ padding:.8rem 1rem; }
.form-result .alert{ margin:0; font-size:.88rem; border-radius:10px; animation:slideUp .4s; }
.form-card{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:28px; box-shadow:var(--shadow); }
.form-card h2{ font-size:1.4rem; }
.enquiry-modal{ border:0; border-radius:20px; overflow:hidden; }
.enquiry-modal .modal-header{ background:linear-gradient(120deg,var(--navy-d),var(--navy)); color:#fff; border:0; padding:18px 24px; }
.enquiry-modal .modal-title{ color:#fff; font-size:1.25rem; }
.enquiry-modal #enquiryModalProduct{ color:var(--orange-l); font-weight:500; }
.enquiry-modal .btn-close{ filter:invert(1); }
.enquiry-modal .modal-body{ padding:24px; }
.modal.fade .modal-dialog{ transform:translateY(40px) scale(.96); transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.modal.show .modal-dialog{ transform:none; }

/* ---------- Blog ---------- */
.blog-head{ font-size:1.25rem; margin:0; display:flex; align-items:center; gap:10px; }
.blog-head .line{ width:28px; height:3px; background:var(--orange); display:inline-block; border-radius:3px; }
.blog-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; height:100%; display:flex; flex-direction:column; transition:.35s; }
.blog-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow); border-color:transparent; }
.blog-media{ display:block; aspect-ratio:16/10; overflow:hidden; background:linear-gradient(135deg,var(--cream),#fff); display:grid; place-items:center; }
.blog-media img{ width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.blog-card:hover .blog-media img{ transform:scale(1.08); }
.blog-media .thumb-placeholder{ width:90px; height:90px; font-size:2.8rem; }
.blog-body{ padding:16px; display:flex; flex-direction:column; gap:6px; flex:1; }
.blog-body h3{ font-size:1rem; margin:0; font-family:'Poppins'; font-weight:600; }
.blog-body p{ font-size:.84rem; color:var(--muted); margin:0; flex:1; }
.blog-date{ font-size:.74rem; color:var(--muted); }
.blog-date i{ color:var(--orange); }
.read-more{ font-size:.84rem; font-weight:600; color:var(--navy); display:inline-flex; gap:6px; align-items:center; }
.read-more i{ transition:.3s; }
.read-more:hover i{ transform:translateX(5px); }

/* ---------- Inner page hero ---------- */
.page-hero{ position:relative; background:linear-gradient(120deg,var(--navy-d),var(--navy) 60%,var(--navy-l)); color:#fff; padding:52px 0 46px; overflow:hidden; }
.ph-shape{ position:absolute; border-radius:50%; animation:floaty 9s ease-in-out infinite; }
.ph-s1{ width:260px; height:260px; background:rgba(247,148,29,.18); right:-60px; top:-90px; }
.ph-s2{ width:120px; height:120px; background:rgba(255,255,255,.07); left:8%; bottom:-40px; animation-delay:-4s; }
.ph-title{ color:#fff; font-size:clamp(1.6rem,3.6vw,2.4rem); margin:6px 0 6px; animation:slideUp .7s both; }
.ph-sub{ color:#d6def0; margin:0; max-width:720px; animation:slideUp .7s .12s both; }
.breadcrumb{ margin:0; font-size:.82rem; }
.breadcrumb-item a{ color:var(--orange-l); }
.breadcrumb-item.active,.breadcrumb-item+.breadcrumb-item::before{ color:#c9d4ec; }

/* ---------- Listing sidebar ---------- */
.side-box{ position:sticky; top:96px; }
.side-search{ position:relative; margin-bottom:18px; }
.side-search .form-control{ border-radius:50px; padding:.65rem 3rem .65rem 1.1rem; border:1.5px solid var(--line); }
.side-search button{ position:absolute; right:5px; top:5px; width:36px; height:36px; border-radius:50%; border:0; background:var(--orange); color:#fff; }
.side-title{ font-size:1rem; margin:0 0 10px; padding-bottom:8px; border-bottom:2px solid var(--orange); display:inline-block; }
.side-list,.recent-list{ list-style:none; padding:0; margin:0 0 20px; }
.side-list a{ display:flex; align-items:center; gap:10px; padding:9px 12px; border-radius:10px; font-size:.88rem; color:var(--ink); font-weight:500; }
.side-list a i{ color:var(--orange); }
.side-list a small{ margin-left:auto; color:var(--muted); }
.side-list a:hover,.side-list a.active{ background:var(--navy); color:#fff; transform:translateX(4px); }
.side-list a.active small,.side-list a:hover small{ color:#cfd8ee; }
.side-cta{ background:linear-gradient(135deg,var(--orange),var(--orange-d)); color:#fff; border-radius:var(--radius); padding:20px; text-align:center; }
.side-cta h3{ color:#fff; font-size:1.05rem; }
.side-cta p{ font-size:.84rem; opacity:.95; }
.side-cta .btn-brand{ background:var(--navy); box-shadow:none; }
.recent-list li{ padding:10px 0; border-bottom:1px dashed var(--line); }
.recent-list a{ display:block; font-weight:600; font-size:.88rem; }
.recent-list small{ color:var(--muted); }
.empty-box{ text-align:center; padding:60px 20px; color:var(--muted); }
.empty-box i{ font-size:3.5rem; color:var(--orange); }

/* ---------- Product detail ---------- */
.pd-main{ background:linear-gradient(160deg,#fff,#f4f7fd); border:1px solid var(--line); border-radius:var(--radius); aspect-ratio:1/1; display:grid; place-items:center; overflow:hidden; }
.pd-main img{ width:100%; height:100%; object-fit:contain; padding:18px; transition:opacity .25s; }
.pd-main:hover img{ transform:scale(1.04); transition:transform .5s; }
.pd-ph{ width:170px; height:170px; font-size:5.5rem; border-radius:40px; }
.pd-thumbs{ display:flex; gap:10px; margin-top:12px; flex-wrap:wrap; }
.pd-thumb{ width:76px; height:76px; border:2px solid var(--line); border-radius:12px; background:#fff; padding:4px; overflow:hidden; transition:.25s; }
.pd-thumb img{ width:100%; height:100%; object-fit:contain; }
.pd-thumb.active,.pd-thumb:hover{ border-color:var(--orange); transform:translateY(-3px); }
.pd-name{ font-size:clamp(1.4rem,2.6vw,1.9rem); margin:6px 0 10px; }
.pd-features{ list-style:none; padding:0; margin:14px 0 0; display:grid; gap:8px; }
.pd-features li{ font-size:.92rem; }
.pd-features i{ color:var(--orange); margin-right:6px; }
.pd-trust{ display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.pd-trust span{ background:var(--cream); color:var(--navy); font-size:.78rem; font-weight:600; padding:7px 14px; border-radius:50px; }
.pd-trust i{ color:var(--orange-d); margin-right:4px; }
.sub-h{ font-size:1.3rem; padding-bottom:8px; border-bottom:2px solid var(--line); position:relative; }
.sub-h::after{ content:""; position:absolute; left:0; bottom:-2px; width:70px; height:2px; background:var(--orange); }

/* ---------- Rich content ---------- */
.rich{ font-size:.97rem; color:#33405a; }
.rich h2{ font-size:1.4rem; margin:1.4rem 0 .6rem; }
.rich h3{ font-size:1.15rem; margin:1.2rem 0 .5rem; }
.rich ul,.rich ol{ padding-left:1.2rem; }
.rich ul li::marker{ color:var(--orange); }
.rich img{ border-radius:12px; margin:10px 0; }
.rich table{ width:100%; border-collapse:collapse; margin:1rem 0; }
.rich table td,.rich table th{ border:1px solid var(--line); padding:8px 12px; }
.post-meta{ display:flex; gap:18px; font-size:.82rem; color:var(--muted); margin-bottom:14px; }
.post-meta i{ color:var(--orange); }
.post-cover{ width:100%; border-radius:var(--radius); margin-bottom:20px; }
.share-row{ display:flex; align-items:center; gap:10px; margin-top:28px; padding-top:18px; border-top:1px solid var(--line); }
.share-row a{ width:38px; height:38px; border-radius:50%; background:var(--cream); display:grid; place-items:center; color:var(--navy); }
.share-row a:hover{ background:var(--orange); color:#fff; transform:translateY(-3px); }

/* ---------- Contact ---------- */
.contact-cards{ list-style:none; padding:0; margin:0; display:grid; gap:14px; }
.contact-cards li{ display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:16px; transition:.3s; }
.contact-cards li:hover{ transform:translateX(6px); box-shadow:var(--shadow); }
.contact-cards .ci{ flex:0 0 48px; height:48px; border-radius:14px; background:var(--cream); color:var(--orange-d); display:grid; place-items:center; font-size:1.3rem; }
.contact-cards .ci.wa{ background:#e5f9ec; color:#1ebd5a; }
.contact-cards strong{ display:block; color:var(--navy); font-size:.9rem; }
.contact-cards span,.contact-cards a{ font-size:.88rem; color:#4a566e; display:block; }
.map-frame{ line-height:0; } .map-frame iframe{ width:100%; height:380px; border:0; }

/* ---------- 404 ---------- */
.nf-code{ font-family:'Montserrat'; font-weight:800; font-size:clamp(5rem,16vw,9rem); color:var(--orange); line-height:1; animation:floaty 5s ease-in-out infinite; }

/* ---------- Footer ---------- */
.site-footer{ background:linear-gradient(180deg,var(--navy),var(--navy-d)); color:#cfd8ee; padding-top:50px; margin-top:20px; }
.site-footer .brand-text{ color:#fff; }
.tagline{ color:var(--orange-l); font-weight:600; margin:0 0 6px; }
.foot-about{ color:#aebbd8; }
.foot-title{ color:#fff; font-size:1rem; margin-bottom:14px; position:relative; padding-bottom:8px; }
.foot-title::after{ content:""; position:absolute; left:0; bottom:0; width:34px; height:3px; background:var(--orange); border-radius:3px; }
.foot-links,.foot-contact{ list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.foot-links a,.foot-contact a{ color:#cfd8ee; font-size:.88rem; }
.foot-links a:hover,.foot-contact a:hover{ color:var(--orange); padding-left:5px; }
.foot-contact li{ display:flex; gap:10px; font-size:.88rem; }
.foot-contact i{ color:var(--orange); margin-top:3px; }
.social{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.social a{ width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.1); color:#fff; display:grid; place-items:center; }
.social a:hover{ background:var(--orange); transform:translateY(-4px); }
.social a.wa-chip{ width:auto; padding:0 16px; border-radius:50px; background:#25d366; font-size:.82rem; font-weight:600; gap:6px; grid-auto-flow:column; }
.foot-bottom{ border-top:1px solid rgba(255,255,255,.12); margin-top:36px; padding:16px 0; font-size:.8rem; }
.foot-bottom a{ color:#cfd8ee; } .foot-bottom a:hover{ color:var(--orange); }

/* ---------- Floating ---------- */
.float-wa{ position:fixed; right:18px; bottom:18px; width:56px; height:56px; border-radius:50%; background:#25d366; color:#fff; display:grid; place-items:center; font-size:1.8rem; z-index:1040; box-shadow:0 8px 22px rgba(37,211,102,.5); animation:waPulse 2.2s infinite; }
.float-wa:hover{ color:#fff; transform:scale(1.1); }
@keyframes waPulse{ 0%{ box-shadow:0 0 0 0 rgba(37,211,102,.6);} 70%{ box-shadow:0 0 0 20px rgba(37,211,102,0);} 100%{ box-shadow:0 0 0 0 rgba(37,211,102,0);} }
.back-top{ position:fixed; right:24px; bottom:86px; width:42px; height:42px; border-radius:50%; border:0; background:var(--navy); color:#fff; z-index:1040; opacity:0; visibility:hidden; transform:translateY(14px); transition:.3s; box-shadow:0 6px 16px rgba(0,0,0,.25); }
.back-top.show{ opacity:1; visibility:visible; transform:none; }
.back-top:hover{ background:var(--orange); }

/* ---------- Misc / reduced motion ---------- */
.pagination .page-link{ color:var(--navy); border-radius:10px !important; margin:0 3px; border:1px solid var(--line); }
.pagination .active .page-link{ background:var(--orange); border-color:var(--orange); color:#fff; }
@media(max-width:575.98px){
  .section{ padding:48px 0; }
  .bulk-box{ padding:20px 14px; }
  .bulk-form{ padding:16px; }
  .review-card{ flex-direction:column; text-align:center; }
  .captcha-input{ max-width:none; flex:1; }
  .topbar{ font-size:.7rem; }
  .float-wa{ width:50px; height:50px; font-size:1.6rem; }
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
