/* =========================================================
GMG MAIN CSS
PART 1/2
========================================================= */


/* =========================================================
RESET & GLOBAL
========================================================= */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'Poppins',sans-serif;
  overflow-x:hidden;

  background:#ffffff;
  color:#0f172a;

  -webkit-font-smoothing:antialiased;

  animation:gmgPageIn .2s ease-out both;
  transition:
    opacity .14s ease;
}

body.gmg-page-leaving{
  opacity:0;
  pointer-events:none;
}

@keyframes gmgPageIn{
  from{
    opacity:0;
  }

  to{
    opacity:1;
  }
}

@media(prefers-reduced-motion:reduce){

  html{
    scroll-behavior:auto;
  }

  body{
    animation:none;
    transition:none;
  }

  .product-card.show,
  .detail-tab-panel.active{
    animation:none;
  }

}

img{
  width:100%;
  display:block;
}

ul{
  margin:0;
  padding:0;
  list-style:none;
}

a{
  text-decoration:none;
}

.container{
  width:100%;
  max-width:1440px;

  margin:0 auto;

  padding-left:clamp(18px,3vw,48px);
  padding-right:clamp(18px,3vw,48px);
}


/* =========================================================
GLOBAL HOVER EFFECT
========================================================= */

.btn-detail:hover,
.btn-buy:hover,
.all-product-btn:hover,
.btn-distributor:hover,
.btn-hero-primary:hover,
.btn-hero-secondary:hover{
  transform:translateY(-3px);
}


/* =========================================================
HEADER & FOOTER FULL WIDTH
========================================================= */

.footer .container,
.gmg-header .container,
.hero-section .container,
.project-section .container{
  width:100%;
  max-width:100%;
}


/* =========================================================
HEADER
========================================================= */

.gmg-header{
  position:fixed;

  top:0;
  left:0;

  width:100%;

  z-index:9999;

  padding:0;

  background:rgba(6,38,77,.96);

  backdrop-filter:blur(16px);

  border-bottom:
    1px solid rgba(255,255,255,.08);

  transition:
    background .3s ease,
    height .3s ease,
    box-shadow .3s ease;
}

.gmg-header.scrolled{
  background:rgba(6,38,77,.96);

  box-shadow:
    0 10px 30px rgba(0,0,0,.12);
}

.header-wrapper{
  width:100%;
  height:88px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:48px;

  transition:.3s ease;
}

.gmg-header.scrolled .header-wrapper{
  height:74px;
}


/* =========================================================
LOGO
========================================================= */

.gmg-logo{
  display:flex;
  align-items:center;

  gap:12px;

  flex-shrink:0;
}

.gmg-logo img{
  width:52px;
  height:52px;

  object-fit:contain;
}

.logo-text h2{
  color:#ffffff;

  font-size:28px;
  font-weight:800;

  line-height:1;

  letter-spacing:-0.5px;
}

.logo-text span{
  display:block;

  margin-top:6px;

  color:rgba(255,255,255,.78);

  font-size:14px;
  font-weight:500;

  letter-spacing:.4px;
}


/* =========================================================
NAVIGATION
========================================================= */

.gmg-nav{
  display:flex;
  align-items:center;

  gap:38px;

  margin-left:auto;
}

.gmg-nav a{
  position:relative;

  padding:6px 0;

  color:#ffffff;

  font-size:14px;
  font-weight:500;

  letter-spacing:.3px;

  transition:.3s;
}

.gmg-nav a:hover,
.gmg-nav a.active{
  color:#7cc4ff;
}

.gmg-nav a::after{
  content:'';

  position:absolute;

  left:0;
  bottom:-8px;

  width:0;
  height:2px;

  background:#7cc4ff;

  border-radius:999px;

  transition:.3s;
}

.gmg-nav a:hover::after,
.gmg-nav a.active::after{
  width:100%;
}


/* =========================================================
HEADER BUTTON
========================================================= */

.mobile-garansi-btn{
  display:none;
}

.btn-distributor{
  height:48px;

  padding:0 24px;

  border-radius:14px;

  background:#ffffff;
  color:#06264d;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:13px;
  font-weight:700;

  letter-spacing:.5px;

  flex-shrink:0;

  transition:.3s;

  box-shadow:
    0 10px 24px rgba(255,255,255,.12);
}

.btn-distributor:hover{
  background:#ffffff;

  box-shadow:
    0 16px 32px rgba(255,255,255,.2);
}


/* =========================================================
MOBILE TOGGLE
========================================================= */

.menu-toggle{
  width:46px;
  height:46px;

  border:none;
  background:transparent;

  display:none;

  flex-direction:column;
  justify-content:center;

  gap:6px;

  cursor:pointer;
}

.menu-toggle span{
  width:24px;
  height:2px;

  background:#ffffff;

  border-radius:999px;

  transition:.3s ease;
}

.menu-toggle.active span:nth-child(1){
  transform:
    rotate(45deg)
    translateY(11px);
}

.menu-toggle.active span:nth-child(2){
  opacity:0;
}

.menu-toggle.active span:nth-child(3){
  transform:
    rotate(-45deg)
    translateY(-11px);
}


/* =========================================================
HERO SECTION
========================================================= */

.hero-section{
  position:relative;

  width:100%;
  height:780px;

  margin-top:80px;

  overflow:hidden;

  background:#ffffff;
}

.hero-section::before{
  content:"";

  position:absolute;
  top:0;
  bottom:0;
  left:0;

  z-index:2;

  width:45%;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.9) 0%,
      rgba(255,255,255,1) 100%
    );

  -webkit-mask-image:
    linear-gradient(
      90deg,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,0) 100%
    );

  mask-image:
    linear-gradient(
      90deg,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,0) 100%
    );

  pointer-events:none;
}

.hero-background{
  position:absolute;

  inset:0;

  z-index:1;
}

.hero-background picture{
  display:block;
  width:100%;
  height:100%;
}

.hero-background img{
  display:block;
  width:100%;
  height:100%;

  object-fit:cover;
}

.hero-content{
  position:absolute;

  top:112px;
  left:90px;

  z-index:3;

  max-width:980px;
}

.hero-content h1{
  margin:0;

  color:#08284b;

  font-size:90px;
  line-height:.94;
  font-weight:800;

  text-transform:uppercase;
}

.hero-content h1 span,
.hero-content h1 strong{
  display:block;
}

.hero-content h1 strong{
  margin-top:16px;

  color:#2b7cc8;

  font-size:68px;
  font-weight:800;
}

.hero-content > p{
  margin:20px 0 0;

  color:#10263c;

  font-size:35px;
  line-height:1.35;
  font-weight:400;
}

.hero-feature-list{
  margin-top:30px;
  padding:18px 34px 20px;

  width:max-content;
  max-width:100%;

  display:flex;
  align-items:flex-start;
  gap:40px;

  border-radius:18px 999px 999px 18px;

  background:rgba(255,255,255,.68);
  backdrop-filter:blur(4px);
}

.hero-feature-item{
  width:110px;

  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;

  text-align:center;
}

.hero-feature-item span{
  width:68px;
  height:68px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;

  background:#08284b;
  color:#ffffff;

  font-size:34px;
}

.hero-feature-item p{
  margin:0;

  color:#0e2338;

  font-size:16px;
  line-height:1.16;
  font-weight:400;

  white-space:nowrap;
}


/* =========================================================
HERO BUTTON POSITION
========================================================= */

.hero-buttons-wrapper{
  position:absolute;

  left:90px;
  bottom:80px;

  z-index:3;

  display:flex;

  gap:18px;
}


/* =========================================================
HERO BUTTONS
========================================================= */

.btn-hero-primary,
.btn-hero-secondary{
  height:58px;

  padding:0 34px;

  border-radius:16px;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:15px;
  font-weight:600;

  transition:.3s;

  backdrop-filter:blur(10px);
}

.btn-hero-primary{
  background:#06264d;
  color:#ffffff;

  border:
    1px solid rgba(255,255,255,.08);

  box-shadow:
    0 14px 30px rgba(6,38,77,.22);
}

.btn-hero-primary:hover{
  background:#0b3b77;
}

.btn-hero-secondary{
  background:rgba(24,20,17,.58);

  color:#ffffff;

  border:
    1px solid rgba(255,255,255,.22);

  backdrop-filter:blur(14px);
}

.btn-hero-secondary:hover{
  background:rgba(24,20,17,.68);
}


/* =========================================================
SECTION TITLE
========================================================= */

.section-heading{
  margin-bottom:0;
}

.section-subtitle{
  display:inline-block;

  color:#0b63ce;

  font-size:14px;
  font-weight:700;

  letter-spacing:1px;

  text-transform:uppercase;
}

.section-heading h2{
  margin-top:12px;

  font-size:54px;
  line-height:1.15;
  font-weight:800;

  letter-spacing:-1.5px;

  color:#06264d;
}

.section-heading p{
  margin-top:22px;

  max-width:760px;

  color:#64748b;

  font-size:17px;
  line-height:1.9;
}

.hero-seo-copy{
  max-width:620px;
  margin:14px auto 0;
  color:rgba(255,255,255,.86);
  font-size:16px;
  line-height:1.7;
}

.seo-keyword-block{
  width:100%;
  margin:34px 0;
  padding:24px 26px;
  border:1px solid #e2ebf4;
  border-radius:8px;
  background:#ffffff;
  box-shadow:0 14px 40px rgba(16,24,40,.06);
}

.seo-keyword-copy span{
  display:block;
  color:#0b4f8a;
  font-size:13px;
  font-weight:800;
  letter-spacing:0;
  text-transform:uppercase;
}

.seo-keyword-copy p{
  max-width:820px;
  margin:8px 0 0;
  color:#53657a;
  font-size:15px;
  line-height:1.7;
}

.seo-keyword-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.seo-keyword-chips a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid #d7e4ef;
  border-radius:8px;
  background:#f7fbff;
  color:#1f4f73;
  font-size:13px;
  font-weight:700;
  line-height:1.35;
  text-decoration:none;
  transition:.25s ease;
}

.seo-keyword-chips a:hover{
  border-color:#0b5f9f;
  background:#0b5f9f;
  color:#ffffff;
  transform:translateY(-1px);
}

.home-keyword-block{
  margin-top:0;
  margin-bottom:34px;
}

.products-keyword-block,
.articles-keyword-block{
  margin-top:0;
  margin-bottom:28px;
}

.detail-keyword-block{
  margin:24px 0;
  padding:20px;
  box-shadow:none;
}

@media(max-width:768px){
  .hero-seo-copy{
    max-width:92%;
    font-size:13px;
    line-height:1.6;
  }

  .seo-keyword-block{
    margin:24px 0;
    padding:18px;
  }

  .seo-keyword-copy span{
    font-size:11px;
  }

  .seo-keyword-copy p{
    font-size:13px;
  }

  .seo-keyword-chips{
    gap:8px;
  }

  .seo-keyword-chips a{
    min-height:32px;
    font-size:11px;
    padding:6px 9px;
  }
}


/* =========================================================
ARTICLE SECTION
========================================================= */

.article-section{
  width:100%;

  padding:70px 0;

  background:#ffffff;
}

.article-grid{
  display:grid;

  grid-template-columns:repeat(4,1fr);

  gap:34px;
}

.article-card{
  overflow:hidden;

  border-radius:26px;

  border:
    1px solid #e2e8f0;

  background:
    linear-gradient(
      to bottom,
      #ffffff,
      #fcfdff
    );

  transition:.3s;

  box-shadow:
    0 4px 20px rgba(0,0,0,.03);
}

.article-card:hover{
  transform:
    translateY(-8px)
    translateZ(0);

  box-shadow:
    0 18px 40px rgba(0,0,0,.08);
}

.article-image{
  display:block;

  overflow:hidden;
}

.article-image img{
  aspect-ratio:16/10;

  object-fit:cover;

  transition:.3s;
}

.article-card:hover .article-image img{
  transform:scale(1.05);
}

.article-content{
  padding:28px;
}

.article-content h3{
  font-size:21px;
  line-height:1.5;
  font-weight:700;

  color:#0f172a;
}

.article-content p{
  margin-top:16px;

  color:#64748b;

  font-size:15px;
  line-height:1.9;
}

.article-link{
  margin-top:24px;

  display:inline-flex;
  align-items:center;

  gap:8px;

  color:#06264d;

  font-size:14px;
  font-weight:700;

  transition:.3s;
}

.article-link::after{
  content:'→';

  transition:.3s;
}

.article-link:hover{
  color:#0b63ce;
}

.article-link:hover::after{
  transform:translateX(4px);
}


/* =========================================================
FEATURE + INFORMATION
========================================================= */

.feature-section,
.information-section{
  line-height:0;

  background:#ffffff;
}

.feature-section img,
.information-section img,
.feature-image img{
  width:100%;
  height:auto;

  display:block;
}


/* =========================================================
PRODUCT SECTION
========================================================= */

.product-section{
  width:100%;

  padding:70px 0;

  background:#ffffff;
}


/* =========================================================
PRODUCT TOP
========================================================= */

.product-top{
  display:grid;

  grid-template-columns:
    minmax(420px,1fr)
    minmax(780px,1.5fr);

  gap:40px;

  align-items:start;
}

.product-top .section-heading{
  margin-bottom:0;
}


/* =========================================================
PRODUCT FILTER WRAPPER
========================================================= */

.product-filter-wrapper{
  width:100%;
  max-width:700px;

  display:flex;
  flex-direction:column;

  justify-content:center;

  gap:18px;
}

.product-top .product-filter-wrapper{
  align-self:center;
}

.product-filter-group{
  display:flex;
  flex-direction:column;

  gap:12px;
}

.filter-title{
  color:#06264d;

  font-size:14px;
  font-weight:700;

  letter-spacing:.3px;
}


/* =========================================================
FILTER
========================================================= */

.product-filter{
  margin-top:24px;

  display:flex;
  align-items:center;
  flex-wrap:nowrap;

  gap:14px;

  overflow-x:auto;
  overflow-y:hidden;

  scrollbar-width:none;
  -ms-overflow-style:none;
}

.product-filter::-webkit-scrollbar{
  display:none;
}

.filter-btn{
  width:128px;
  height:48px;

  padding:0 12px;

  border:1px solid transparent;
  border-radius:14px;

  background:#f1f5f9;
  color:#0f172a;

  cursor:pointer;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  white-space:nowrap;

  flex-shrink:0;

  font-size:14px;
  font-weight:600;

  transition:
    background .2s ease,
    color .2s ease,
    transform .2s ease;
}

.filter-btn.active{
  background:#06264d;
  color:#ffffff;

  box-shadow:
    0 10px 24px rgba(6,38,77,.15);
}

.filter-btn:hover{
  transform:translateY(-2px);
}


/* =========================================================
PRODUCT GRID
========================================================= */

.product-grid{
  width:100%;

  margin-top:34px;

  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:42px;
}

.product-card{
  position:relative;

  display:none;

  overflow:hidden;

  border-radius:28px;

  background:
    linear-gradient(
      to bottom,
      #ffffff,
      #fbfdff
    );

  border:
    1px solid rgba(226,232,240,.7);

  will-change:transform;

  transform:translateZ(0);

  backface-visibility:hidden;

  transition:
    transform .2s ease,
    box-shadow .2s ease;

  box-shadow:
    0 4px 20px rgba(0,0,0,.03);
}

.product-card.show{
  display:flex;
  flex-direction:column;
  animation:gmgCardIn .22s cubic-bezier(.22,1,.36,1) both;
}

@keyframes gmgCardIn{
  from{
    opacity:0;
    transform:translateY(10px) scale(.985);
  }

  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

.product-card:hover{
  transform:
    translateY(-5px)
    translateZ(0);

  border-color:#dbeafe;

  box-shadow:
    0 14px 30px rgba(0,0,0,.07);
}

.product-category{
  position:absolute;

  top:20px;
  left:20px;

  z-index:5;

  display:inline-flex;

  padding:
    9px
    16px;

  border-radius:999px;

  background:rgba(6,38,77,.92);

  color:#ffffff;

  font-size:12px;
  font-weight:600;

  backdrop-filter:blur(10px);
}

/* =========================================================
GMG MAIN CSS
PART 2/2
========================================================= */


/* =========================================================
PRODUCT IMAGE
========================================================= */

.product-image{
  position:relative;

  display:block;

  overflow:hidden;

  aspect-ratio:4/3;

  background:#ffffff;
}

.product-image-link{
  width:100%;
  height:100%;

  display:block;
}

.product-image img{
  width:100%;
  height:100%;

  object-fit:contain;
  object-position:center center;

  transform:scale(1);

  transition:
    transform .5s ease;
}

.product-card:hover .product-image img{
  transform:scale(1);
}

.quick-view-btn{
  position:absolute;
  right:14px;
  bottom:14px;
  z-index:4;

  min-width:128px;
  height:42px;
  padding:0 16px;

  border:1px solid rgba(255,255,255,.5);
  border-radius:999px;

  background:
    linear-gradient(
      135deg,
      rgba(6,38,77,.96),
      rgba(13,75,139,.94)
    );
  color:#ffffff;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;

  cursor:pointer;

  font-size:15px;
  font-weight:700;
  letter-spacing:0;

  box-shadow:
    0 14px 28px rgba(6,38,77,.28),
    inset 0 1px 0 rgba(255,255,255,.28);

  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);

  transition:
    transform .2s ease,
    background .2s ease,
    box-shadow .2s ease;
}

.quick-view-btn span{
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}

