/* Responsive Polish - device-wide UI/UX optimisation layer */

/* Base safety */
html,body{overflow-x:hidden;-webkit-text-size-adjust:100%}
img,video,svg{max-width:100%;height:auto}
.container,.container-xl,.container-xxl{padding-left:16px;padding-right:16px}

/* Section rhythm */
.section{padding:72px 0}
.section-sm{padding:48px 0}

/* Tablet */
@media (max-width:991.98px){
  .section{padding:56px 0}
  .section-sm{padding:36px 0}
  .section-title{font-size:1.7rem;line-height:1.25}
  .section-subtitle{font-size:.95rem}
  h1{font-size:clamp(1.7rem,4vw,2.4rem)}
  h2{font-size:clamp(1.4rem,3vw,2rem)}
  h3{font-size:clamp(1.2rem,2.5vw,1.6rem)}
  .hero .hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-card-wrap{margin-top:2rem}
  .pkg-card{padding:28px 22px}
  /* Dashboard becomes single column */
  .dash-shell{grid-template-columns:1fr!important}
  .dash-sidebar{position:fixed;left:-280px;top:0;bottom:0;width:260px;z-index:1055;transition:left .25s ease}
  .dash-sidebar.is-open{left:0;box-shadow:0 18px 48px rgba(0,0,0,.25)}
  .dash-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1054;display:none}
  .dash-backdrop.is-open{display:block}
}

/* Mobile */
@media (max-width:767.98px){
  .section{padding:44px 0}
  .section-sm{padding:32px 0}
  .container,.container-xl,.container-xxl{padding-left:14px;padding-right:14px}
  .section-title{font-size:1.4rem;margin-bottom:.4rem}
  .section-subtitle{font-size:.88rem;margin-bottom:1.2rem}
  .btn{font-size:.9rem}
  .btn-lg{padding:.7rem 1.1rem;font-size:.95rem;border-radius:10px}
  .btn-group-stack .btn{width:100%}
  .hero .hero-stats{gap:.45rem}
  .hero .hero-stats .hs-item{padding:.6rem .3rem;border-radius:12px}
  .hero .hero-stats .hs-item h3{font-size:1.1rem}
  .hero .hero-stats .hs-item small{font-size:.65rem}
  .verify-card{padding:18px 14px;border-radius:14px}
  .card-input-group{flex-wrap:wrap}
  .card-prefix{font-size:.85rem;padding:.5rem .55rem}
  .counter-band .row>*{padding-top:.5rem;padding-bottom:.5rem}
  .app-show{padding:28px 20px;border-radius:18px;text-align:center}
  .app-show .app-stores{justify-content:center}
  .app-show .app-phone{margin-top:1.5rem;max-width:200px}
  footer .footer-inner{text-align:left}
  footer h6{margin-top:1.2rem;font-size:.95rem}
  footer .footer-links a{font-size:.85rem}
  .t-card,.blog-card{padding:18px}
  .fab-stack{right:14px!important;bottom:14px!important}

  /* Header tightening */
  .l-header .logo img{height:32px}
  .l-header .topbar{display:none}

  /* Ecommerce: product grids */
  .product-grid,.pcard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .pcard .pc-body{padding:10px}
  .pcard .pc-title{font-size:.85rem;line-height:1.25}
  .pcard .pc-price{font-size:.95rem}

  /* Cart / Checkout: stack columns */
  .checkout-grid,.cart-grid{grid-template-columns:1fr!important}
  .cart-row{flex-wrap:wrap}
  .cart-row .qty{margin-top:.5rem}
  .order-summary{position:static!important;margin-top:1rem}
  .step-tracker{overflow-x:auto;flex-wrap:nowrap}
  .step-tracker .step{min-width:120px}

  /* Mini cart full width */
  .mini-cart{width:100vw!important;max-width:100vw!important}

  /* Tables → scroll */
  .table-responsive-sm{overflow-x:auto}
  table{min-width:520px}

  /* Dashboard widgets */
  .dash-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .dash-stat-card{padding:14px}
  .dash-stat-card h3{font-size:1.1rem}
  .dash-app-topbar .search{display:none}
}

