/* Clavanto storefront: compact shopping navigation and image-led offers.
   Marketplace styles provide the shared blue/orange commerce components. */
.logo img { display:block; width:180px; height:auto; }
.promo .promo-message { text-transform:uppercase; }
.promo .promo-coupon { white-space:nowrap; }
.promo strong { font-weight:750; }
.hero-panels { grid-template-columns:repeat(var(--hero-columns,4),minmax(0,1fr)); }
.market-hero { background-image:url('img/hero-os.webp'); }
.quick-office { background:linear-gradient(115deg,#c44417,#8d2f17); }
.offer-copy h2 { text-transform:uppercase; text-wrap:balance; }
.offer-tag { max-width:100%; }
.offer-panel:focus-visible { outline:3px solid #79b8ff; outline-offset:-3px; }
.quick-tile svg { flex-shrink:0; }
.quick-tile>span:not(.quick-arrow) { min-width:0; }
.pc .ptop { min-height:23px; }

/* CMS navigation remains accessible from every page. */
.crail>.wrap { overflow:visible; position:relative; }
.category-menu { position:static; flex:none; }
.category-menu summary { display:flex; align-items:center; gap:9px; cursor:pointer; list-style:none; min-height:63px; font-size:14px; font-weight:650; white-space:nowrap; color:#f5f5f7; }
.category-menu summary::-webkit-details-marker { display:none; }
.category-menu summary>span { font-size:14px; color:#9ba3ad; margin-left:2px; }
.category-menu[open] summary { color:#79b8ff; }
.mega-menu { position:absolute; top:100%; left:48px; right:48px; z-index:70; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:26px; padding:29px; background:var(--surf); color:var(--ink); border:1px solid var(--line); border-radius:0 0 12px 12px; box-shadow:0 18px 38px #0003; }
.crail .mega-menu a { display:block; padding:7px 0; border:0; min-height:0; font-size:12px; font-weight:400; line-height:1.6; white-space:normal; color:var(--ink2); }
.crail .mega-menu .mega-heading { padding:0 0 12px; font-weight:750; font-size:14px; color:var(--ink); }
.crail .mega-menu a:hover { color:var(--acc); text-decoration:underline; }
.category-menu summary:focus-visible { outline:2px solid #79b8ff; outline-offset:2px; }
.crail .nav-deals { margin-left:auto; }

/* Admin-configured promotion strips and product copy. */
.wide-promo { display:grid; grid-template-columns:1.1fr 1fr; min-height:260px; overflow:hidden; border-radius:12px; margin-top:42px; position:relative; isolation:isolate; background:#081523; color:#fff; }
.wide-promo>div { padding:38px; z-index:1; }
.wide-promo .eyebrow { color:#85bdff; }
.wide-promo h2 { font-size:34px; letter-spacing:-1px; margin:12px 0; line-height:1.15; }
.wide-promo p { color:#c3ccd9; font-size:14px; line-height:1.7; margin:0 0 22px; }
.wide-promo>img { position:absolute; right:0; top:0; width:48%; height:100%; object-fit:cover; z-index:-2; }
.wide-promo:after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#081523 40%,#08152330 75%); }
.wide-promo .btn { font-size:12px; }
.category-cms-banner { margin-bottom:28px; }
.info-page>p { white-space:pre-line; line-height:1.9; }
.product-description { margin:0 0 24px; color:var(--ink2); line-height:1.8; font-size:14px; white-space:pre-line; }
.cathero .ch p { max-width:550px; }
.bootstrap-state { padding:85px 0; text-align:center; color:var(--ink3); }
.fbox #fregion { width:100%; border:1px solid var(--line); padding:10px; border-radius:8px; background:var(--surf); color:var(--ink); font-size:12px; }
[hidden] { display:none!important; }

/* Keep product-list touch targets inside their own controls. */
.rbtns .rwish { position:relative!important; inset:auto!important; width:40px; height:40px; min-width:40px; }
.rbtns .rwish:after { inset:0; }
.rbtns .btn { min-height:40px; }

footer { background:#080d15; color:#fff; border:0; margin-top:54px; padding-top:0; }
.news { background:transparent; border:0; border-bottom:1px solid #ffffff20; border-radius:0; padding:34px 0; margin:0 0 36px; }
.news h3 { color:#fff; font-size:26px; }
.news p,.fc p,.fc a { color:#aeb7c6; }
.fc h4 { color:#fff; }
.fc a:hover { color:white; }
.nform input { background:#ffffff0c; border-color:#ffffff28; color:#fff; }
.nform .btn { background:#0866ee; color:#fff; border-color:#0866ee; }
.fc .logo { margin-bottom:14px; }
.fc .logo img { width:180px; }
.fnote { border-color:#ffffff20; color:#aeb7c6; }
.store-preview { border:1px solid #ffffff25; border-radius:5px; padding:6px 9px; display:inline-block; font-size:10px; color:#bcc7d7; margin-top:16px; }

@media (max-width:1279px) {
  .logo img { width:165px; }
  .crail .wrap { gap:24px; }
  .category-menu summary { font-size:13px; }
  .mega-menu { left:32px; right:32px; }
}
@media (max-width:1099px) {
  .crail .wrap { gap:20px; }
  .crail .nav-deals { display:none; }
}
@media (max-width:999px) {
  .category-menu summary { min-height:56px; }
  .mega-menu { left:24px; right:24px; gap:20px; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .wide-promo h2 { font-size:29px; }
  .wide-promo>div { padding:30px; }
}
@media (max-width:819px) {
  .logo img { width:169px; }
  .crail { position:relative; top:auto; }
  .crail>.wrap { position:static; overflow:auto; }
  .crail .wrap>a { flex:none; }
  .category-menu summary { min-height:49px; font-size:12px; }
  .mega-menu { max-height:65vh; overflow:auto; }
  .wide-promo h2 { font-size:27px; }
}
@media (max-width:599px) {
  .logo img { width:156px; }
  .promo .promo-message { display:none; }
  .promo .wrap { gap:12px; }
  .promo .promo-coupon { font-size:9px; }
  .crail .wrap { gap:24px; }
  .category-menu summary { min-height:47px; }
  .mega-menu { left:0; right:0; border-radius:0 0 12px 12px; padding:23px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .crail .mega-menu a { padding-block:9px; font-size:12px; }
  .crail .mega-menu .mega-heading { font-size:13px; }
  .hero-mobile-controls .arw button { width:40px; height:40px; }
  .wide-promo { grid-template-columns:1fr; min-height:275px; margin-top:30px; }
  .wide-promo>div { padding:26px; width:80%; }
  .wide-promo h2 { font-size:28px; max-width:13ch; }
  .wide-promo p { font-size:12px; max-width:27ch; }
  .wide-promo>img { width:45%; opacity:.65; }
  .wide-promo .btn { font-size:11px; }
  .news { padding:28px 0; }
  .news h3 { font-size:24px; }
  footer { margin-top:36px; }
}
@media (max-width:359px) {
  .logo img { width:135px; }
  #themeBtn { display:none; }
}


/* ── help centre, contact, blog ─────────────────────────────────────── */
.help-hero{max-width:720px;margin:28px 0 22px}
.help-hero p{color:var(--ink2,#5b6474);font-size:16px;line-height:1.7;margin-top:8px}
.help-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:start}
.help-grid h2{font-size:20px;margin-bottom:14px;letter-spacing:-.3px}
.guide-list{display:grid;gap:10px;margin-bottom:22px}
.guide-list a{display:block;padding:14px 16px;border:1px solid var(--line,#e6e8ef);border-radius:12px;background:var(--surf,#fff);color:inherit;text-decoration:none}
.guide-list a:hover{border-color:#c9cfdb}
.guide-list b{display:block;font-size:15px}
.guide-list span{display:block;font-size:13px;color:var(--ink2,#5b6474);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contact-card{display:grid;grid-template-columns:1fr 1.4fr;gap:28px;margin:34px 0 40px;padding:28px;border:1px solid var(--line,#e6e8ef);border-radius:16px;background:var(--surf,#fff)}
.contact-card h2{font-size:22px;letter-spacing:-.4px;margin-top:6px}
.contact-card p{color:var(--ink2,#5b6474);margin-top:8px;line-height:1.6}
.contact-form{display:grid;gap:12px}
.contact-form .cf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-form label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--ink2,#5b6474)}
.contact-form input,.contact-form textarea{width:100%;font:inherit;font-size:15px;padding:11px 13px;border:1px solid var(--line2,#d5d9e3);border-radius:10px;background:var(--surf,#fff);color:var(--ink,#1c2338)}
.contact-form input:focus,.contact-form textarea:focus{outline:0;border-color:var(--acc,#2f5bff);box-shadow:0 0 0 3px rgba(47,91,255,.2)}
.contact-form textarea{resize:vertical;min-height:110px}
.contact-form .form-error{color:#c62828;font-size:13px;min-height:1em;margin:0}
.contact-form .form-error:empty{display:none}
.contact-form .btn{justify-self:start}
.contact-ok{padding:14px 16px;border-radius:10px;background:#e6f6ee;color:#1f8a5b;font-weight:600}
.info-page .rich h2{font-size:20px;margin-top:26px;letter-spacing:-.3px}
.info-page .rich p{margin-top:16px;line-height:1.85;color:var(--ink2,#3d465a)}
.info-page .rich ul{margin:14px 0 0 22px;line-height:1.8;color:var(--ink2,#3d465a)}
.info-page .post-image{width:100%;border-radius:12px;margin-bottom:22px;aspect-ratio:2/1;object-fit:cover}
.blog-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin:0 0 40px}
.blog-card{display:block;border:1px solid var(--line,#e6e8ef);border-radius:14px;overflow:hidden;background:var(--surf,#fff);color:inherit;text-decoration:none;transition:transform .15s,box-shadow .15s}
.blog-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0f172a14}
.blog-card img,.blog-card .blog-ph{width:100%;aspect-ratio:16/9;object-fit:cover;background:linear-gradient(135deg,#20283f,#3a4668)}
.blog-card>div{padding:16px 18px 20px}
.blog-card time{font-size:12px;color:var(--ink2,#5b6474);text-transform:uppercase;letter-spacing:.6px}
.blog-card h3{font-size:17px;margin-top:6px;letter-spacing:-.2px}
.blog-card p{font-size:14px;color:var(--ink2,#5b6474);margin-top:8px;line-height:1.6}
.blog-card span{display:inline-block;margin-top:12px;font-weight:700;font-size:14px;color:#2f5bff}
.muted{color:var(--ink2,#5b6474)}
/* floating help */
.help-fab{position:fixed;right:18px;bottom:18px;z-index:60;display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:999px;background:#17203a;color:#ffcc67;font-weight:700;font-size:14px;box-shadow:0 10px 28px #0f172a44;border:0;cursor:pointer}
.help-fab svg{width:18px;height:18px}
.help-fab:hover{background:#232d4d}
.help-panel{position:fixed;right:18px;bottom:76px;z-index:61;width:min(380px,calc(100vw - 36px));max-height:min(620px,calc(100vh - 110px));overflow:auto;background:#fff;color:#1c2338;border:1px solid #e6e8ef;border-radius:16px;box-shadow:0 20px 50px #0f172a33}
.help-panel header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #e6e8ef;background:#17203a;color:#fff;position:sticky;top:0}
.help-panel header b{font-size:15px}
.help-panel header button{background:none;border:0;color:#fff;font-size:24px;line-height:1;cursor:pointer}
#helpPanelBody{padding:14px 18px 18px}
.hp-label{font-size:11.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#6b7385;margin:10px 0 8px}
.hp-faq details{border:1px solid #e6e8ef;border-radius:10px;padding:10px 12px;margin-bottom:8px;background:#fafbfd}
.hp-faq summary{font-weight:600;font-size:14px;cursor:pointer}
.hp-faq p{font-size:13.5px;color:#5b6474;margin-top:8px;line-height:1.6}
.hp-link{display:block;margin:6px 0 14px;font-weight:700;color:#2f5bff;text-decoration:none}
#helpPanelBody .contact-form{gap:10px}
#helpPanelBody .contact-form .cf-row{grid-template-columns:1fr}
#helpPanelBody .contact-form input,#helpPanelBody .contact-form textarea{font-size:14px;padding:9px 11px}
#helpPanelBody .contact-form textarea{min-height:80px}
@media(max-width:820px){.help-grid,.contact-card{grid-template-columns:1fr}.contact-form .cf-row{grid-template-columns:1fr}.help-fab{bottom:calc(74px + env(safe-area-inset-bottom));right:14px;padding:11px 14px}.help-panel{right:12px;bottom:calc(130px + env(safe-area-inset-bottom));max-height:calc(100vh - 200px)}.help-fab span{display:none}}

/* the help button waits until the cookie choice is made */
body:has(#cookie:not([hidden])) .help-fab{display:none}
/* help panel and blog follow the theme */
.help-panel{background:var(--surf,#fff);color:var(--ink,#1c2338);border-color:var(--line,#e6e8ef)}
.hp-faq details{background:var(--surf2,#fafbfd);border-color:var(--line,#e6e8ef)}
.hp-faq p,.hp-label{color:var(--ink2,#5b6474)}
.hp-link,.blog-card span{color:var(--acc,#2f5bff)}
[data-theme="dark"] .contact-ok{background:#12372a;color:#87d976}