.quick-view-btn:hover{
  transform:translateY(-3px);

  background:
    linear-gradient(
      135deg,
      #083565,
      #0d5aa3
    );

  box-shadow:
    0 18px 34px rgba(6,38,77,.34),
    inset 0 1px 0 rgba(255,255,255,.34);
}


/* =========================================================
QUICK VIEW
========================================================= */

.quick-view-modal{
  position:fixed;
  inset:0;
  z-index:10000;

  display:none;
  align-items:center;
  justify-content:center;

  padding:24px;

  background:
    radial-gradient(
      circle at 50% 18%,
      rgba(78,135,196,.22),
      transparent 34%
    ),
    rgba(4,18,38,.64);

  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.quick-view-modal.active{
  display:flex;
}

.quick-view-dialog{
  position:relative;

  width:min(900px,calc(100vh - 48px),100%);

  border:none;
  border-radius:26px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.92),
      rgba(244,248,252,.86)
    );

  overflow:hidden;

  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);

  box-shadow:
    0 34px 100px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.72);
}

.quick-view-header{
  position:absolute;
  top:22px;
  left:24px;
  z-index:5;

  max-width:calc(100% - 108px);

  display:flex;
  flex-direction:column;
}

.quick-view-title{
  margin:0;

  color:#071f3f;

  font-size:22px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:0;

  text-shadow:
    0 1px 0 rgba(255,255,255,.8);
}

.quick-view-close{
  position:absolute;
  top:22px;
  right:22px;
  z-index:5;

  width:42px;
  height:42px;

  border:1px solid rgba(6,38,77,.1);
  border-radius:50%;

  background:rgba(255,255,255,.86);
  color:#06264d;

  display:flex;
  align-items:center;
  justify-content:center;

  cursor:pointer;

  box-shadow:
    0 12px 28px rgba(15,23,42,.12);

  transition:
    transform .2s ease,
    background .2s ease,
    color .2s ease;
}

.quick-view-close:hover{
  transform:translateY(-2px);

  background:#06264d;
  color:#ffffff;
}

.quick-view-stage{
  position:relative;

  width:100%;
  aspect-ratio:1/1;
  margin:0 auto;
  min-height:0;
  overflow:hidden;

  display:flex;
  align-items:center;
  justify-content:center;

  background:
    radial-gradient(
      circle at center,
      #ffffff 0%,
      #f7fafc 56%,
      #edf3f9 100%
    );
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.quick-view-stage.is-video{
  background:#020817;
}

.quick-view-stage img{
  width:100%;
  height:100%;
  max-height:none;

  object-fit:cover;
  object-position:center center;

  padding:0;

  filter:
    drop-shadow(0 28px 34px rgba(15,23,42,.16));

  opacity:1;
  transition:opacity .25s ease;
}

.quick-view-stage.is-switching-image img{
  opacity:0;
}

.quick-view-stage video{
  display:block;
  width:100%;
  height:100%;
  max-height:none;

  object-fit:contain;
  object-position:center center;

  background:#000000;
}

.quick-view-stage video::-webkit-media-controls,
.quick-view-stage video::-webkit-media-controls-panel,
.quick-view-stage video::-webkit-media-controls-play-button,
.quick-view-stage video::-webkit-media-controls-timeline,
.quick-view-stage video::-webkit-media-controls-current-time-display,
.quick-view-stage video::-webkit-media-controls-time-remaining-display,
.quick-view-stage video::-webkit-media-controls-mute-button,
.quick-view-stage video::-webkit-media-controls-volume-slider,
.quick-view-stage video::-webkit-media-controls-fullscreen-button{
  display:none !important;
  opacity:0 !important;
}

.quick-view-nav{
  position:absolute;
  top:50%;
  z-index:4;

  width:48px;
  height:48px;

  border:1px solid rgba(255,255,255,.48);
  border-radius:50%;

  background:rgba(6,38,77,.9);
  color:#ffffff;

  display:flex;
  align-items:center;
  justify-content:center;

  cursor:pointer;

  transform:translateY(-50%);

  box-shadow:
    0 18px 36px rgba(6,38,77,.22);

  transition:
    transform .2s ease,
    background .2s ease,
    box-shadow .2s ease;
}

.quick-view-nav:hover{
  transform:
    translateY(-50%)
    scale(1.06);

  background:#0b3b77;

  box-shadow:
    0 20px 42px rgba(6,38,77,.28);
}

.quick-view-nav:disabled{
  opacity:.35;
  cursor:not-allowed;
}

.quick-view-nav:disabled:hover{
  transform:translateY(-50%);

  background:rgba(6,38,77,.9);

  box-shadow:
    0 18px 36px rgba(6,38,77,.22);
}

.quick-view-prev{
  left:18px;
}

.quick-view-next{
  right:18px;
}

.quick-view-bottom-meta{
  position:absolute;
  right:24px;
  bottom:22px;
  z-index:4;

  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}

.quick-mode-caption,
.quick-view-counter{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:30px;
  padding:8px 12px;

  border:1px solid rgba(6,38,77,.1);
  border-radius:999px;

  background:rgba(255,255,255,.76);
  color:#06264d;

  font-family:'Poppins',sans-serif;
  font-size:12px;
  line-height:1;
  font-weight:800;

  box-shadow:
    0 10px 24px rgba(15,23,42,.08);

  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.quick-mode-caption{
  color:#06264d;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  font-size:22px;
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.2px;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.quick-mode-caption[hidden],
.quick-view-counter[hidden]{
  display:none;
}

.quick-light-panel{
  position:absolute;
  left:24px;
  bottom:22px;
  z-index:4;

  display:flex;
  align-items:center;

  gap:12px;

  padding:10px;

  border:1px solid rgba(6,38,77,.08);
  border-radius:999px;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.34),
      rgba(232,244,255,.18)
    );

  box-shadow:
    0 18px 40px rgba(3,19,41,.22),
    0 0 0 1px rgba(255,255,255,.38),
    inset 0 1px 0 rgba(255,255,255,.52);

  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
}

.quick-light-label{
  padding:10px 14px;

  border-radius:999px;

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #eaf3ff
    );
  color:#06264d;

  font-size:14px;
  line-height:1;
  font-weight:800;

  box-shadow:
    0 10px 24px rgba(0,0,0,.2);
}

.quick-light-modes{
  display:flex;
  align-items:center;

  gap:9px;
}

.quick-light-mode{
  width:34px;
  height:34px;

  border:3px solid rgba(255,255,255,.96);
  border-radius:50%;

  cursor:pointer;

  box-shadow:
    0 8px 18px rgba(0,0,0,.28),
    0 0 0 1px rgba(6,38,77,.12);

  transition:
    transform .2s ease,
    box-shadow .2s ease;
}

.quick-light-mode:hover,
.quick-light-mode.active{
  transform:scale(1.12);

  box-shadow:
    0 0 0 3px rgba(255,255,255,.56),
    0 0 0 6px rgba(11,101,194,.28),
    0 10px 22px rgba(0,0,0,.32);
}

.quick-light-mode[data-mode="off"]{
  background:#AFC7D6;
}

.quick-light-mode[data-mode="normal"]{
  background:#fff4bf;
}

.quick-light-mode[data-mode="white"]{
  background:#e8f6ff;
}

.quick-light-mode[data-mode="warm"]{
  background:#ffd18a;
}

.quick-light-mode[data-mode="night"]{
  background:#203548;
}


/* =========================================================
PRODUCT CONTENT
========================================================= */

.product-content{
  padding:30px;
}

.product-content h3{
  text-align:center;

  font-size:24px;
  line-height:1.35;
  font-weight:700;

  letter-spacing:-.5px;

  color:#0f172a;
}

.product-meta{
  margin-top:12px;

  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;

  gap:8px;
}

.product-meta span{
  min-height:28px;
  padding:7px 12px;

  border:1px solid rgba(6,38,77,.1);
  border-radius:999px;

  background:#f8fafc;
  color:#64748b;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:0;
  white-space:nowrap;
}

.product-meta .meta-brand{
  border-color:rgba(6,38,77,.16);

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #eef6ff
    );
  color:#06264d;
}


/* =========================================================
PRODUCT BUTTONS
========================================================= */

.product-buttons{
  margin-top:24px;

  display:flex;

  gap:12px;
}

.btn-detail,
.btn-buy{
  flex:1;

  height:48px;

  border-radius:14px;

  display:flex;
  align-items:center;
  justify-content:center;

  transform:translateY(0);

  font-size:14px;
  font-weight:600;

  transition:.3s;
}

.btn-detail{
  background:#06264d;
  color:#ffffff;

  border:
    1px solid rgba(255,255,255,.08);

  box-shadow:
    0 14px 30px rgba(6,38,77,.22);
}

.btn-detail:hover{
  background:#0b3b77;
  color:#ffffff;
}

.btn-buy{
  background:#f3f3f3;
  color:#111111;
}

.btn-buy:hover{
  background:#0b3b77;
}


/* =========================================================
PRODUCT BOTTOM
========================================================= */

.product-bottom{
  margin-top:50px;

  display:flex;
  align-items:center;
  justify-content:center;

  gap:14px;

  text-align:center;
}

.all-product-btn{
  height:56px;

  padding:0 34px;

  border-radius:16px;

  background:#06264d;
  color:#ffffff;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  font-size:15px;
  font-weight:600;

  transition:.3s;
}

.all-product-btn:hover{
  background:#0b3b77;
}


/* =========================================================
REFRESH PRODUCT BUTTON
========================================================= */

.refresh-product-btn{
  width:56px;
  height:56px;

  border:none;
  border-radius:16px;

  background:#ffffff;
  color:#06264d;

  cursor:pointer;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:18px;

  border:1px solid #dbe3ee;

  transition:.3s ease;

  box-shadow:
    0 6px 18px rgba(0,0,0,.04);
}

.refresh-product-btn:hover{
  transform:
    translateY(-3px)
    rotate(90deg);

  background:#06264d;
  color:#ffffff;

  border-color:#06264d;
}


/* =========================================================
PROJECT SECTION
========================================================= */

.project-section{
  padding:70px 0;

  background:
    linear-gradient(
      to bottom,
      #f8fafc,
      #ffffff
    );
}

.project-wrapper{
  width:100%;

  display:grid;

  grid-template-columns:
    360px 1fr;

  gap:28px;

  align-items:center;
}


/* =========================================================
PROJECT INFO
========================================================= */

.project-info small{
  color:#3b82f6;

  font-weight:700;
}

.project-info h2{
  margin-top:10px;

  font-size:42px;
  line-height:1.2;

  color:#06264d;
}

.project-info p{
  margin-top:20px;

  color:#64748b;

  line-height:1.9;
}


/* =========================================================
PROJECT GRID
========================================================= */

.project-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}

.project-item{
  position:relative;

  overflow:hidden;

  border-radius:22px;

  background:#ffffff;

  transition:
    transform .3s ease,
    box-shadow .3s ease;

  box-shadow:
    0 6px 20px rgba(0,0,0,.05);
}

.project-item:hover{
  transform:translateY(-6px);

  box-shadow:
    0 18px 40px rgba(0,0,0,.08);
}

.project-item img{
  aspect-ratio:1/1;

  object-fit:cover;

  transition:.3s ease;
}

.project-item:hover img{
  transform:scale(1.08);
}

.project-item span{
  position:absolute;

  left:14px;
  bottom:14px;

  padding:10px 16px;

  border-radius:999px;

  background:rgba(0,0,0,.7);
  color:#ffffff;

  font-size:13px;
}

.project-item small{
  position:absolute;
  left:14px;
  right:14px;
  bottom:58px;
  padding:8px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.92);
  color:#06264d;
  font-size:11px;
  font-weight:700;
  line-height:1.35;
  opacity:0;
  transform:translateY(8px);
  transition:.3s ease;
}

.project-gallery-hidden{
  display:none;
}

.glightbox-clean .gslide-media{
  border-radius:22px;
  overflow:hidden;
  background:
    radial-gradient(circle at top left,rgba(124,196,255,.18),transparent 36%),
    linear-gradient(135deg,#071a35,#020915 64%,#0b2344);
  box-shadow:0 36px 110px rgba(0,0,0,.42);
}

.glightbox-clean .gslide-image img{
  max-height:82vh;
  width:auto;
  object-fit:contain;
}

.glightbox-clean .gslide-description{
  border-radius:0 0 22px 22px;
  background:rgba(2,9,21,.88);
}

.glightbox-clean .gslide-title{
  color:#ffffff;
  font-weight:800;
  letter-spacing:.2px;
}

.glightbox-clean .gslide-desc{
  color:rgba(255,255,255,.78);
}

.glightbox-clean .gprev,
.glightbox-clean .gnext{
  width:52px;
  height:52px;
  border-radius:50%;
  background:rgba(2,9,21,.76);
  backdrop-filter:blur(10px);
}

.project-item:hover small{
  opacity:1;
  transform:translateY(0);
}

.project-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:28px 76px;
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease;
}

.project-modal.active{
  opacity:1;
  pointer-events:auto;
}

.project-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.86);
  backdrop-filter:blur(6px);
}

.project-modal-close{
  position:absolute;
  top:22px;
  right:24px;
  z-index:5;
  width:46px;
  height:46px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#ffffff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
}

.project-modal-stage{
  position:relative;
  z-index:2;
  width:min(1260px,100%);
  min-height:88vh;
  display:grid;
  grid-template-columns:minmax(150px,260px) minmax(420px,760px) minmax(150px,260px);
  gap:44px;
  align-items:center;
  justify-content:center;
}

.project-modal-card{
  overflow:hidden;
  border-radius:20px;
  background:#020915;
  color:#ffffff;
  width:100%;
  min-height:min(82vh,820px);
  display:flex;
  flex-direction:column;
  box-shadow:0 40px 120px rgba(0,0,0,.52);
}

.project-modal-card.is-changing{
  animation:projectModalIn .22s ease both;
}