/* Small mobile */
@media (max-width:479.98px){
  .section-title{font-size:1.25rem}
  .container,.container-xl,.container-xxl{padding-left:12px;padding-right:12px}
  .btn-lg{padding:.6rem 1rem;font-size:.9rem}
  .pkg-card{padding:22px 18px;border-radius:14px}
  .pkg-card h3{font-size:1.05rem}
  .pkg-price{font-size:1.8rem}
  .verify-card{padding:14px 12px}
  .card-prefix{font-size:.78rem}
  .hero h1{font-size:1.55rem;line-height:1.3}
  .hero .lead,.hero p.lead{font-size:.9rem}
  .cta-pro,.cta-section{padding:28px 18px!important;border-radius:16px}
  .cta-pro h2{font-size:1.3rem}
  .dash-stat-grid{grid-template-columns:1fr!important}
}

/* Word-break safety for Bangla content */
.section-title,.section-subtitle,.pkg-card,.feature-card,.qs-card,.t-card,.blog-card{
  word-break:break-word;overflow-wrap:break-word;hyphens:auto;
}

/* Header / overlay layering */
.l-header,.l-header *{z-index:auto}
.l-header{z-index:1040}
.offcanvas,.modal,.swal2-container{z-index:1060}

/* Media containment */
.pcard .pc-media,.feature-card,.qs-card{overflow:hidden}

/* Tap targets */
@media (max-width:767.98px){
  a,button,.btn,.qs-card,.feature-card{min-height:38px}
  .form-control,.form-select{min-height:44px;font-size:16px} /* prevent iOS zoom */
}

/* Focus visibility */
a:focus-visible,button:focus-visible,.btn:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--lp-primary,#001D45);outline-offset:2px;border-radius:6px;
}

/* Sticky scroll offset */
:target{scroll-margin-top:90px}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}

/* Print */
@media print{
  .l-header,.l-footer,.fab-stack,.offcanvas,.mini-cart{display:none!important}
  .section{padding:20px 0!important}
}

/* Cinematic luxury hero title */
.hero-title-wrap{position:relative;display:inline-block;padding:8px 0 4px}
.hero-flare{display:none}
.hero-title-cinematic{position:relative;z-index:1;display:flex;flex-direction:column;gap:.15em;color:#fff;font-weight:800;line-height:1.1;letter-spacing:-.01em;font-size:clamp(2rem,5.4vw,4.6rem);margin:0}
.htc-line{display:block;opacity:0;transform:translateY(-24px);animation:htcDown .9s cubic-bezier(.16,1,.3,1) forwards}
.htc-line-2{display:flex;flex-wrap:wrap;align-items:center;gap:.35em;transform:translateY(24px);animation:htcUp 1s cubic-bezier(.16,1,.3,1) .25s forwards}
.htc-soft{font-weight:500;opacity:.92;color:#fff}
.htc-gold-wrap{position:relative;display:inline-block}
.htc-gold{background:linear-gradient(180deg,#E5D298 0%,#C9A84C 55%,#9A7D2E 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 10px rgba(201,168,76,.22));font-weight:800}
.htc-gold-underline{position:absolute;left:0;right:0;bottom:-6px;height:5px;border-radius:999px;background:linear-gradient(90deg,transparent,#C9A84C,transparent);opacity:0;transform:scaleX(.4);transform-origin:center;animation:htcLine 1s ease-out .95s forwards}
.hero-accent-row{margin-top:1.25rem;display:flex;align-items:center;gap:14px;opacity:0;animation:htcFade .9s ease .7s forwards}
.hac-line{height:1px;width:88px;background:linear-gradient(90deg,transparent,#C9A84C)}
.hac-line-r{background:linear-gradient(270deg,transparent,#C9A84C)}
.hac-diamond{width:10px;height:10px;transform:rotate(45deg);border:2px solid #C9A84C;background:#001D45}
@keyframes htcDown{to{opacity:1;transform:translateY(0)}}
@keyframes htcUp{to{opacity:1;transform:translateY(0)}}
@keyframes htcLine{to{opacity:.65;transform:scaleX(1)}}
@keyframes htcFade{to{opacity:1}}
@media (max-width:767.98px){
  .hero-flare{display:none}
  .hac-line{width:48px}
  .hero-accent-row{margin-top:.85rem;gap:10px}
}
@media (prefers-reduced-motion:reduce){
  .htc-line,.htc-line-2,.htc-gold-underline,.hero-accent-row{opacity:1;transform:none;animation:none}
}
