/* Migorason 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; }
}