@keyframes projectModalIn{
  from{
    opacity:.7;
    transform:translateY(8px) scale(.985);
  }

  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

.project-modal-image{
  flex:1 1 auto;
  min-height:0;
  background:
    radial-gradient(circle at top left,rgba(124,196,255,.16),transparent 36%),
    linear-gradient(135deg,#071a35,#020915 64%,#0b2344);
}

.project-modal-image img{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:contain;
}

.project-modal-content{
  flex:0 0 auto;
  padding:24px 24px 26px;
}

.project-modal-content span{
  display:inline-flex;
  margin-bottom:10px;
  color:#7cc4ff;
  font-size:12px;
  font-weight:800;
  letter-spacing:1.6px;
  text-transform:uppercase;
}

.project-modal-content h3{
  margin:0;
  color:#ffffff;
  font-size:22px;
  font-weight:800;
  line-height:1.25;
}

.project-modal-content p{
  margin:14px 0 0;
  color:rgba(255,255,255,.76);
  font-size:14px;
  line-height:1.75;
}

.project-modal-side{
  width:100%;
  height:min(46vh,430px);
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  overflow:hidden;
  padding:0;
  background:#020915;
  opacity:.62;
  transform:scale(.94);
  transition:
    opacity .2s ease,
    transform .2s ease,
    border-color .2s ease;
}

.project-modal-side:hover{
  opacity:.9;
  transform:scale(.98);
  border-color:rgba(124,196,255,.72);
}

.project-modal-side img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.project-modal-arrow{
  position:absolute;
  top:50%;
  z-index:4;
  width:54px;
  height:54px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  background:rgba(2,9,21,.74);
  color:#ffffff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  transform:translateY(-50%);
  transition:
    background .2s ease,
    transform .2s ease;
}

.project-modal-arrow:hover{
  background:#06264d;
  transform:translateY(-50%) scale(1.05);
}

.project-modal-prev{
  left:28px;
}

.project-modal-next{
  right:28px;
}

.project-modal.single-project .project-modal-stage{
  grid-template-columns:minmax(420px,760px);
}

.project-modal.single-project .project-modal-side,
.project-modal.single-project .project-modal-arrow{
  display:none;
}

@media(max-width:1100px){

  .project-modal{
    padding:28px 54px;
  }

  .project-modal-stage{
    width:min(930px,100%);
    min-height:84vh;
    grid-template-columns:minmax(118px,170px) minmax(420px,560px) minmax(118px,170px);
    gap:22px;
  }

  .project-modal-card{
    min-height:min(78vh,720px);
  }

  .project-modal-side{
    height:min(38vh,330px);
  }

}

@media(max-width:900px){

  .project-modal{
    padding:28px 42px;
  }

  .project-modal-stage{
    width:min(760px,100%);
    min-height:80vh;
    grid-template-columns:minmax(92px,120px) minmax(360px,500px) minmax(92px,120px);
    gap:16px;
  }

  .project-modal-card{
    min-height:min(74vh,660px);
  }

  .project-modal-side{
    height:min(32vh,280px);
  }

  .project-modal-content{
    padding:20px;
  }

}

@media(max-width:768px){

  .project-modal{
    padding:28px 18px;
  }

  .project-modal-stage,
  .project-modal.single-project .project-modal-stage{
    min-height:82vh;
    grid-template-columns:1fr;
    width:min(560px,100%);
  }

  .project-modal-side{
    display:none;
  }

  .project-modal-card{
    width:100%;
    min-height:min(76vh,680px);
  }

  .project-modal-image img{
    height:100%;
  }

  .project-modal-arrow{
    width:42px;
    height:42px;
  }

  .project-modal-prev{
    left:12px;
  }

  .project-modal-next{
    right:12px;
  }

  .project-modal-close{
    top:14px;
    right:14px;
  }

}

@media(max-width:560px){

  .project-modal{
    padding:24px 14px;
  }

  .project-modal-stage,
  .project-modal.single-project .project-modal-stage{
    min-height:78vh;
  }

  .project-modal-card{
    min-height:min(72vh,610px);
    border-radius:18px;
  }

  .project-modal-content{
    padding:18px;
  }

  .project-modal-content h3{
    font-size:20px;
  }

  .project-modal-content p{
    font-size:13px;
  }

}

@media(max-width:390px){

  .project-modal-stage,
  .project-modal.single-project .project-modal-stage{
    min-height:74vh;
  }

  .project-modal-card{
    min-height:min(68vh,560px);
  }

}

/* =========================================================
PROJECT BUTTON
========================================================= */

.project-outline-btn{
  width:max-content;
  height:54px;

  margin-top:28px;

  padding:0 28px;

  border-radius:16px;

  border:1px solid #cbd5e1;

  background:#ffffff;
  color:#06264d;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:14px;
  font-weight:600;

  transition:.3s ease;
}

.project-outline-btn:hover{
  transform:translateY(-3px);

  background:#06264d;
  color:#ffffff;

  border-color:#06264d;
}


/* =========================================================
FOOTER
========================================================= */

.footer{
  background:#00264b;
  color:#ffffff;

  padding:28px 0 22px;
}

.footer-grid{
  display:grid;

  grid-template-columns:
    1.65fr
    .82fr
    1fr
    .9fr
    1.55fr;

  gap:0;

  align-items:start;
}

.footer-brand,
.footer-column{
  min-height:150px;
}

.footer-column{
  padding-left:34px;

  border-left:
    1px solid rgba(255,255,255,.16);
}

.footer h4{
  margin-bottom:13px;

  color:#ffffff;

  font-size:14px;
  line-height:1.2;
  font-weight:800;
}

.footer p{
  max-width:292px;

  color:rgba(255,255,255,.84);

  font-size:12px;
  line-height:1.55;
}

.footer li{
  margin-bottom:8px;

  transition:.3s ease;
}

.footer li:hover{
  transform:translateX(4px);
}

.footer a{
  color:rgba(255,255,255,.88);

  font-size:12px;
  line-height:1.2;

  transition:.3s;
}

.footer a:hover{
  color:#ffffff;
}

.footer-social{
  margin-top:18px;

  display:flex;
  align-items:center;
  gap:18px;
}

.footer-social a{
  width:27px;
  height:27px;

  border-radius:50%;

  background:#ffffff;
  color:#00264b;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:15px;
}

.footer-social a:hover{
  transform:translateY(-2px);

  background:#e9f3ff;
  color:#00264b;
}

.footer-copy{
  margin-top:24px;
  margin-bottom:0;

  color:rgba(255,255,255,.78);

  font-size:11px;
}

.footer-contact li{
  display:flex;
  align-items:center;
  gap:10px;

  color:rgba(255,255,255,.9);

  font-size:12px;
}

.footer-contact li i{
  width:16px;

  color:#ffffff;

  font-size:15px;
}

.footer-market{
  margin-top:26px;
}

.footer-market h5{
  margin-bottom:11px;

  color:#ffffff;

  font-size:13px;
  line-height:1.2;
  font-weight:800;
}

.footer-market-list{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}

.footer-market-list a{
  display:inline-flex;
  align-items:center;
  gap:7px;

  color:#ffffff;

  font-weight:600;
}

.market-badge{
  width:32px;
  height:32px;

  border-radius:8px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  overflow:hidden;

  color:transparent;
  font-size:0;
  text-indent:-9999px;

  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;

  box-shadow:
    0 8px 18px rgba(0,0,0,.18);
}

.market-badge.shopee{
  background-color:#ee4d2d;
  background-image:url('../images/shopee.png');
}

.market-badge.tokopedia{
  background-color:#42b549;
  background-image:url('../images/tokopedia.png');
}


/* =========================================================
PRODUCT PAGE
========================================================= */

.page-hero{
  padding:
    150px 0 60px;

  background:#ffffff;
}

.page-hero-content{
  max-width:820px;
}

.page-hero h1{
  margin-top:12px;

  font-size:64px;
  line-height:1.1;
  font-weight:800;

  letter-spacing:-2px;

  color:#06264d;
}

.page-hero p{
  margin-top:20px;

  color:#64748b;

  font-size:17px;
  line-height:1.9;
}

.product-page-section{
  padding:0 0 70px;

  background:#ffffff;
}


/* =========================================================
PRODUCT FILTER LAYOUT
========================================================= */

.product-filter-layout{
  display:flex;
  flex-direction:column;

  gap:16px;

  margin-bottom:28px;
}

.filter-row{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:20px;
}

.filter-left{
  flex:1;
}

.filter-right{
  flex-shrink:0;
}


/* =========================================================
SEARCH
========================================================= */

.product-search-wrapper{
  width:320px;

  margin-bottom:0;
}

.product-search{
  width:100%;
  height:56px;

  padding:0 20px;

  border:
    1px solid #dbe3ee;

  border-radius:16px;

  outline:none;

  font-size:14px;
  font-weight:500;

  transition:.3s ease;
}

.product-search:focus{
  border-color:#06264d;

  box-shadow:
    0 0 0 4px rgba(6,38,77,.08);
}


/* =========================================================
SORT BUTTON
========================================================= */

.sort-btn{
  height:48px;

  padding:0 22px;

  border:none;
  border-radius:14px;

  background:#06264d;
  color:#ffffff;

  cursor:pointer;

  font-size:13px;
  font-weight:600;

  transition:.3s ease;
}

.sort-btn:hover{
  transform:translateY(-2px);

  background:#0b3b77;
}


/* =========================================================
MOBILE FILTER SELECT
========================================================= */

.mobile-filter-select{
  display:none;
}


/* =========================================================
LAPTOP
========================================================= */

@media(max-width:1400px){

  .hero-section{
    height:680px;
  }

  .hero-section::before{
    width:50%;

    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.9) 0%,
        rgba(255,255,255,1) 100%
      );
  }

  .hero-content{
    top:98px;
    left:28px;

    max-width:820px;
  }

  .hero-buttons-wrapper{
    left:28px;
  }

  .hero-content h1{
    font-size:70px;
  }

  .hero-content h1 strong{
    margin-top:12px;

    font-size:52px;
  }

  .hero-content > p{
    margin-top:16px;

    font-size:28px;
  }

  .hero-feature-list{
    margin-top:26px;
    padding:17px 30px 19px;

    gap:28px;
  }

  .hero-feature-item{
    width:100px;
  }

  .hero-feature-item span{
    width:62px;
    height:62px;

    font-size:31px;
  }

  .hero-feature-item p{
    font-size:15px;
  }

  .section-heading h2{
    font-size:46px;
  }

  .product-top{
    grid-template-columns:
      minmax(320px,1fr)
      minmax(0,1.4fr);
  }

  .article-grid{
    gap:24px;
  }

  .product-grid{
    gap:28px;
  }

}


/* =========================================================
SMALL LAPTOP
========================================================= */

@media(max-width:1200px){

  .article-grid{
    grid-template-columns:
      repeat(2,1fr);
  }

  /*
  =========================================
  PRODUCT SLIDER MODE
  =========================================
  */

  .product-grid{
    display:flex;

    overflow-x:auto;

    gap:24px;

    scroll-snap-type:x mandatory;

    padding-left:4px;
    padding-right:4px;

    scrollbar-width:none;
  }

  .product-grid::-webkit-scrollbar{
    display:none;
  }

  .product-card{
    min-width:340px;
    max-width:340px;

    flex-shrink:0;

    scroll-snap-align:start;
  }

  /*
  =========================================
  PROJECT
  =========================================
  */

  .project-grid{
    grid-template-columns:
      repeat(2,1fr);
    -webkit-overflow-scrolling:touch;
  }

}


/* =========================================================
TABLET
========================================================= */

@media(max-width:1100px){

  .gmg-nav{
    position:fixed;

    top:82px;
    left:-100%;

    width:290px;
    height:calc(100vh - 82px);

    background:#06264d;

    flex-direction:column;
    align-items:flex-start;

    padding:40px 32px;

    gap:26px;

    transition:.3s ease;

    box-shadow:20px 0 40px rgba(0,0,0,.15);
  }

  .gmg-nav.active{
    left:0;
  }

  .menu-toggle{
    display:flex;
  }

  .btn-distributor{
    display:none;
  }
  
  .mobile-garansi-btn{
    display:flex;

    align-items:center;
    justify-content:center;

    width:100%;
    height:48px;

    margin-top:10px;

    border-radius:14px;

    background:#ffffff !important;
    color:#06264d !important;

    font-size:13px;
    font-weight:700;

    text-decoration:none;

    transition:.3s ease;
  }

  .mobile-garansi-btn:hover{
    background:#eaf3ff !important;
    color:#06264d !important;
  }

  .mobile-garansi-btn:visited,
  .mobile-garansi-btn:focus,
  .mobile-garansi-btn:active{
    color:#06264d !important;
  }

  .container{
    padding-left:28px;
    padding-right:28px;
  }

  .header-wrapper{
    height:78px;

    gap:20px;
  }

  .gmg-header.scrolled .header-wrapper{
    height:72px;
  }

  .menu-toggle{
    display:flex;
  }

  .btn-distributor{
    display:none;
  }

  .gmg-nav.active{
    left:0;
  }

  .product-top,
  .project-wrapper{
    grid-template-columns:1fr;
  }

  .article-grid,
  .product-grid,
  .project-grid{
    grid-template-columns:
      repeat(2,1fr);
  }

  .footer-grid{
    grid-template-columns:
      repeat(2,1fr);

    gap:28px 0;
  }

  .footer-brand,
  .footer-column{
    min-height:auto;
  }

  .footer-column{
    padding-left:24px;
  }

}


/* =========================================================
MOBILE
========================================================= */

@media(max-width:768px){

  body{
    font-size:12px;
  }

  .container{
    padding-left:14px;
    padding-right:14px;
  }

  .article-section,
  .product-section,
  .project-section{
    padding:34px 0;
  }

  .footer{
    padding:30px 0 24px;
  }

  /* HEADER */

  .header-wrapper{
    height:64px;
  }

  .gmg-header.scrolled .header-wrapper{
    height:60px;
  }

  .gmg-logo{
    gap:8px;
  }

  .gmg-logo img{
    width:32px;
    height:32px;
  }

  .logo-text h2{
    font-size:14px;
  }

  .logo-text span{
    margin-top:2px;

    font-size:8px;
  }

  .menu-toggle{
    width:38px;
    height:38px;
  }

  .menu-toggle span{
    width:20px;
  }

  .gmg-nav{
    top:64px;

    width:240px;

    padding:22px 20px;

    gap:14px;
  }

  .gmg-nav a{
    font-size:12px;
  }

  /* HERO */

  .hero-section{
    height:420px;

    margin-top:64px;
  }

  .hero-background img{
    object-position:center center;
  }

  .hero-section::before{
    width:55%;

    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.9) 0%,
        rgba(255,255,255,1) 100%
      );
  }

  .hero-content{
    top:72px;
    left:14px;
    right:auto;

    width:520px;
    max-width:calc(100% - 28px);
  }

  .hero-content h1{
    font-size:40px;
  }

  .hero-content h1 strong{
    margin-top:7px;

    font-size:31px;
  }

  .hero-content > p{
    margin-top:10px;

    font-size:17px;
  }

  .hero-feature-list{
    margin-top:18px;
    padding:12px 15px 14px;

    width:100%;

    justify-content:space-between;
    gap:6px;

    border-radius:12px 999px 999px 12px;
  }

  .hero-feature-item{
    width:20%;

    gap:7px;
  }

  .hero-feature-item span{
    width:44px;
    height:44px;

    font-size:22px;
  }

  .hero-feature-item p{
    font-size:10px;
  }

  .hero-buttons-wrapper{
    left:14px;
    right:14px;
    bottom:18px;

    flex-direction:row;

    gap:10px;
  }

  .btn-hero-primary,
  .btn-hero-secondary{
    flex:1;

    height:38px;

    padding:0 12px;

    border-radius:10px;

    font-size:11px;
  }

  /* SECTION TITLE */

  .section-heading{
    margin-bottom:24px;
  }

  .section-subtitle{
    font-size:9px;
  }

  .section-heading h2{
    margin-top:8px;

    font-size:22px;

    letter-spacing:-.5px;
  }

  .section-heading p{
    margin-top:10px;

    font-size:11px;
    line-height:1.7;
  }

  /* ARTICLE */

  .article-grid{
    display:flex;

    gap:14px;

    overflow-x:auto;

    scroll-snap-type:x mandatory;
  }

  .article-card{
    min-width:48%;
    max-width:48%;

    flex-shrink:0;

    border-radius:16px;

    scroll-snap-align:start;
  }

  .article-image{
    height:140px;
  }

  .article-image img{
    height:100%;

    object-fit:cover;

    aspect-ratio:auto;
  }

  .article-content{
    padding:14px;
  }

  .article-content h3{
    font-size:13px;
  }

  .article-content p{
    margin-top:8px;

    font-size:10px;
  }

  .article-link{
    margin-top:12px;

    font-size:10px;
  }

  /* PRODUCT FILTER */

  .filter-title,
  .filter-label{
    display:none;
  }

  .product-filter-wrapper{
    display:grid;

    grid-template-columns:
      repeat(2,1fr);

    gap:10px;
  }

  .product-filter{
    display:none;
  }

  .mobile-filter-select{
    display:block;

    width:100%;
    height:38px;

    padding:0 14px;

    border:
      1px solid #dbe3ee;

    border-radius:10px;

    background:#ffffff;

    font-size:11px;
  }

  /* PRODUCT GRID */

  .product-grid{
    display:flex;

    overflow-x:auto;

    gap:16px;

    scroll-snap-type:x mandatory;

    padding-left:14%;
    padding-right:14%;
  }

  .product-card{
    min-width:72%;
    max-width:72%;

    flex-shrink:0;

    border-radius:16px;

    scroll-snap-align:center;
  }

  .product-content{
    padding:12px;
  }

  .product-content h3{
    font-size:12px;

    letter-spacing:0;
  }

  .product-meta{
    margin-top:8px;

    gap:5px;
  }

  .product-meta span{
    min-height:22px;
    padding:5px 8px;

    font-size:8px;
  }

  .product-buttons{
    margin-top:14px;

    gap:6px;
  }

  .btn-detail,
  .btn-buy{
    height:32px;

    border-radius:8px;

    font-size:9px;
  }

  .quick-view-btn{
    right:10px;
    bottom:10px;

    min-width:34px;
    width:34px;
    height:34px;
    padding:0;

    font-size:12px;
  }

  .quick-view-btn span{
    display:none;
  }

  .quick-view-modal{
    padding:12px;
  }

  .quick-view-dialog{
    border-radius:18px;
  }

  .quick-view-header{
    top:14px;
    left:14px;

    max-width:calc(100% - 70px);
  }

  .quick-view-title{
    font-size:15px;
    line-height:1.2;
  }

  .quick-view-stage{
    width:min(100%,78vh);
    min-height:0;
  }

  .quick-view-stage.is-video{
    min-height:0;
  }

  .quick-view-stage img{
    max-height:none;

    padding:0;
  }

  .quick-view-close{
    top:12px;
    right:12px;

    width:34px;
    height:34px;
  }

  .quick-view-nav{
    width:34px;
    height:34px;

    font-size:12px;
  }

  .quick-view-prev{
    left:10px;
  }

  .quick-view-next{
    right:10px;
  }

  .quick-view-bottom-meta{
    right:14px;
    top:auto;
    bottom:14px;
    flex-direction:column;
    align-items:flex-end;
    gap:7px;
  }

  .quick-mode-caption,
  .quick-view-counter{
    padding:7px 10px;

    font-size:10px;
  }

  .quick-mode-caption{
    padding:0;
    font-size:14px;
    text-align:right;
  }

  .quick-light-panel{
    left:12px;
    right:auto;
    bottom:12px;

    justify-content:flex-start;

    gap:8px;
    padding:7px;

    width:auto;
    max-width:min(76%,276px);
  }

  .quick-light-label{
    padding:9px 10px;

    font-size:12px;
    white-space:nowrap;
  }

  .quick-light-modes{
    flex:1;
    justify-content:flex-start;

    gap:6px;
    min-width:0;
  }

  .quick-light-mode{
    width:26px;
    height:26px;

    border-width:2px;
  }

  .refresh-product-btn{
    display:none;
  }

  .all-product-btn,
  .project-outline-btn{
    width:calc((100% - 10px) / 2);
    height:38px;

    padding:0 12px;

    border-radius:10px;

    font-size:11px;
  }

  .project-outline-btn{
    margin-top:16px;
    margin-bottom:22px;
  }

  /* PROJECT */

  .project-wrapper{
    display:block;
  }

  .project-info h2{
    font-size:22px;

    letter-spacing:-.5px;
  }

  .project-grid{
    display:flex;

    gap:12px;

    overflow-x:auto;

    scroll-snap-type:x mandatory;
  }

  .project-item{
    min-width:48%;
    max-width:48%;

    flex-shrink:0;

    border-radius:14px;
  }

  .project-item img{
    height:160px;

    object-fit:cover;
  }

  .project-item span{
    left:8px;
    bottom:8px;

    padding:5px 10px;

    font-size:8px;
  }

  /* FOOTER */

  .footer-grid{
    grid-template-columns:1fr;

    gap:20px;
  }

  .footer-brand,
  .footer-column{
    min-height:auto;
  }

  .footer-column{
    padding-left:0;
    padding-top:18px;

    border-left:0;
    border-top:
      1px solid rgba(255,255,255,.14);
  }

  .footer h4{
    margin-bottom:10px;

    font-size:13px;
  }

  .footer p,
  .footer a{
    font-size:11px;
  }

  .footer p{
    max-width:none;
  }

  .footer-social{
    margin-top:16px;

    gap:14px;
  }

  .footer-social a{
    width:26px;
    height:26px;

    font-size:14px;
  }

  .footer-copy{
    margin-top:18px;

    font-size:10px;
  }

  .footer-contact li{
    font-size:11px;
  }

  .footer-market{
    margin-top:18px;
  }

  .footer-market-list{
    gap:14px;
  }

  /* PRODUCT PAGE */

  .page-hero{
    padding:
      100px 0 34px;
  }

  .page-hero h1{
    font-size:30px;
  }

  .page-hero p{
    margin-top:12px;

    font-size:11px;
  }

  .product-page-section{
    padding:0 0 34px;
  }

}


/* =========================================================
SMALL MOBILE
========================================================= */

@media(max-width:480px){

  .hero-section{
    height:360px;
  }

  .hero-section::before{
    width:35%;

    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,.9) 0%,
        rgba(255,255,255,1) 100%
      );
  }

  .hero-content{
    top:78px;

    width:300px;
    max-width:calc(100% - 20px);
    right:10px;
  }

  .hero-content h1{
    font-size:28px;
  }

  .hero-content h1 strong{
    margin-top:5px;

    font-size:20px;
  }

  .hero-content > p{
    margin-top:8px;

    font-size:13px;
  }

  .hero-feature-list{
    margin-top:18px;
    padding:8px 10px 10px;
  }

  .hero-feature-item span{
    width:30px;
    height:30px;

    font-size:15px;
  }

  .hero-feature-item p{
    font-size:7px;
  }

  .section-heading h2{
    font-size:20px;
  }

  .project-info h2{
    font-size:20px;
  }

  .article-card,
  .project-item{
    min-width:70%;
    max-width:70%;
  }

  .product-card{
    min-width:72%;
    max-width:72%;
  }

  .product-content h3{
    font-size:11px;
  }

}

/* =========================================================
GMG MAIN CSS
PRODUCTS.PHP
========================================================= */


/* =========================================================
PAGE
========================================================= */

.products-page{
  background:#ffffff;
  color:#222222;
}


/* =========================================================
PAGE HERO
========================================================= */

.page-hero{
  padding:140px 0 80px;

  background:
  linear-gradient(
    to bottom,
    #fafafa,
    #ffffff
  );

  border-bottom:
  1px solid #eeeeee;

  display:flex;
  align-items:center;
  justify-content:center;
}

.page-hero-content{
  width:100%;
  max-width:900px;

  margin:auto;

  text-align:center;
}

.page-hero-content span{
  display:inline-block;

  margin-bottom:16px;

  font-size:13px;
  font-weight:600;

  letter-spacing:2px;

  color:#888888;
}

.page-hero-content h1{
  margin-bottom:20px;

  font-size:52px;
  font-weight:700;

  line-height:1.2;

  color:#111111;
}

.page-hero-content p{
  width:100%;
  max-width:760px;

  margin:auto;

  font-size:16px;
  line-height:1.9;

  color:#666666;
}


/* =========================================================
PRODUCT SECTION
========================================================= */

.products-page-section{
  padding:70px 0 90px;

  background:
    linear-gradient(
      to bottom,
      #f8fafc,
      #ffffff
    );
}

.products-layout{
  display:flex;
  align-items:flex-start;

  gap:32px;
}


/* =========================================================
SIDEBAR
========================================================= */

.products-sidebar{
  width:290px;
  min-width:290px;

  background:#ffffff;

  border:
  1px solid #eeeeee;

  border-radius:24px;

  padding:28px;

  position:sticky;
  top:100px;
}


/* =========================================================
SIDEBAR BOX
========================================================= */

.sidebar-box{
  margin-bottom:36px;
}

.sidebar-box:last-child{
  margin-bottom:0;
}

.sidebar-box h3{
  margin-bottom:18px;

  font-size:18px;
  font-weight:700;

  color:#111111;
}


/* =========================================================
SEARCH
========================================================= */

.search-box{
  position:relative;
}

.search-box input{
  width:100%;
  height:54px;

  border:
  1px solid #dddddd;

  border-radius:14px;

  background:#ffffff;

  padding:
  0 56px 0 18px;

  font-size:14px;

  outline:none;

  transition:.3s ease;
}

.search-box input:focus{
  border-color:#111111;
}

.search-box button{
  position:absolute;

  right:6px;
  top:6px;

  width:42px;
  height:42px;

  border:none;

  border-radius:12px;

  background:#111111;
  color:#ffffff;

  cursor:pointer;
}


/* =========================================================
FILTER CHECK
========================================================= */

.filter-check{
  display:flex;
  align-items:center;

  gap:10px;

  margin-bottom:14px;

  cursor:pointer;
}

.filter-check:last-child{
  margin-bottom:0;
}

.filter-check input{
  accent-color:#111111;
}

.filter-check span{
  font-size:14px;
  line-height:1.5;

  color:#555555;
}

.mobile-products-filter{
  display:none;
}


/* =========================================================
FILTER BUTTONS
========================================================= */

.sidebar-buttons{
  display:flex;
  flex-direction:column;

  gap:12px;
}

.btn-filter-apply,
.btn-filter-reset{
  width:100%;
  height:50px;

  border-radius:14px;

  display:flex;
  align-items:center;
  justify-content:center;

  text-decoration:none;

  font-size:14px;
  font-weight:600;

  transition:.3s ease;
}

.btn-filter-apply{
  border:none;

  background:#111111;
  color:#ffffff;
}

.btn-filter-apply:hover{
  background:#000000;
}

.btn-filter-reset{
  border:none;
  background:#f3f3f3;
  color:#111111;
  cursor:pointer;
}

.btn-filter-reset:hover{
  background:#e8e8e8;
}

.btn-filter-reset:disabled{
  cursor:wait;
  opacity:.68;
}


/* =========================================================
ARTICLES PAGE
========================================================= */

.articles-page{
  background:#f6f9fc;
}

.articles-page-section{
  padding:70px 0 90px;
  background:
    linear-gradient(
      180deg,
      #f8fbff 0%,
      #ffffff 100%
    );
}

.articles-layout{
  display:flex;
  align-items:flex-start;
  gap:32px;
}

.articles-sidebar{
  position:sticky;
  top:100px;
}

.articles-content{
  flex:1;
  min-width:0;
}

.articles-topbar{
  margin-bottom:22px;
  padding:22px 26px;
  border:1px solid #eeeeee;
  border-radius:20px;
  background:#ffffff;
}

.articles-topbar h2{
  margin:0;
  color:#111111;
  font-size:24px;
  font-weight:800;
}

.articles-page-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

.article-page-card{
  border-radius:18px;
}

.article-page-card .article-content{
  padding:24px;
}

.article-page-card .article-content h3{
  margin-top:12px;
  font-size:20px;
  line-height:1.45;
}

.article-page-card .article-content p{
  font-size:14px;
}

.article-page-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#7b8da4;
  font-size:12px;
  font-weight:700;
}

.article-page-meta span:first-child{
  color:#0b65c2;
}

.articles-empty{
  grid-column:1/-1;
}


/* =========================================================
ARTICLE DETAIL
========================================================= */

.article-detail-page{
  background:#f5f9fd;
}

.article-detail-main{
  padding-top:88px;
  background:
    linear-gradient(
      180deg,
      #eef6ff 0%,
      #f8fbfe 360px,
      #ffffff 100%
    );
}

.article-back-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:22px;
  color:#06264d;
  font-size:13px;
  font-weight:800;
}

.article-detail-heading h1{
  margin:28px 0 34px;
  color:#06264d;
  font-size:44px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.8px;
}

.article-detail-cover{
  margin:0;
  overflow:hidden;
  border-radius:16px;
  border:1px solid #e4ebf3;
  background:#ffffff;
}

.article-detail-cover img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
}

.article-detail-section{
  padding:50px 0 80px;
}

.article-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,7fr) minmax(280px,3fr);
  gap:32px;
  align-items:start;
}

.article-detail-article{
  min-width:0;
  padding:28px;
  border:1px solid #e2eaf3;
  border-radius:18px;
  background:#ffffff;
  box-shadow:0 16px 42px rgba(6,38,77,.07);
}

.article-detail-content{
  color:#43566d;
}

.article-detail-content .article-content-title{
  margin:0 0 22px;
  padding-bottom:14px;
  border-bottom:2px solid #e8f1fa;
  color:#0b65c2;
  font-size:24px;
  line-height:1.3;
  font-weight:800;
}

.article-detail-content h2{
  margin:38px 0 14px;
  color:#06264d;
  font-size:28px;
  line-height:1.3;
  font-weight:800;
}

.article-detail-content p,
.article-detail-content > div{
  margin:0 0 22px;
  color:#43566d;
  font-size:16px;
  line-height:1.95;
  text-align:justify;
  text-justify:inter-word;
}

.article-detail-content p:first-child,
.article-detail-content > div:first-child{
  color:#43566d;
  font-size:16px;
  font-weight:400;
}

.article-detail-content h3{
  margin:28px 0 12px;
  color:#14365f;
  font-size:22px;
  line-height:1.35;
  font-weight:800;
}

.article-detail-content ul,
.article-detail-content ol{
  margin:0 0 24px;
  padding-left:28px;
  color:#43566d;
  font-size:16px;
  line-height:1.9;
}

.article-detail-content ul{
  list-style:disc outside;
}

.article-detail-content ol{
  list-style:decimal outside;
}

.article-detail-content li{
  margin-bottom:8px;
  padding-left:4px;
}

.article-detail-content blockquote{
  margin:28px 0;
  padding:18px 22px;
  border-left:4px solid #0b65c2;
  border-radius:0 14px 14px 0;
  background:#f2f7fc;
  color:#27445f;
  font-size:17px;
  line-height:1.8;
  font-weight:600;
}

.article-detail-content hr{
  margin:34px 0;
  border:0;
  border-top:1px solid #dce7f2;
}

.article-detail-content a{
  color:#0b65c2;
  font-weight:700;
  text-decoration:none;
}

.article-detail-content a:hover{
  text-decoration:underline;
}

.article-detail-content figure{
  margin:34px auto;
  text-align:center;
}

.article-detail-content figure img,
.article-detail-content > img{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  margin:0 auto;
  border-radius:16px;
  border:1px solid #e2eaf3;
  box-shadow:0 14px 34px rgba(6,38,77,.08);
}

.article-detail-content figcaption{
  margin-top:10px;
  color:#74869b;
  font-size:13px;
  line-height:1.6;
  font-style:italic;
}

.article-detail-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:38px;
  padding-top:24px;
  border-top:1px solid #e4ebf3;
}

.article-detail-meta div{
  min-width:0;
  padding:14px;
  border-radius:10px;
  background:#f2f7fc;
}

.article-detail-meta span{
  display:block;
  margin-bottom:5px;
  color:#72849a;
  font-size:10px;
  font-weight:700;
  letter-spacing:.4px;
  text-transform:uppercase;
}

.article-detail-meta strong{
  display:block;
  overflow-wrap:anywhere;
  color:#06264d;
  font-size:13px;
  line-height:1.45;
  font-weight:800;
}

.article-post-navigation{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:20px;
}

.article-post-nav{
  min-width:0;
  min-height:92px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px;
  border:1px solid #dce7f2;
  border-radius:12px;
  background:#ffffff;
  color:#06264d;
  transition:.25s ease;
}

a.article-post-nav:hover{
  border-color:#8fc3ef;
  background:#f5faff;
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(11,101,194,.08);
}

.article-post-nav > i{
  flex:0 0 auto;
  color:#0b65c2;
  font-size:15px;
}

.article-post-nav span{
  min-width:0;
}

.article-post-nav small{
  display:block;
  margin-bottom:5px;
  color:#7a8da4;
  font-size:10px;
  font-weight:700;
  letter-spacing:.35px;
  text-transform:uppercase;
}

.article-post-nav strong{
  display:-webkit-box;
  overflow:hidden;
  color:#06264d;
  font-size:13px;
  line-height:1.45;
  font-weight:800;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.article-post-next{
  justify-content:flex-end;
  text-align:right;
}

.article-post-nav.is-disabled{
  opacity:.52;
  background:#f5f7fa;
}

.article-detail-sidebar{
  position:sticky;
  top:108px;
  display:grid;
  gap:18px;
}

.article-side-box{
  padding:22px;
  border:1px solid #e4ebf3;
  border-radius:14px;
  background:#ffffff;
  box-shadow:0 12px 32px rgba(6,38,77,.06);
}

.article-side-box h3{
  margin:0 0 18px;
  color:#06264d;
  font-size:20px;
  font-weight:800;
}

.article-cta-box{
  background:linear-gradient(145deg,#06264d 0%,#0b65c2 145%);
  color:#ffffff;
  border-color:#06264d;
}

.article-cta-box span{
  display:inline-flex;
  margin-bottom:12px;
  color:#7cc4ff;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
}

.article-cta-box h3{
  color:#ffffff;
}

.article-cta-box p{
  margin:0 0 20px;
  color:rgba(255,255,255,.76);
  font-size:14px;
  line-height:1.8;
}

.article-cta-box a{
  height:44px;
  padding:0 18px;
  border-radius:10px;
  background:#ffffff;
  color:#06264d;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:800;
}

.article-product-heading{
  margin-bottom:16px;
}

.article-product-heading span{
  display:block;
  margin-bottom:5px;
  color:#0b65c2;
  font-size:10px;
  font-weight:800;
  letter-spacing:.8px;
}

.article-product-heading h3{
  margin:0;
}

.article-related-products{
  display:grid;
  gap:12px;
}

.article-product-empty{
  margin:0;
  padding:14px;
  border-radius:10px;
  background:#f4f8fc;
  color:#71839a;
  font-size:12px;
  line-height:1.65;
}

.article-related-product{
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:10px;
  border:1px solid #e7edf4;
  border-radius:10px;
  color:#10233c;
  transition:.25s ease;
}

.article-related-product:hover{
  border-color:#9bc9f3;
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(11,101,194,.08);
}

.article-related-product img{
  width:84px;
  height:78px;
  border-radius:8px;
  object-fit:cover;
  background:#f1f5f9;
}

.article-related-product span{
  display:block;
  margin-bottom:4px;
  color:#0b65c2;
  font-size:10px;
  font-weight:800;
}

.article-related-product h4{
  margin:0;
  color:#10233c;
  font-size:13px;
  line-height:1.4;
  font-weight:800;
}

.article-related-product small{
  display:block;
  margin-top:6px;
  color:#7b8da4;
  font-size:10px;
  font-weight:600;
}

.related-article-list{
  display:grid;
  gap:12px;
}

.related-article-card{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:11px;
  align-items:center;
  padding:9px;
  border:1px solid #e7edf4;
  border-radius:10px;
  color:#10233c;
  transition:.25s ease;
}

.related-article-card:hover{
  border-color:#9bc9f3;
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(11,101,194,.08);
}

.related-article-card img{
  width:82px;
  height:72px;
  border-radius:8px;
  object-fit:cover;
  background:#f1f5f9;
}

.related-article-card span{
  display:block;
  margin-bottom:4px;
  color:#0b65c2;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
}

.related-article-card h4{
  display:-webkit-box;
  overflow:hidden;
  margin:0;
  color:#10233c;
  font-size:12px;
  line-height:1.4;
  font-weight:800;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.related-article-card small{
  display:block;
  margin-top:5px;
  color:#7b8da4;
  font-size:9px;
}

.article-not-found{
  padding:150px 0 80px;
  background:#ffffff;
}


/* =========================================================
CONTENT
========================================================= */

.products-content{
  flex:1;
}


/* =========================================================
TOPBAR
========================================================= */

.products-topbar{
  margin-bottom:28px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:16px;
}

.products-topbar h2{
  margin:0;

  font-size:24px;
  font-weight:700;

  color:#111111;
}

.product-sort-btn{
  flex-shrink:0;

  min-width:94px;
  height:42px;
  padding:0 14px;

  border:1px solid rgba(6,38,77,.12);
  border-radius:999px;

  background:#ffffff;
  color:#06264d;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  box-shadow:
    0 12px 28px rgba(15,23,42,.08);

  font-size:13px;
  font-weight:800;
}

.product-sort-btn:hover,
.product-sort-btn.active{
  transform:translateY(-2px);

  background:#06264d;
  color:#ffffff;
}

.sort-arrows{
  display:inline-flex;
  align-items:center;
  gap:1px;

  font-size:14px;
  line-height:1;
}


/* =========================================================
PRODUCT GRID
========================================================= */

.products-grid{
  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:28px;
}

.products-grid .product-card{
  display:flex;
  flex-direction:column;

  overflow:hidden;

  border-radius:24px;

  background:#ffffff;

  border:
    1px solid #ececec;

  transition:
    transform .3s ease,
    box-shadow .3s ease;

  box-shadow:
    0 8px 24px rgba(0,0,0,.04);
}

.products-grid .product-card:hover{
  transform:translateY(-5px);

  box-shadow:
    0 18px 38px rgba(0,0,0,.08);
}

/* =========================================================
IMAGE
========================================================= */

.products-grid .product-image{
  width:100%;

  aspect-ratio:1/1;

  overflow:hidden;

  background:transparent;

  padding:0;
}

.products-grid .product-image img{
  display:block;
  width:100%;
  height:100%;

  object-fit:cover;
  object-position:center center;

  transition:transform .35s ease;
}

.products-grid .product-card:hover .product-image img{
  transform:scale(1.05);
}

/* =========================================================
CONTENT
========================================================= */

.products-grid .product-content{
  display:flex;
  flex-direction:column;

  flex:1;

  padding:20px;
}

.products-grid .product-content h3{
  margin-bottom:10px;

  font-size:20px;
  line-height:1.35;
  font-weight:700;

  color:#111111;

  text-align:center;
}

/* =========================================================
META
========================================================= */

.products-grid .product-meta{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:row;
  flex-wrap:wrap;

  gap:8px;

  margin-top:12px;
  margin-bottom:22px;

  text-align:center;
}

.products-grid .product-meta span{
  min-height:28px;
  padding:7px 12px;

  border:1px solid rgba(6,38,77,.1);
  border-radius:999px;

  background:#f8fafc;
  color:#64748b;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  font-size:11px;
  line-height:1;
  font-weight:700;
  white-space:nowrap;
}

.products-grid .product-meta .meta-brand{
  border-color:rgba(6,38,77,.16);

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #eef6ff
    );
  color:#06264d;
}

/* =========================================================
BUTTONS
========================================================= */

.products-grid .product-buttons{
  display:flex;

  gap:12px;

  margin-top:auto;
}

.products-grid .btn-detail,
.products-grid .btn-buy{
  flex:1;

  height:48px;

  border-radius:14px;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:14px;
  font-weight:600;

  white-space:nowrap;

  transition:.3s ease;
}

.products-grid .btn-detail{
  background:#06264d;
  color:#ffffff;

  box-shadow:
    0 10px 22px rgba(6,38,77,.18);
}

.products-grid .btn-detail:hover{
  background:#0b3b77;
}

.products-grid .btn-buy{
  background:#f3f3f3;
  color:#111111;
}

.products-grid .btn-buy:hover{
  background:#e7e7e7;
}


/* =========================================================
EMPTY
========================================================= */

.empty-product{
  grid-column:1/-1;

  padding:100px 20px;

  text-align:center;
}

.empty-product i{
  margin-bottom:20px;

  font-size:60px;

  color:#cccccc;
}

.empty-product h3{
  margin-bottom:10px;

  font-size:28px;
  font-weight:700;

  color:#111111;
}

.empty-product p{
  color:#777777;
}


/* =========================================================
LAPTOP
========================================================= */

@media(max-width:1200px){

  .products-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

}


/* =========================================================
TABLET
========================================================= */

@media(max-width:992px){

  .products-content{
    width:100%;
  }
  
  .products-layout{
    flex-direction:column;
  }

  .articles-layout{
    flex-direction:column;
  }

  .products-sidebar{
    width:100%;
    min-width:100%;

    position:relative;
    top:auto;
  }

  .articles-sidebar{
    position:relative;
    top:auto;
  }

  .products-grid{
    width:100%;

    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:14px;
  }

  .articles-page-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .article-detail-hero-grid,
  .article-detail-layout{
    grid-template-columns:1fr;
  }

  .article-detail-sidebar{
    position:relative;
    top:auto;
  }

}

/* =========================================================
tablet kecil
========================================================= */

@media(min-width:600px) and (max-width:780px){

  .products-page-section .container{
    padding-left:14px;
    padding-right:14px;
  }

  .products-grid{
    grid-template-columns:
      repeat(2,1fr);

    gap:12px;
  }

}


/* =========================================================
MOBILE
========================================================= */

@media(max-width:768px){

  .page-hero{
    padding:120px 0 60px;
  }

  .page-hero-content h1{
    font-size:36px;
  }

  .page-hero-content p{
    font-size:15px;
  }

  .products-page-section{
    padding:50px 0 70px;
  }

  .products-page-section .container{
    padding-left:10px;
    padding-right:10px;
  }
  
  .products-content{
    width:100%;
  }

  .articles-page-section{
    padding:50px 0 70px;
  }

  .articles-page-section .container{
    padding-left:10px;
    padding-right:10px;
  }

  .articles-topbar{
    padding:18px;
  }

  .articles-topbar h2{
    font-size:20px;
  }

  .articles-page-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
  }

  .article-page-card{
    width:calc((100% - 12px) / 2);
    flex:0 0 calc((100% - 12px) / 2);
    min-width:0;
  }

  .article-page-card .article-image{
    height:130px;
  }

  .article-page-card .article-content{
    padding:14px;
  }

  .article-page-card .article-content h3{
    font-size:14px;
    line-height:1.45;
  }

  .article-page-card .article-content p{
    font-size:11px;
    line-height:1.65;
  }

  .article-page-meta{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
    font-size:10px;
  }

.articles-empty{
  width:100%;
  flex:0 0 100%;
}


  .article-detail-main{
    padding-top:64px;
  }

  .article-detail-hero{
    padding:34px 0 42px;
  }

  .article-detail-hero-grid{
    gap:24px;
  }

  .article-back-link{
    margin-bottom:18px;
    font-size:12px;
  }

  .article-detail-meta{
    gap:7px;
    margin-bottom:14px;
  }

  .article-detail-meta span{
    padding:6px 9px;
    font-size:10px;
  }

  .article-detail-heading h1{
    font-size:32px;
    letter-spacing:-.5px;
  }

  .article-detail-heading p{
    margin-top:14px;
    font-size:13px;
    line-height:1.8;
  }

  .article-detail-cover{
    border-radius:12px;
  }

  .article-detail-section{
    padding:42px 0;
  }

  .article-detail-layout{
    gap:32px;
  }

  .article-detail-article{
    padding:18px;
    border-radius:14px;
  }

  .article-detail-content h2{
    margin:30px 0 10px;
    font-size:22px;
  }

  .article-detail-content h3{
    margin:24px 0 10px;
    font-size:18px;
  }

  .article-detail-content p,
  .article-detail-content p:first-child,
  .article-detail-content > div,
  .article-detail-content > div:first-child{
    margin-bottom:18px;
    font-size:14px;
    line-height:1.9;
  }

  .article-detail-content ul,
  .article-detail-content ol{
    margin-bottom:18px;
    font-size:14px;
    line-height:1.85;
  }

  .article-detail-content blockquote{
    margin:22px 0;
    padding:14px 16px;
    font-size:14px;
  }

  .article-detail-content figure{
    margin:26px auto;
  }

  .article-detail-meta{
    grid-template-columns:1fr;
    gap:8px;
    margin-top:28px;
    margin-bottom:0;
    padding-top:20px;
  }

  .article-detail-meta span{
    padding:0;
    border-radius:0;
    background:transparent;
    font-size:10px;
  }

  .article-post-navigation{
    grid-template-columns:1fr;
  }

  .article-post-nav{
    min-height:82px;
  }

  .article-side-box{
    padding:20px;
  }

  .article-related-product{
    grid-template-columns:78px minmax(0,1fr);
  }

  .article-related-product img{
    width:78px;
    height:72px;
  }
  
  .products-grid{
    width:100%;

    display:flex;
    flex-wrap:wrap;

    gap:12px;

    justify-content:center;
    align-items:stretch;
    
    margin:0 auto;
  }

  .products-grid .product-card{
    width:calc((100% - 12px) / 2);
    flex:0 0 calc((100% - 12px) / 2);
    min-width:0;
  }

  .products-grid .empty-product{
    width:100%;
    flex:0 0 100%;
  }

  .products-grid .product-image{
    padding:0;
  }

  .products-grid .product-content{
    padding:14px;
  }

  .products-grid .product-content h3{
    font-size:16px;
  }

  .products-grid .product-meta span{
    min-height:25px;
    padding:6px 10px;

    font-size:12px;
  }

  .products-grid .product-buttons{
    gap:8px;
  }

  .products-grid .btn-detail,
  .products-grid .btn-buy{
    height:40px;

    border-radius:10px;

    font-size:12px;
  }

  .products-sidebar{
    padding:22px;
  }

  .desktop-filter-box,
  .desktop-filter-actions{
    display:none;
  }

  .mobile-products-filter{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(116px,34%);
    gap:12px;
    align-items:stretch;
    margin-top:18px;
  }

  .mobile-filter-stack,
  .mobile-filter-actions{
    display:flex;
    flex-direction:column;
    gap:10px;
  }

  .mobile-filter-stack select{
    width:100%;
    height:46px;
    min-width:0;
    border:1px solid #dddddd;
    border-radius:12px;
    background:#ffffff;
    color:#111111;
    padding:0 36px 0 12px;
    font-size:13px;
    font-weight:500;
    outline:none;
  }

  .mobile-filter-stack select:focus{
    border-color:#111111;
  }

  .mobile-filter-actions .btn-filter-apply,
  .mobile-filter-actions .btn-filter-reset{
    height:46px;
    border-radius:12px;
    font-size:12px;
    text-align:center;
  }

}


/* =========================================================
SMALL MOBILE
========================================================= */

@media(max-width:480px){

  .page-hero-content h1{
    font-size:30px;
  }

  .page-hero-content p{
    line-height:1.8;
  }

  .products-topbar h2{
    font-size:20px;
  }

  .sidebar-box h3{
    font-size:17px;
  }
  
  .products-grid{
    gap:10px;
  }

  .articles-page-grid{
    gap:10px;
  }

  .products-grid .product-card{
    width:calc((100% - 10px) / 2);
    flex-basis:calc((100% - 10px) / 2);
  }

  .article-page-card{
    width:calc((100% - 10px) / 2);
    flex-basis:calc((100% - 10px) / 2);
  }
  
  .products-grid .product-content h3{
    font-size:15px;
  }

  .products-topbar{
    gap:10px;
  }

  .products-topbar h2{
    font-size:18px;
  }

  .product-sort-btn{
    min-width:78px;
    height:36px;
    padding:0 10px;

    gap:6px;

    font-size:11px;
  }

  .sort-arrows{
    font-size:12px;
  }

  .products-grid .product-meta{
    gap:6px;

    margin-top:9px;
    margin-bottom:16px;
  }

  .products-grid .product-meta span{
    min-height:23px;
    padding:5px 8px;

    font-size:10px;
  }

  .products-grid .btn-detail,
  .products-grid .btn-buy{
    height:38px;

    font-size:11px;
  }

  .article-detail-heading h1{
    font-size:28px;
  }

  .article-detail-meta span{
    font-size:9px;
  }

  .article-related-product h4{
    font-size:13px;
  }

}


/* =========================================================
PRODUCT DETAIL PAGE
========================================================= */

.product-detail-page{
  background:#f6f9fc;
  color:#0f172a;
}

.product-detail-main{
  padding-top:88px;
  background:#f6f9fc;
}

.detail-hero{
  padding:28px 0 24px;
  background:#f6f9fc;
}

.detail-hero .container,
.detail-product-info-section .container,
.detail-reviews-section .container,
.related-section .container{
  background:#ffffff;
  border-radius:8px;
  padding-top:26px;
  padding-bottom:26px;
}

.detail-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:34px;
  color:#7890aa;
  font-size:13px;
  font-weight:500;
}

.detail-breadcrumb a{
  color:#06264d;
}

.detail-breadcrumb strong{
  color:#0f172a;
}

.detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);
  gap:44px;
  align-items:start;
}

.detail-gallery-shell{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.detail-thumbnails{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 48px) / 5);
  gap:12px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 2px 10px;
  scrollbar-width:thin;
}

.detail-thumb{
  position:relative;
  width:100%;
  min-width:0;
  aspect-ratio:1/1;
  padding:0;
  border:2px solid transparent;
  border-radius:8px;
  background:transparent;
  cursor:pointer;
  transition:.25s ease;
  overflow:hidden;
}

.detail-thumb.active,
.detail-thumb:hover{
  border-color:#0b65c2;
  box-shadow:none;
}

.detail-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.detail-thumb.is-video::after{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(6,38,77,.08);
  border-radius:7px;
}

.detail-thumb.is-video span{
  position:absolute;
  inset:0;
  z-index:2;
  width:34px;
  height:34px;
  margin:auto;
  border-radius:50%;
  background:#06264d;
  color:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  box-shadow:0 10px 24px rgba(6,38,77,.22);
}

.detail-main-image{
  position:relative;
  aspect-ratio:1/1;
  min-height:0;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.detail-main-link{
  width:100%;
  height:100%;
  min-height:0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:1;
  transition:opacity .25s ease;
}

.detail-main-link.is-hidden{
  display:none;
}

.detail-main-link.is-fading{
  opacity:0;
  pointer-events:none;
}

.detail-main-link img{
  display:block;
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
}

.detail-main-video{
  width:100%;
  min-height:0;
  height:100%;
  display:block;
  background:#000000;
  object-fit:contain;
}

.detail-main-video.is-hidden{
  display:none;
}

.detail-light-caption{
  position:absolute;
  left:24px;
  bottom:24px;
  z-index:3;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-height:0;
  padding:0;

  border:0;
  border-radius:0;

  background:transparent;
  color:#06264d;

  font-family:'Poppins',sans-serif;
  font-size:22px;
  line-height:1.1;
  font-weight:400;
  letter-spacing:-.2px;

  box-shadow:none;

  transform:none;
}

.detail-light-caption[hidden]{
  display:none;
}

.detail-main-image.has-catalog .detail-light-caption{
  bottom:24px;
}

.detail-catalog-btn{
  position:absolute;
  left:50%;
  bottom:24px;
  z-index:4;
  transform:translateX(-50%);

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  min-height:44px;
  padding:10px 22px;
  border:1px solid #06264d;
  border-radius:999px;
  background:#06264d;
  color:#ffffff;

  font-size:13px;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 12px 28px rgba(6,38,77,.2);
  transition:.2s ease;
}

.detail-catalog-btn:hover{
  background:#0b65c2;
  border-color:#0b65c2;
  color:#ffffff;
  transform:translateX(-50%) translateY(-2px);
}

.detail-catalog-hidden{
  display:none;
}

.detail-light-panel{
  position:absolute;
  top:18px;
  right:18px;
  bottom:auto;
  z-index:3;

  display:flex;
  align-items:center;
  gap:9px;

  padding:8px;

  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.34),
      rgba(232,244,255,.18)
    );

  box-shadow:
    0 18px 40px rgba(3,19,41,.22),
    0 0 0 1px rgba(255,255,255,.38),
    inset 0 1px 0 rgba(255,255,255,.52);

  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
}

.detail-light-label{
  padding:8px 11px;

  border-radius:999px;

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #eaf3ff
    );
  color:#06264d;

  font-size:11px;
  line-height:1;
  font-weight:800;

  box-shadow:0 10px 24px rgba(0,0,0,.2);
}

.detail-light-modes{
  display:flex;
  align-items:center;
  gap:7px;
}

.detail-light-mode{
  width:26px;
  height:26px;

  border:2px solid rgba(255,255,255,.96);
  border-radius:50%;

  cursor:pointer;

  box-shadow:
    0 8px 18px rgba(0,0,0,.28),
    0 0 0 1px rgba(6,38,77,.12);

  transition:
    transform .2s ease,
    box-shadow .2s ease;
}

.detail-light-mode:hover,
.detail-light-mode.active{
  transform:scale(1.12);

  box-shadow:
    0 0 0 3px rgba(255,255,255,.56),
    0 0 0 6px rgba(11,101,194,.28),
    0 10px 22px rgba(0,0,0,.32);
}

.detail-light-mode[data-mode="off"]{
  background:#AFC7D6;
}

.detail-light-mode[data-mode="normal"]{
  background:#fff4bf;
}

.detail-light-mode[data-mode="white"]{
  background:#e8f6ff;
}

.detail-light-mode[data-mode="warm"]{
  background:#ffd18a;
}

.detail-light-mode[data-mode="night"]{
  background:#203548;
}

.detail-slide-btn{
  position:absolute;
  top:50%;
  z-index:2;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#06264d;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:translateY(-50%);
  transition:.25s ease;
}

.detail-slide-btn:hover{
  background:transparent;
  color:#0b65c2;
}

.detail-slide-btn.prev{
  left:18px;
}

.detail-slide-btn.next{
  right:18px;
}

.detail-summary{
  --detail-summary-gap:16px;
  margin-top:-4px;
  padding-top:0;
}

.detail-kicker{
  display:inline-flex;
  margin:0;
  color:#0b65c2;
  font-size:13px;
  line-height:1;
  font-weight:700;
  letter-spacing:1.6px;
}

.detail-summary h1{
  margin:0;
  color:#101828;
  font-size:48px;
  line-height:1.08;
  font-weight:800;
  max-width:100%;
  overflow:hidden;
  text-overflow:clip;
  white-space:nowrap;
}

.detail-title-row{
  display:grid;
  grid-template-columns:minmax(0,10fr) minmax(92px,2fr);
  align-items:end;
  column-gap:18px;
  width:100%;
  margin-bottom:12.5px;
  padding-bottom:12.5px;
  border-bottom:2px solid #0b65c2;
}

.detail-title-main{
  grid-column:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.detail-origin-badge{
  display:inline-flex;
  align-items:flex-end;
  justify-content:flex-end;
  justify-self:end;
  grid-column:2;
  flex:0 0 auto;
  gap:1px;
  margin:0;
  padding:0;
}

.detail-origin-icon-frame{
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:inline-flex;
  align-items:flex-end;
  justify-content:center;
  overflow:hidden;
  border:0;
  background:transparent;
}

.detail-origin-icon-frame img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:4px;
}

.detail-origin-icon-frame:not(.detail-origin-icon-frame-made) img{
  transform:translateY(3px);
}

.detail-origin-icon-frame-made{
  width:43px;
  height:43px;
  flex-basis:43px;
  margin-right:0;
}

.detail-origin-icon-frame-made img{
  padding:0;
}

.detail-rating-row{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:nowrap;
  width:100%;
  color:#718096;
  font-size:14px;
}

.detail-stars{
  display:flex;
  align-items:center;
  gap:4px;
  flex:0 0 auto;
  color:#d5dce5;
}

.detail-stars .filled{
  color:#ffb020;
}

.detail-description{
  margin-bottom:20px;
  color:#53657a;
  font-size:15px;
  line-height:1.82;
}

.detail-meta-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:20px;
}

.detail-meta-grid > div{
  min-height:86px;
  padding:18px;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#ffffff;
}

.detail-meta-grid > div > span{
  display:block;
  margin-bottom:6px;
  color:#7a8ca3;
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
}

.detail-meta-grid > div > strong{
  color:#0f172a;
  font-size:15px;
  line-height:1.45;
}

.product-code-dropdown{
  position:relative;
  z-index:4;
}

.product-code-native-select{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.product-code-trigger{
  width:100%;
  min-height:0;
  height:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#0f172a;
  -webkit-text-fill-color:#0f172a;
  font-size:15px;
  font-weight:800;
  line-height:1.45;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  box-shadow:none;
  appearance:none;
  -webkit-appearance:none;
  transition:
    color .2s ease;
}

.detail-meta-grid .product-code-trigger{
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a;
}

.product-code-trigger span{
  color:#0f172a;
  -webkit-text-fill-color:#0f172a;
  font-weight:800;
}

.product-code-trigger:hover,
.product-code-dropdown.open .product-code-trigger{
  color:#0b65c2;
  -webkit-text-fill-color:#0b65c2;
}

.product-code-trigger:hover span,
.product-code-dropdown.open .product-code-trigger span{
  color:#0b65c2;
  -webkit-text-fill-color:#0b65c2;
}

.product-code-trigger:focus-visible{
  outline:0;
}

.product-code-trigger i{
  color:#0b65c2;
  font-size:12px;
  transition:transform .2s ease;
}

.product-code-dropdown.open .product-code-trigger i{
  transform:rotate(180deg);
}

.product-code-menu{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 12px);
  z-index:12;
  padding:7px;
  border:1px solid #d7e6f7;
  border-radius:8px;
  background:#ffffff;
  box-shadow:
    0 22px 48px rgba(6,38,77,.2),
    0 0 0 1px rgba(255,255,255,.82);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  transition:
    opacity .18s ease,
    visibility .18s ease,
    transform .18s ease;
}

.product-code-dropdown.open .product-code-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.product-code-option{
  width:100%;
  min-height:38px;
  padding:0 12px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#0f172a;
  font-size:14px;
  font-weight:700;
  text-align:left;
  cursor:pointer;
  transition:
    background .18s ease,
    color .18s ease,
    transform .18s ease;
}

.product-code-option:hover{
  background:#eef6ff;
  color:#06264d;
}

.product-code-option.active{
  background:
    linear-gradient(135deg,#06264d 0%,#0b65c2 100%);
  color:#ffffff;
  box-shadow:0 10px 20px rgba(11,101,194,.2);
}

.detail-action-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:0;
}

.detail-commerce-row{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  align-items:stretch;
  width:100%;
}

.detail-primary-btn,
.detail-secondary-btn{
  min-height:50px;
  padding:0 18px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-size:14px;
  font-weight:700;
  transition:.25s ease;
}

.detail-primary-btn{
  background:#06264d;
  color:#ffffff;
  box-shadow:0 16px 30px rgba(6,38,77,.18);
}

.detail-secondary-btn{
  border:1px solid #d7e0ea;
  background:#ffffff;
  color:#06264d;
}

.detail-primary-btn:hover,
.detail-secondary-btn:hover{
  transform:translateY(-2px);
}

.detail-note{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#5c7088;
  font-size:14px;
  line-height:1.7;
}

.detail-note i{
  margin-top:4px;
  color:#0b65c2;
}

.detail-service-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.detail-service-strip > div{
  min-height:50px;
  padding:8px;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#ffffff;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:2px 9px;
}

.detail-service-strip i{
  grid-row:span 2;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#eef6ff;
  color:#0b65c2;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
}

.detail-service-strip span{
  color:#0f172a;
  font-size:10px;
  line-height:1.2;
  font-weight:800;
  white-space:nowrap;
}

.detail-service-strip small{
  color:#718096;
  font-size:9px;
  line-height:1.2;
  white-space:nowrap;
}

.detail-light-card-panel{
  width:100%;
  margin-bottom:var(--detail-summary-gap);
  padding:18px;
  border:1px solid #e6edf5;
  border-radius:8px;
  background:#ffffff;
  box-shadow:0 14px 36px rgba(15,23,42,.05);
}

.detail-light-card-head{
  display:grid;
  grid-template-columns:auto auto 1fr;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
  color:#071b4d;
}

.detail-light-card-head strong{
  font-size:15px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
}

.detail-light-card-head i{
  color:#ff9f1c;
  font-size:16px;
}

.detail-light-card-head span{
  justify-self:end;
  color:#071b4d;
  font-size:11px;
  line-height:1.2;
  font-weight:600;
}

.detail-light-card-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}

.detail-light-card-grid .detail-light-mode{
  width:auto;
  height:auto;
  min-height:0;
  padding:0;
  border:1px solid #edf1f7;
  border-radius:8px;
  background:#eef3f8;
  box-shadow:none;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  gap:6px;
  overflow:hidden;
  text-align:center;
}

.detail-light-card-grid .detail-light-mode:hover,
.detail-light-card-grid .detail-light-mode.active{
  transform:none;
  border-color:#0b65c2;
  box-shadow:0 0 0 2px rgba(11,101,194,.12);
}

.detail-light-card-grid .detail-light-mode img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center;
  transform:scale(1.16);
  background:#ffffff;
}

.detail-light-card-grid .detail-light-mode strong{
  position:relative;
  z-index:1;
  min-height:24px;
  padding:0 6px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#071b4d;
  font-size:12px;
  line-height:1;
  font-weight:900;
}

.detail-info-heading{
  margin:0 0 14px;
  color:#071b4d;
  font-size:15px;
  line-height:1;
  font-weight:900;
  text-align:left;
  text-transform:uppercase;
}

.detail-info-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 28px;
  width:100%;
  margin-bottom:12.5px;
  padding-bottom:18.75px;
  border-bottom:2px solid #0b65c2;
  justify-items:stretch;
}

.detail-info-card-grid > div{
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  position:relative;
  box-shadow:none;
  display:grid;
  grid-template-columns:20px minmax(100px,.82fr) minmax(0,1fr);
  align-items:start;
  column-gap:8px;
}

.detail-info-check{
  width:20px;
  line-height:1.2;
  font-size:13px;
}

.detail-info-card-grid span,
.detail-info-card-grid strong,
.detail-info-card-grid small{
  display:block;
}

.detail-info-card-grid > div > span:not(.detail-info-check){
  color:#071b4d;
  font-size:11px;
  line-height:1.2;
  font-weight:900;
  text-transform:uppercase;
}

.detail-info-card-grid strong{
  margin-top:0;
  color:#071b4d;
  font-size:12px;
  line-height:1.25;
  font-weight:400;
}

.detail-info-card-grid small{
  display:none;
}

.detail-info-card-grid .product-code-dropdown{
  margin-top:0;
}

.detail-info-card-grid .product-code-trigger{
  font-size:12px;
  line-height:1.25;
}

.detail-info-card-grid .product-code-trigger span{
  color:#071b4d;
  font-size:12px;
  line-height:1.25;
  font-weight:400;
  text-transform:none;
}

.detail-info-card-grid .product-code-trigger i{
  position:static;
  width:auto;
  height:auto;
  background:transparent;
  font-size:10px;
}

.detail-feature-card-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:10px;
  width:100%;
  margin-bottom:var(--detail-summary-gap);
}

.detail-feature-card-grid > div{
  flex:0 1 calc((100% - 50px) / 6);
  aspect-ratio:1/1;
  min-height:0;
  padding:8px;
  border:1px solid rgba(226,232,240,.58);
  border-radius:8px;
  background:#ffffff;
  box-shadow:0 14px 36px rgba(15,23,42,.05);
  display:grid;
  place-items:center;
  justify-items:center;
  align-content:center;
  text-align:center;
}

.detail-feature-card-grid img{
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  align-self:center;
}

.detail-action-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  width:100%;
}

.detail-secondary-btn{
  grid-column:1 / -1;
}

.detail-whatsapp-btn{
  min-height:50px;
  padding:0 18px;
  border-radius:8px;
  background:linear-gradient(135deg,#f3a338,#df8420);
  color:#ffffff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-size:14px;
  font-weight:800;
  transition:.25s ease;
}

.detail-whatsapp-btn:hover{
  color:#ffffff;
  transform:translateY(-2px);
}

.detail-service-strip-wide{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  margin-top:30px;
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#f3f6fa;
  overflow:hidden;
}

.detail-service-strip-wide > div{
  min-height:82px;
  border:0;
  border-radius:0;
  padding:16px 18px 16px 68px;
  position:relative;
  display:block;
  background:transparent;
}

.detail-service-strip-wide i{
  position:absolute;
  left:22px;
  top:22px;
  grid-row:auto;
  width:32px;
  height:32px;
  background:transparent;
  color:#071b4d;
  font-size:29px;
}

.detail-service-strip-wide span{
  display:block;
  color:#071b4d;
  font-size:12px;
  line-height:1.25;
  font-weight:900;
  text-transform:uppercase;
  white-space:normal;
}

.detail-service-strip-wide small{
  display:block;
  margin-top:6px;
  color:#071b4d;
  font-size:12px;
  line-height:1.45;
  white-space:normal;
}

.detail-tabs-section,
.detail-product-info-section,
.detail-reviews-section,
.detail-gallery-section,
.reviews-section,
.related-section{
  padding:0 0 24px;
  background:#f6f9fc;
}

.detail-gallery-section,
.detail-reviews-section,
.related-section{
  background:#f6f9fc;
}

.detail-product-info-section{
  padding-top:0;
  padding-bottom:24px;
}

.detail-product-info-section .container,
.detail-reviews-section .container{
  max-width:1440px;
}

.detail-product-info-section .container{
  display:grid;
  grid-template-columns:minmax(280px,360px) minmax(0,1fr);
  gap:28px;
  align-items:start;
}

.detail-shop-panel{
  margin-bottom:28px;
  border:0;
  border-radius:0;
  background:transparent;
  overflow:visible;
}

.detail-description-panel,
.detail-reviews-section .detail-shop-panel{
  margin-bottom:0;
}

.detail-product-info-section .detail-shop-panel{
  margin-bottom:0;
}

.detail-reviews-section,
.related-section{
  padding-top:0;
}

.detail-shop-panel > h2{
  margin:0;
  padding:14px 0;
  background:#f7f8fa;
  color:#222222;
  font-size:18px;
  line-height:1.3;
  font-weight:800;
}

.detail-spec-table{
  padding:6px 0 0;
}

.detail-spec-row{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:24px;
  padding:12px 0;
}

.detail-spec-row span{
  color:#8a96a8;
  font-size:13px;
}

.detail-spec-row strong{
  color:#334155;
  font-size:13px;
  line-height:1.55;
  font-weight:600;
}

.detail-included-group{
  padding:14px 0 0;
}

.detail-included-group + .detail-included-group{
  margin-top:14px;
}

.detail-included-group h3{
  margin:0 0 10px;
  color:#071b4d;
  font-size:13px;
  line-height:1.35;
  font-weight:900;
  text-transform:uppercase;
}

.detail-included-list{
  display:grid;
  gap:9px;
}

.detail-included-list li{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  align-items:start;
  gap:10px;
  color:#334155;
  font-size:13px;
  line-height:1.45;
  font-weight:600;
}

.detail-included-list i{
  width:24px;
  height:24px;
  border-radius:8px;
  background:#eef6ff;
  color:#0b65c2;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
}

.detail-description-copy{
  position:relative;
  padding:18px 0 0;
  overflow:hidden;
  transition:max-height .28s ease;
}

.detail-description-copy.is-collapsed{
  max-height:520px;
}

.detail-description-copy.is-expanded{
  max-height:none;
}

.detail-description-content{
  padding-bottom:0;
}

.detail-description-copy.can-expand .detail-description-content{
  padding-bottom:46px;
}

.detail-description-copy p{
  margin:0;
  color:#334155;
  font-size:14px;
  line-height:1.9;
}

.detail-description-toggle{
  position:absolute;
  left:50%;
  bottom:10px;
  z-index:4;
  transform:translateX(-50%);

  min-height:28px;
  padding:0 10px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#0b65c2;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  font-size:13px;
  font-weight:800;
  line-height:1;
  cursor:pointer;

  transition:
    color .2s ease,
    transform .2s ease;
}

.detail-description-toggle:hover{
  color:#06264d;
  transform:translateX(-50%) translateY(-1px);
}

.detail-description-toggle[hidden]{
  display:none;
}

.gmg-back-to-top{
  display:none;
}

.detail-description-copy.is-collapsed.can-expand::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:3;
  height:150px;
  pointer-events:none;
  background:
    linear-gradient(
      to bottom,
      rgba(255,255,255,0),
      rgba(255,255,255,.72) 58%,
      rgba(255,255,255,.96)
    );
}

.detail-upload-gallery{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  margin-top:22px;
}

.detail-upload-gallery-item{
  display:block;
  overflow:hidden;
  border-radius:8px;
  background:#f8fafc;
}

.detail-upload-gallery-item img{
  display:block;
  width:100%;
  height:auto;
}

.detail-tabs{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:34px;
  margin-bottom:42px;
  padding-bottom:18px;
  border-bottom:1px solid #e6edf5;
}

.detail-tabs button{
  border:0;
  background:transparent;
  color:#73849a;
  font-size:13px;
  font-weight:700;
  letter-spacing:.7px;
  text-transform:uppercase;
  cursor:pointer;
  position:relative;
  padding:0 0 14px;
  white-space:nowrap;
  transition:.25s ease;
}

.detail-tabs button::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:-19px;
  height:3px;
  border-radius:999px;
  background:#0b65c2;
  transform:scaleX(0);
  transform-origin:center;
  transition:.25s ease;
}

.detail-tabs button:hover,
.detail-tabs button.active{
  color:#0b65c2;
}

.detail-tabs button.active::after{
  transform:scaleX(1);
}

.detail-tab-panels{
  max-width:1180px;
  margin:0 auto;
}

.detail-tab-panel{
  display:none;
}

.detail-tab-panel.active{
  display:block;
  animation:detailTabFade .22s ease;
}

@keyframes detailTabFade{
  from{
    opacity:0;
    transform:translateY(8px);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }
}

.detail-panel{
  padding:34px;
  border:1px solid #e4ebf3;
  border-radius:8px;
  background:#ffffff;
}

.detail-panel h2{
  margin:8px 0 18px;
  color:#101828;
  font-size:28px;
  font-weight:800;
}

.detail-panel p{
  color:#53657a;
  font-size:15px;
  line-height:1.9;
}

.detail-benefits{
  display:grid;
  gap:12px;
  margin-top:22px;
}

.detail-benefits li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#53657a;
  font-size:14px;
  line-height:1.7;
}

.detail-benefits i{
  margin-top:4px;
  color:#0b65c2;
}

.spec-list{
  display:grid;
  gap:10px;
}

.spec-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:14px 0;
  border-bottom:1px solid #edf2f7;
}

.spec-item span{
  color:#718096;
  font-size:14px;
}

.spec-item strong{
  color:#0f172a;
  font-size:14px;
  text-align:right;
}

.detail-section-heading{
  margin-bottom:36px;
}

.media-gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.media-video-card,
.media-photo-card{
  position:relative;
  min-height:210px;
  border-radius:8px;
  overflow:hidden;
  background:#ffffff;
  border:1px solid #e4ebf3;
}

.media-video-card{
  grid-column:span 2;
  grid-row:span 2;
  min-height:436px;
}

.media-video-card video,
.media-photo-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.35s ease;
}

.media-photo-card:hover img,
.media-video-card:hover video{
  transform:scale(1.04);
}

.media-video-card span{
  position:absolute;
  inset:0;
  margin:auto;
  width:72px;
  height:72px;
  border-radius:50%;
  background:#ffffff;
  color:#06264d;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 18px 40px rgba(0,0,0,.18);
}

.reviews-header{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:0;
  padding:20px;
}

.reviews-header p{
  margin:8px 0 0;
  color:#64748b;
  font-size:13px;
}

.reviews-header h2{
  margin-top:8px;
  color:#101828;
  font-size:34px;
  font-weight:800;
}

.review-score{
  min-width:132px;
  padding:18px;
  border-radius:8px;
  background:#06264d;
  color:#ffffff;
  text-align:center;
}

.review-score strong{
  display:block;
  font-size:34px;
  line-height:1;
}

.review-score span{
  display:block;
  margin-top:6px;
  font-size:13px;
  color:rgba(255,255,255,.78);
}

.reviews-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 380px;
  gap:28px;
  align-items:start;
  padding:0 20px 20px;
}

.review-list{
  display:grid;
  gap:16px;
}

.review-card,
.review-form,
.review-empty{
  padding:26px;
  border:1px solid #e4ebf3;
  border-radius:8px;
  background:#ffffff;
}

.review-card-top{
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.review-card h3{
  margin:0 0 4px;
  color:#101828;
  font-size:17px;
  font-weight:800;
}

.review-card span{
  color:#8a9ab0;
  font-size:13px;
}

.review-card p,
.review-empty p{
  margin:0;
  color:#5c7088;
  font-size:14px;
  line-height:1.8;
}

.review-empty{
  text-align:center;
}

.review-empty i{
  margin-bottom:14px;
  color:#c3ceda;
  font-size:42px;
}

.review-empty h3{
  margin-bottom:8px;
  color:#101828;
  font-size:22px;
  font-weight:800;
}

.review-form{
  position:sticky;
  top:108px;
}

.review-form h3{
  margin-bottom:18px;
  color:#101828;
  font-size:22px;
  font-weight:800;
}

.review-form label{
  display:grid;
  gap:8px;
  margin-bottom:14px;
  color:#52657b;
  font-size:13px;
  font-weight:700;
}

.review-form input,
.review-form select,
.review-form textarea{
  width:100%;
  border:1px solid #d9e3ee;
  border-radius:8px;
  background:#f8fafc;
  color:#0f172a;
  font:inherit;
  font-size:14px;
  outline:0;
}

.review-form input,
.review-form select{
  height:48px;
  padding:0 14px;
}

.review-form textarea{
  resize:vertical;
  padding:14px;
}

.review-form input:focus,
.review-form select:focus,
.review-form textarea:focus{
  border-color:#0b65c2;
  background:#ffffff;
}

.review-form button{
  width:100%;
  height:50px;
  border:0;
  border-radius:14px;
  background:#06264d;
  color:#ffffff;
  font-size:14px;
  font-weight:800;
}

.related-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.related-card{
  padding:18px;
  border:1px solid #e4ebf3;
  border-radius:8px;
  background:#ffffff;
  color:#101828;
  text-align:center;
  transition:.25s ease;
}

.related-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 36px rgba(15,23,42,.08);
}

.related-card span{
  display:block;
  margin-bottom:10px;
  color:#0b65c2;
  font-size:12px;
  font-weight:800;
}

.related-card img{
  width:100%;
  aspect-ratio:1;
  object-fit:contain;
  margin-bottom:14px;
}

.related-card h3{
  margin:0;
  font-size:16px;
  line-height:1.4;
  font-weight:800;
}

.product-not-found{
  padding:100px 0;
  background:#ffffff;
}

.product-empty-state{
  max-width:620px;
  margin:0 auto;
  padding:54px 30px;
  text-align:center;
}

.product-empty-state i{
  margin-bottom:18px;
  color:#c3ceda;
  font-size:58px;
}

.product-empty-state h1{
  margin-bottom:10px;
  color:#101828;
  font-size:38px;
  font-weight:800;
}

.product-empty-state p{
  margin-bottom:24px;
  color:#60738a;
}

@media(max-width:1200px){

  .detail-layout{
    grid-template-columns:1fr;
  }

  .detail-commerce-row{
    grid-template-columns:1fr;
  }

  .detail-service-strip{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .detail-service-strip-wide{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .reviews-layout{
    grid-template-columns:1fr;
  }

  .review-form{
    position:relative;
    top:auto;
  }

}

@media(max-width:992px){

  .detail-summary h1{
    font-size:40px;
  }

  .detail-info-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .media-gallery-grid,
  .related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .media-video-card{
    grid-column:span 2;
  }

}

@media(max-width:768px){

  .product-detail-main{
    padding-top:74px;
  }

  .detail-hero{
    padding:20px 0;
  }

  .detail-hero .container,
  .detail-product-info-section .container,
  .detail-reviews-section .container,
  .related-section .container{
    padding-top:20px;
    padding-bottom:20px;
  }

  .detail-product-info-section .container{
    display:block;
  }

  .detail-product-info-section .detail-shop-panel{
    margin-bottom:28px;
  }

  .detail-product-info-section .detail-description-panel{
    margin-bottom:0;
  }

  .detail-gallery-shell{
    grid-template-columns:1fr;
  }

  .detail-thumbnails{
    order:2;
    grid-auto-columns:92px;
    max-height:none;
    overflow-x:auto;
    padding:2px 0 8px;
  }

  .detail-thumb{
    width:100%;
    min-width:0;
  }

  .detail-main-image,
  .detail-main-link,
  .detail-main-video{
    min-height:0;
  }

  .detail-main-link{
    padding:0;
  }

  .detail-light-panel{
    top:10px;
    right:10px;
    bottom:auto;
    left:auto;

    justify-content:flex-start;
    gap:5px;

    padding:5px;
    max-width:min(78%,210px);
  }

  .detail-light-label{
    padding:6px 7px;
    font-size:9px;
    white-space:nowrap;
  }

  .detail-light-modes{
    flex:1;
    justify-content:flex-start;
    gap:4px;
    min-width:0;
  }

  .detail-light-mode{
    width:20px;
    height:20px;
    border-width:1px;
  }

  .detail-light-card-grid .detail-light-mode{
    width:auto;
    height:auto;
  }

  .detail-light-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .detail-info-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }

  .detail-info-card-grid > div{
    grid-template-columns:18px minmax(72px,.78fr) minmax(0,1fr);
    column-gap:6px;
  }

  .detail-feature-card-grid{
    justify-content:flex-start;
  }

  .detail-feature-card-grid > div{
    flex-basis:calc((100% - 20px) / 3);
  }

  .detail-light-caption{
    left:14px;
    bottom:14px;
    min-height:0;
    padding:0;
    font-size:14px;
  }

  .detail-main-image.has-catalog .detail-light-caption{
    bottom:14px;
  }

  .detail-catalog-btn{
    bottom:14px;
    min-height:40px;
    padding:8px 18px;
    font-size:12px;
  }

  .detail-summary h1{
    font-size:32px;
  }

  .detail-description{
    margin-bottom:20px;
    font-size:13px;
    line-height:1.75;
  }

  .detail-description-copy.is-collapsed{
    max-height:380px;
  }

  .detail-meta-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-bottom:20px;
  }

  .detail-meta-grid > div{
    min-height:74px;
    padding:13px;
  }

  .detail-meta-grid > div > span{
    margin-bottom:5px;
    font-size:10px;
  }

  .detail-meta-grid > div > strong,
  .product-code-trigger{
    font-size:13px;
    line-height:1.35;
  }

  .product-code-trigger i{
    font-size:10px;
  }

  .detail-action-row{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin-bottom:0;
  }

  .detail-commerce-row{
    gap:10px;
  }

  .detail-service-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .detail-service-strip-wide{
    grid-template-columns:1fr;
  }

  .detail-service-strip > div{
    min-height:48px;
  }

  .detail-primary-btn,
  .detail-secondary-btn{
    flex:1 1 0;
    min-width:0;
    min-height:44px;
    padding:0 10px;
    border-radius:10px;
    font-size:12px;
    white-space:nowrap;
  }

  .detail-tabs{
    justify-content:space-between;
    gap:8px;
    overflow:visible;
    margin-bottom:28px;
    padding-bottom:12px;
  }

  .detail-tabs button{
    flex:1 1 0;
    min-width:0;
    padding:0 0 10px;
    font-size:10px;
    letter-spacing:.2px;
    text-align:center;
  }

  .detail-tabs button::after{
    bottom:-13px;
  }

  .detail-tabs-section,
  .detail-product-info-section,
  .detail-reviews-section,
  .detail-gallery-section,
  .reviews-section,
  .related-section{
    padding:0 0 20px;
  }

  .detail-product-info-section{
    padding-top:0;
    padding-bottom:20px;
  }

  .detail-panel,
  .review-card,
  .review-form,
  .review-empty{
    padding:24px;
  }

  .reviews-header{
    align-items:flex-start;
    flex-direction:column;
  }

  .detail-spec-row{
    grid-template-columns:150px minmax(0,1fr);
    gap:16px;
  }

}

@media(max-width:560px){

  .detail-hero{
    padding:16px 0;
  }

  .detail-hero .container,
  .detail-product-info-section .container,
  .detail-reviews-section .container,
  .related-section .container{
    padding-top:16px;
    padding-bottom:16px;
  }

  .detail-breadcrumb{
    margin-bottom:22px;
    gap:7px;
    font-size:11px;
  }

  .detail-layout{
    gap:28px;
  }

  .detail-summary h1{
    font-size:27px;
  }

  .detail-kicker{
    margin:0;
    font-size:11px;
    letter-spacing:1.1px;
  }

  .detail-origin-badge{
    gap:1px;
  }

  .detail-title-row{
    grid-template-columns:minmax(0,10fr) minmax(75px,2fr);
    column-gap:10px;
    padding-bottom:12.5px;
  }

  .detail-title-main{
    grid-column:1;
  }

  .detail-origin-badge{
    grid-column:2;
  }

  .detail-rating-row{
    gap:7px;
    margin-bottom:0;
    font-size:12px;
  }

  .detail-stars{
    gap:1px;
    font-size:11px;
  }

  .detail-origin-icon-frame{
    width:36px;
    height:36px;
    flex-basis:36px;
  }

  .detail-origin-icon-frame-made{
    width:35px;
    height:35px;
    flex-basis:35px;
    margin-right:0;
  }

  .detail-note{
    font-size:12px;
  }

  .detail-tabs-section,
  .detail-product-info-section,
  .detail-reviews-section,
  .detail-gallery-section,
  .reviews-section,
  .related-section{
    padding:0 0 16px;
  }

  .detail-product-info-section{
    padding-top:0;
    padding-bottom:16px;
  }

  .detail-panel,
  .review-card,
  .review-form,
  .review-empty{
    padding:18px;
  }

  .detail-panel h2,
  .reviews-header h2,
  .detail-section-heading h2{
    font-size:22px;
  }

  .detail-panel p,
  .spec-item span,
  .spec-item strong{
    font-size:13px;
  }

  .spec-item{
    gap:12px;
    padding:11px 0;
  }

  .product-code-menu{
    top:calc(100% + 8px);
    padding:5px;
  }

  .product-code-option{
    min-height:34px;
    padding:0 9px;
    font-size:12px;
  }

  .detail-main-image,
  .detail-main-link,
  .detail-main-video{
    min-height:0;
  }

  .detail-service-strip{
    grid-template-columns:1fr;
  }

  .detail-service-strip span,
  .detail-service-strip small{
    white-space:normal;
  }

  .detail-spec-table,
  .detail-description-copy{
    padding-left:16px;
    padding-right:16px;
  }

  .detail-spec-row{
    grid-template-columns:1fr;
    gap:4px;
    padding:10px 0;
  }

  .detail-slide-btn{
    width:36px;
    height:36px;
  }

  .media-gallery-grid,
  .related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  .media-video-card{
    grid-column:span 2;
    min-height:220px;
  }

  .related-card{
    padding:12px;
  }

  .related-card h3{
    font-size:13px;
  }

}

@media(max-width:390px){

  .detail-meta-grid{
    gap:8px;
  }

  .detail-meta-grid > div{
    min-height:68px;
    padding:11px;
  }

  .detail-meta-grid > div > span{
    font-size:9px;
  }

  .detail-meta-grid > div > strong,
  .product-code-trigger{
    font-size:12px;
  }

  .detail-primary-btn,
  .detail-secondary-btn{
    min-height:40px;
    padding:0 7px;
    font-size:10.5px;
  }

  .detail-tabs{
    gap:5px;
  }

  .detail-tabs button{
    font-size:9px;
    letter-spacing:0;
  }

}

@media(max-width:768px){

  body.product-detail-page .detail-meta-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  body.product-detail-page .detail-meta-grid > div{
    min-height:74px !important;
    padding:13px !important;
  }

  body.product-detail-page .detail-meta-grid > div > span{
    font-size:10px !important;
  }

  body.product-detail-page .detail-meta-grid > div > strong,
  body.product-detail-page .product-code-trigger{
    font-size:13px !important;
  }

  body.product-detail-page .detail-action-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  body.product-detail-page .detail-primary-btn,
  body.product-detail-page .detail-secondary-btn,
  body.product-detail-page .detail-whatsapp-btn{
    width:100% !important;
    min-width:0 !important;
    min-height:44px !important;
    padding:0 8px !important;
    font-size:11px !important;
    white-space:nowrap !important;
  }

  body.product-detail-page .detail-tabs{
    display:flex !important;
    justify-content:space-between !important;
    gap:5px !important;
    overflow:hidden !important;
  }

body.product-detail-page .detail-tabs button{
    flex:1 1 0 !important;
    min-width:0 !important;
    font-size:9px !important;
    letter-spacing:0 !important;
    text-align:center !important;
  }

  .gmg-back-to-top{
    position:fixed;
    right:18px;
    bottom:78px;
    z-index:9998;
    width:54px;
    height:54px;
    border:0;
    border-radius:50%;
    background:#0b65c2;
    color:#ffffff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    font-size:23px;
    line-height:1;
    box-shadow:none;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    transition:
      opacity .22s ease,
      visibility .22s ease,
      background .18s ease;
  }

  .gmg-back-to-top.is-visible{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .gmg-back-to-top:active{
    background:#06264d;
  }

}


/* =========================================================
CONTACT PAGE
========================================================= */

.contact-section{
  padding:72px 0 96px;
  background:linear-gradient(to bottom,#f8fafc,#ffffff);
}

.contact-layout{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);
  gap:32px;
  align-items:start;
}

.contact-form-card,
.contact-info-card,
.contact-map-card{
  background:#ffffff;
  border:1px solid #e5e7eb;
  border-radius:24px;
  box-shadow:0 24px 70px rgba(15,23,42,.07);
}

.contact-form-card{
  padding:34px;
}

.contact-card-heading{
  margin-bottom:24px;
}

.contact-card-heading span,
.contact-map-content span{
  display:inline-block;
  margin-bottom:8px;
  color:#2563eb;
  font-size:12px;
  font-weight:800;
  letter-spacing:1.8px;
  text-transform:uppercase;
}

.contact-card-heading h2,
.contact-info-card h2,
.contact-map-content h2{
  margin:0;
  color:#111111;
  font-size:30px;
  line-height:1.2;
  font-weight:800;
}

.contact-form{
  display:grid;
  gap:18px;
}

.contact-field-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.contact-form label{
  display:grid;
  gap:9px;
  color:#475569;
  font-size:13px;
  font-weight:700;
}

.contact-form input,
.contact-form textarea{
  width:100%;
  border:1px solid #d8dee8;
  border-radius:16px;
  background:#ffffff;
  color:#0f172a;
  padding:0 18px;
  font:inherit;
  font-size:14px;
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease;
}

.contact-form input{
  height:54px;
}

.contact-form textarea{
  min-height:170px;
  padding-top:16px;
  resize:vertical;
}

.contact-form input:focus,
.contact-form textarea:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 4px rgba(37,99,235,.1);
}

.contact-honeypot{
  position:absolute;
  left:-9999px;
}

.contact-submit-btn,
.contact-whatsapp-btn,
.contact-map-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  border:0;
  border-radius:999px;
  padding:0 24px;
  font-size:14px;
  font-weight:800;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}

.contact-submit-btn{
  justify-self:start;
  background:#00264b;
  color:#ffffff;
  box-shadow:0 14px 34px rgba(0,38,75,.2);
}

.contact-submit-btn:hover,
.contact-whatsapp-btn:hover,
.contact-map-link:hover{
  transform:translateY(-3px);
}

.contact-info-panel{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}

.contact-info-card{
  padding:28px;
}

.contact-info-icon{
  width:50px;
  height:50px;
  margin-bottom:18px;
  border-radius:16px;
  background:#e9f3ff;
  color:#00264b;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
}

.contact-info-card p,
.contact-map-content p{
  margin:12px 0 0;
  color:#64748b;
  font-size:14px;
  line-height:1.8;
}

.contact-info-card a{
  color:#00264b;
  font-weight:700;
  overflow-wrap:anywhere;
}

.contact-whatsapp-card{
  background:#00264b;
  color:#ffffff;
}

.contact-whatsapp-card h2,
.contact-whatsapp-card p{
  color:#ffffff;
}

.contact-whatsapp-card p{
  color:rgba(255,255,255,.82);
}

.contact-whatsapp-card .contact-info-icon{
  background:rgba(255,255,255,.14);
  color:#ffffff;
}

.contact-whatsapp-btn{
  margin-top:20px;
  background:#25d366;
  color:#ffffff;
  box-shadow:0 14px 34px rgba(37,211,102,.25);
}

.contact-whatsapp-btn:hover{
  color:#ffffff;
  background:#20bf5a;
}

.contact-map-card{
  grid-column:1/-1;
  overflow:hidden;
}

.contact-map-frame{
  aspect-ratio:16/10;
  min-height:220px;
  background:#e5e7eb;
}

.contact-map-frame iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}

.contact-map-content{
  padding:26px 28px 28px;
}

.contact-map-link{
  margin-top:20px;
  background:#e9f3ff;
  color:#00264b;
}

.contact-map-link:hover{
  color:#00264b;
  background:#d9ecff;
}

.contact-alert{
  display:flex;
  align-items:flex-start;
  gap:12px;
  position:relative;
  margin-bottom:20px;
  border-radius:16px;
  padding:14px 48px 14px 16px;
  font-size:13px;
  line-height:1.6;
}

.contact-alert p{
  margin:0;
}

.contact-alert-success{
  background:#ecfdf5;
  color:#047857;
}

.contact-alert-error{
  background:#fef2f2;
  color:#b91c1c;
}

.contact-alert-close{
  position:absolute;
  top:10px;
  right:10px;
  width:28px;
  height:28px;
  border:0;
  border-radius:50%;
  background:rgba(4,120,87,.1);
  color:inherit;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  transition:background .2s ease,transform .2s ease;
}

.contact-alert-close:hover{
  background:rgba(4,120,87,.18);
  transform:scale(1.04);
}

@media(max-width:1100px){

  .contact-layout{
    grid-template-columns:1fr;
  }

}

@media(max-width:620px){

  .contact-info-panel{
    grid-template-columns:1fr;
  }

}

@media(max-width:768px){

  .contact-section{
    padding:50px 0 70px;
  }

  .contact-section .container{
    padding-left:14px;
    padding-right:14px;
  }

  .contact-form-card,
  .contact-info-card{
    padding:22px;
    border-radius:18px;
  }

  .contact-field-grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .contact-card-heading h2,
  .contact-info-card h2,
  .contact-map-content h2{
    font-size:24px;
  }

  .contact-submit-btn,
  .contact-whatsapp-btn,
  .contact-map-link{
    width:100%;
  }

  .contact-submit-btn{
    justify-self:stretch;
  }

  .contact-map-content{
    padding:22px;
  }

}


/* =========================================================
FAQ PAGE
========================================================= */

.faq-section{
  padding:72px 0 96px;
  background:linear-gradient(to bottom,#f8fafc,#ffffff);
}

.faq-layout{
  display:grid;
  grid-template-columns:minmax(290px,.42fr) minmax(0,.58fr);
  gap:32px;
  align-items:start;
}

.faq-summary,
.faq-list details{
  background:#ffffff;
  border:1px solid #e5e7eb;
  border-radius:24px;
  box-shadow:0 24px 70px rgba(15,23,42,.07);
}

.faq-summary{
  position:sticky;
  top:110px;
  padding:32px;
}

.faq-summary span{
  display:inline-block;
  margin-bottom:12px;
  color:#2563eb;
  font-size:12px;
  font-weight:800;
  letter-spacing:1.8px;
  text-transform:uppercase;
}

.faq-summary h2{
  margin:0;
  color:#111111;
  font-size:30px;
  line-height:1.25;
  font-weight:800;
}

.faq-summary p{
  margin:18px 0 0;
  color:#64748b;
  font-size:14px;
  line-height:1.85;
}

.faq-contact-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:50px;
  margin-top:24px;
  border-radius:999px;
  padding:0 22px;
  background:#00264b;
  color:#ffffff;
  font-size:14px;
  font-weight:800;
  box-shadow:0 14px 34px rgba(0,38,75,.2);
  transition:transform .2s ease,background .2s ease;
}

.faq-contact-link:hover{
  color:#ffffff;
  background:#063765;
  transform:translateY(-3px);
}

.faq-list{
  display:grid;
  gap:16px;
}

.faq-list-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  margin-bottom:2px;
}

.faq-list-header h3{
  margin:0;
  color:#0f172a;
  font-size:22px;
  font-weight:800;
  line-height:1.25;
}

.faq-topic-filter{
  display:grid;
  grid-template-columns:auto minmax(220px,320px);
  align-items:center;
  justify-content:end;
  gap:12px;
}

.faq-topic-filter label{
  color:#475569;
  font-size:13px;
  font-weight:800;
}

.faq-topic-select{
  width:100%;
  min-height:46px;
  padding:0 44px 0 16px;
  border:1px solid #dbe3ef;
  border-radius:14px;
  color:#0f172a;
  background:#ffffff;
  font-size:14px;
  font-weight:700;
  box-shadow:0 14px 34px rgba(15,23,42,.06);
  cursor:pointer;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}

.faq-topic-select:focus{
  border-color:#063765;
  box-shadow:0 0 0 4px rgba(6,55,101,.12);
}

.faq-topic-title{
  margin:10px 0 0;
  color:#0f172a;
  font-size:18px;
  font-weight:800;
}

.faq-empty{
  background:#ffffff;
  border:1px solid #e5e7eb;
  border-radius:24px;
  padding:28px;
  box-shadow:0 24px 70px rgba(15,23,42,.07);
}

.faq-empty h3{
  margin:0 0 8px;
  color:#0f172a;
  font-size:20px;
  font-weight:800;
}

.faq-empty p{
  margin:0;
  padding:0;
}

.faq-list details{
  overflow:hidden;
  padding:0 24px;
}

.faq-list summary{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  color:#111111;
  cursor:pointer;
  font-size:18px;
  line-height:1.35;
  font-weight:800;
  list-style:none;
}

.faq-list summary::-webkit-details-marker{
  display:none;
}

.faq-list summary::after{
  content:'+';
  width:32px;
  height:32px;
  border-radius:50%;
  background:#e9f3ff;
  color:#00264b;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  font-size:20px;
  line-height:1;
}

.faq-list details[open] summary::after{
  content:'-';
}

.faq-list p{
  margin:0;
  padding:0 0 24px;
  color:#64748b;
  font-size:14px;
  line-height:1.85;
}

@media(max-width:1100px){

  .faq-layout{
    grid-template-columns:1fr;
  }

  .faq-summary{
    position:relative;
    top:auto;
  }

}

@media(max-width:768px){

  .faq-section{
    padding:50px 0 70px;
  }

  .faq-section .container{
    padding-left:14px;
    padding-right:14px;
  }

  .faq-summary{
    padding:24px;
    border-radius:18px;
  }

  .faq-summary h2{
    font-size:24px;
  }

  .faq-contact-link{
    width:100%;
  }

  .faq-list-header{
    grid-template-columns:1fr;
    align-items:stretch;
    gap:12px;
  }

  .faq-list-header h3{
    font-size:20px;
  }

  .faq-topic-filter{
    grid-template-columns:1fr;
    justify-content:stretch;
    gap:8px;
  }

  .faq-list details{
    border-radius:18px;
    padding:0 18px;
  }

  .faq-list summary{
    min-height:68px;
    font-size:15px;
  }

  .faq-list p{
    font-size:13px;
  }

}


/* =========================================================
INFO PAGE
========================================================= */

.info-section{
  padding:72px 0 96px;
  background:linear-gradient(to bottom,#f8fafc,#ffffff);
}

.info-layout{
  display:grid;
  grid-template-columns:minmax(290px,.4fr) minmax(0,.6fr);
  gap:32px;
  align-items:start;
}

.info-summary,
.info-content article{
  background:#ffffff;
  border:1px solid #e5e7eb;
  border-radius:24px;
  box-shadow:0 24px 70px rgba(15,23,42,.07);
}

.info-summary{
  position:sticky;
  top:110px;
  padding:32px;
}

.info-summary span,
.info-content article span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#2563eb;
  font-size:12px;
  font-weight:800;
  letter-spacing:1.8px;
  text-transform:uppercase;
}

.info-summary span{
  margin-bottom:12px;
}

.info-summary h2,
.info-content article h2{
  margin:0;
  color:#111111;
  font-weight:800;
}

.info-summary h2{
  font-size:30px;
  line-height:1.25;
}

.info-summary p,
.info-content article p{
  color:#64748b;
  font-size:14px;
  line-height:1.85;
}

.info-summary p{
  margin:18px 0 0;
}

.info-action-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:50px;
  margin-top:24px;
  border-radius:999px;
  padding:0 22px;
  background:#00264b;
  color:#ffffff;
  font-size:14px;
  font-weight:800;
  box-shadow:0 14px 34px rgba(0,38,75,.2);
  transition:transform .2s ease,background .2s ease;
}

.info-action-link:hover{
  color:#ffffff;
  background:#063765;
  transform:translateY(-3px);
}

.info-content{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.info-content article{
  min-height:240px;
  padding:28px;
}

.info-content article span{
  width:38px;
  height:38px;
  margin-bottom:22px;
  border-radius:50%;
  background:#e9f3ff;
  color:#00264b;
  letter-spacing:0;
}

.info-content article h2{
  font-size:22px;
  line-height:1.28;
}

.info-content article p{
  margin:14px 0 0;
}

@media(max-width:1100px){

  .info-layout{
    grid-template-columns:1fr;
  }

  .info-summary{
    position:relative;
    top:auto;
  }

}

@media(max-width:768px){

  .info-section{
    padding:50px 0 70px;
  }

  .info-section .container{
    padding-left:14px;
    padding-right:14px;
  }

  .info-summary{
    padding:24px;
    border-radius:18px;
  }

  .info-summary h2{
    font-size:24px;
  }

  .info-action-link{
    width:100%;
  }

  .info-content{
    grid-template-columns:1fr;
  }

  .info-content article{
    min-height:0;
    padding:22px;
    border-radius:18px;
  }

  .info-content article h2{
    font-size:20px;
  }

.info-content article p{
    font-size:13px;
  }

}


/* =========================================================
PROJECT PAGE
========================================================= */

.project-page-section{
  padding:72px 0 96px;
  background:linear-gradient(to bottom,#f8fafc,#ffffff);
}

.project-filter-card{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr .9fr auto;
  gap:14px;
  align-items:end;
  margin-bottom:34px;
  padding:22px;
  border:1px solid #e5e7eb;
  border-radius:24px;
  background:#ffffff;
  box-shadow:0 20px 60px rgba(15,23,42,.06);
}

.project-filter-field{
  display:grid;
  gap:8px;
}

.project-filter-field label{
  color:#475569;
  font-size:12px;
  font-weight:800;
}

.project-filter-field input,
.project-filter-field select{
  width:100%;
  height:48px;
  border:1px solid #d8dee8;
  border-radius:14px;
  background:#ffffff;
  color:#0f172a;
  padding:0 14px;
  font:inherit;
  font-size:13px;
  outline:none;
}

.project-filter-field input:focus,
.project-filter-field select:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 4px rgba(37,99,235,.1);
}

.project-filter-actions{
  display:flex;
  gap:10px;
}

.project-filter-actions button,
.project-filter-actions a{
  height:48px;
  border:0;
  border-radius:14px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:13px;
  font-weight:800;
}

.project-filter-actions button{
  background:#00264b;
  color:#ffffff;
}

.project-filter-actions a{
  background:#e9f3ff;
  color:#00264b;
}

.project-page-topbar{
  margin-bottom:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.project-page-topbar h2{
  margin:0;
  color:#111111;
  font-size:24px;
  font-weight:800;
}

.project-page-topbar span{
  color:#64748b;
  font-size:13px;
}

.project-page-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

.project-page-card{
  overflow:hidden;
  border:1px solid #e5e7eb;
  border-radius:24px;
  background:#ffffff;
  color:#111111;
  box-shadow:0 22px 60px rgba(15,23,42,.08);
  transition:transform .25s ease,box-shadow .25s ease;
}

.project-page-card:hover{
  color:#111111;
  transform:translateY(-5px);
  box-shadow:0 30px 80px rgba(15,23,42,.12);
}

.project-page-image{
  min-height:260px;
  background:linear-gradient(135deg,#071a35,#020915);
}

.project-page-image img{
  width:100%;
  height:260px;
  object-fit:contain;
}

.project-page-content{
  padding:20px;
}

.project-page-content span{
  display:inline-flex;
  margin-bottom:10px;
  color:#2563eb;
  font-size:11px;
  font-weight:800;
  letter-spacing:1.4px;
  text-transform:uppercase;
}

.project-page-content h3{
  margin:0;
  color:#111111;
  font-size:20px;
  line-height:1.3;
  font-weight:800;
}

.project-page-content p{
  margin:8px 0 0;
  color:#64748b;
  font-size:13px;
}

.project-empty-state{
  padding:64px 24px;
  border:1px solid #e5e7eb;
  border-radius:24px;
  background:#ffffff;
  text-align:center;
  box-shadow:0 22px 60px rgba(15,23,42,.06);
}

.project-empty-state i{
  margin-bottom:16px;
  color:#c3ceda;
  font-size:48px;
}

.project-empty-state h3{
  margin:0;
  color:#111111;
  font-size:24px;
  font-weight:800;
}

.project-empty-state p{
  margin:10px auto 0;
  max-width:480px;
  color:#64748b;
  font-size:14px;
  line-height:1.8;
}

/* =========================================================
PROMOTION PAGE
========================================================= */

.promotion-section{
  padding:72px 0 96px;
  background:
    linear-gradient(180deg,#f8fbff 0%,#ffffff 48%,#f7fbff 100%);
}

.promotion-section .container{
  width:100%;
  max-width:1180px;
}

.promotion-page-topbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:28px;
}

.promotion-page-topbar h2{
  margin:0;
  color:#06264d;
  font-size:30px;
  font-weight:800;
  line-height:1.2;
}

.promotion-page-topbar span{
  max-width:360px;
  color:#64748b;
  font-size:14px;
  line-height:1.7;
  text-align:right;
}

.promotion-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:24px;
}

.promotion-card{
  display:flex;
  flex-direction:column;
  flex:0 0 260px;
  max-width:260px;
  overflow:hidden;
  border:1px solid #e5edf6;
  border-radius:8px;
  background:#ffffff;
  box-shadow:0 24px 70px rgba(15,23,42,.08);
  transition:.28s ease;
}

.promotion-card:hover{
  transform:translateY(-6px);
  box-shadow:0 34px 90px rgba(15,23,42,.13);
}

.promotion-image{
  position:relative;
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:#ffffff;
  cursor:pointer;
}

.promotion-image::after{
  display:none;
}

.promotion-image img{
  width:100%;
  aspect-ratio:2/3;
  object-fit:contain;
  background:#ffffff;
  transition:.35s ease;
}

.promotion-image span{
  display:none!important;
}

.promotion-card-body{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:16px;
}

.promotion-card-body h3,
.promotion-card-body p{
  display:none!important;
}

.promotion-card-body a,
.promotion-modal-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:0 18px;
  border-radius:999px;
  background:#06264d;
  color:#ffffff;
  font-size:13px;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  transition:.25s ease;
}

.promotion-card-body a:hover,
.promotion-modal-link:hover{
  background:#0b63ce;
  color:#ffffff;
  gap:11px;
}

.promotion-modal .project-modal-card{
  background:#06152a;
  width:min(760px,92vw);
  max-height:92vh;
  min-height:0;
}

.promotion-modal .project-modal-content{
  border-top:1px solid rgba(255,255,255,.08);
}

.promotion-modal .project-modal-stage,
.promotion-modal.single-project .project-modal-stage{
  min-height:0;
  grid-template-columns:minmax(110px,180px) minmax(320px,760px) minmax(110px,180px);
}

.promotion-modal .project-modal-image{
  background:#ffffff;
}

.promotion-modal .project-modal-image img{
  width:100%;
  height:auto;
  max-height:calc(92vh - 78px);
  aspect-ratio:2/3;
  object-fit:contain;
  background:#ffffff;
}

.promotion-modal-actions{
  display:flex;
  justify-content:center;
  padding:18px 20px;
}

.promotion-modal-link{
  margin-top:0;
  background:#ffffff;
  color:#06264d;
}

.promotion-modal-link:hover{
  background:#7cc4ff;
  color:#06152a;
}

@media(max-width:1100px){
  .promotion-grid{
    justify-content:center;
  }
}

@media(max-width:768px){
  .promotion-section{
    padding:50px 0 70px;
  }

  .promotion-section .container{
    padding-left:14px;
    padding-right:14px;
  }

  .promotion-page-topbar{
    align-items:flex-start;
    flex-direction:column;
    margin-bottom:22px;
  }

  .promotion-page-topbar h2{
    font-size:24px;
  }

  .promotion-page-topbar span{
    max-width:none;
    text-align:left;
    font-size:13px;
  }

  .promotion-modal .project-modal-stage,
  .promotion-modal.single-project .project-modal-stage{
    grid-template-columns:1fr;
    width:min(520px,100%);
  }

  .promotion-modal .project-modal-card{
    width:100%;
  }

  .promotion-modal .project-modal-image img{
    max-height:calc(86vh - 72px);
  }
}

@media(max-width:480px){
  .promotion-card{
    flex-basis:min(100%,280px);
    max-width:min(100%,280px);
  }

  .promotion-card-body{
    padding:16px;
  }
}

@media(max-width:1100px){

  .project-filter-card{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .project-filter-actions{
    grid-column:1/-1;
  }

  .project-page-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

}

@media(max-width:768px){

  .project-page-section{
    padding:50px 0 70px;
  }

  .project-page-section .container{
    padding-left:14px;
    padding-right:14px;
  }

  .project-filter-card{
    grid-template-columns:1fr;
    padding:18px;
    border-radius:18px;
  }

  .project-filter-actions{
    flex-direction:column;
  }

  .project-filter-actions button,
  .project-filter-actions a{
    width:100%;
  }

  .project-page-topbar{
    align-items:flex-start;
    flex-direction:column;
  }

  .project-page-grid{
    grid-template-columns:1fr;
  }

  .project-page-image,
  .project-page-image img{
    min-height:220px;
    height:220px;
  }

}
