.shop-page{background:#fff}.cart-nav-btn{position:relative;margin-left:4px;border:0;border-radius:8px;background:var(--purple);color:#fff;padding:10px 16px;font-weight:800;cursor:pointer}.cart-badge{position:absolute;top:-8px;right:-8px;width:23px;height:23px;border-radius:50%;background:#8b2fc0;color:#fff;display:grid;place-items:center;font-size:.75rem}.shop-hero{min-height:420px;margin:24px;border-radius:18px;background:linear-gradient(110deg,rgba(31,8,45,.92),rgba(93,29,126,.75)),url('images/products/cysteine-pro-treatment.svg') right center/contain no-repeat,#321047;display:flex;align-items:center}.shop-hero-copy{max-width:620px;color:#fff;padding:54px}.shop-hero-copy span{text-transform:uppercase;color:#e2bdf2;font-weight:800}.shop-hero-copy h1{font-family:'Playfair Display',serif;font-size:clamp(2.4rem,5vw,5rem);line-height:1;margin:12px 0;letter-spacing:0}.shop-hero-copy p{color:#f1e3f6;line-height:1.7;font-size:1.08rem}.category-strip{max-width:1380px;margin:0 auto;padding:4px 24px 26px;display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.category-strip button{border:0;background:#f1e7f6;border-radius:999px;padding:13px 10px;color:var(--ink);font-weight:800;cursor:pointer}.category-strip button:hover{background:var(--purple);color:#fff}.shop-controls-section{position:sticky;top:82px;z-index:50;background:rgba(255,255,255,.95);border-top:1px solid var(--line);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.shop-controls{max-width:1380px;margin:auto;padding:16px 24px;display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:14px}.search-box{height:48px;border:1px solid var(--line);border-radius:8px;background:#fff;display:flex;align-items:center;gap:12px;padding:0 14px}.search-box input{border:0;outline:0;font:inherit;width:100%}.search-box span{font-weight:800;color:var(--purple)}.filter-sort{display:grid;grid-template-columns:repeat(2,180px);gap:12px}.filter-sort select{height:48px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 12px;font:inherit;font-weight:700}.shop-section{max-width:1380px;margin:auto;padding:30px 24px}.products-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.product-card{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 10px 26px rgba(58,16,79,.08);transition:.25s}.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.product-img-container{height:240px;position:relative;background:#fbf8fd}.product-img{width:100%;height:100%;object-fit:contain;padding:12px}.product-badge{position:absolute;top:10px;left:10px;background:var(--purple);color:#fff;border-radius:5px;padding:4px 9px;font-size:.76rem;font-weight:800}.quick-view-btn{position:absolute;left:12px;right:12px;bottom:12px;border:0;border-radius:8px;background:rgba(58,16,79,.92);color:#fff;padding:10px;font-weight:800;cursor:pointer;opacity:0;transition:.2s}.product-card:hover .quick-view-btn{opacity:1}.product-info{padding:14px}.product-info h3{font-size:1rem;line-height:1.22;min-height:2.45em;margin:0 0 8px}.product-rating{color:#f5a400;font-size:.86rem;margin-bottom:6px}.beauty-meta{min-height:2.5em;margin:0 0 10px;color:var(--muted);font-size:.86rem;line-height:1.35}.product-prices{min-height:48px}.old-price{text-decoration:line-through;color:#8f8297;margin:0;font-size:.88rem}.price{color:var(--purple);font-weight:800;font-size:1.25rem;margin:0}.add-to-cart-btn,.checkout-btn,.place-order-btn,.next-step-btn,.prev-step-btn,.cancel-order-btn,.gallery-add-to-cart,.gallery-whatsapp-btn{border:0;border-radius:8px;background:var(--purple);color:#fff;min-height:42px;padding:10px 14px;font:inherit;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.add-to-cart-btn{width:100%;background:#461668;color:#fff;border:2px solid #461668}.add-to-cart-btn:hover{background:#fff;color:#000}.cart-overlay{position:fixed;inset:0;background:rgba(24,9,37,.46);z-index:998;display:none}.cart-overlay.active{display:block}.cart-sidebar{position:fixed;right:0;top:0;z-index:999;width:min(420px,100%);height:100vh;background:#fff;transition:transform .28s;transform:translateX(100%);display:flex;flex-direction:column;box-shadow:-18px 0 44px rgba(24,9,37,.22)}.cart-sidebar.active{transform:translateX(0)}.cart-header,.cart-summary{padding:18px;border-bottom:1px solid var(--line);background:var(--soft);display:flex;align-items:center;justify-content:space-between}.cart-summary{border-top:1px solid var(--line);border-bottom:0;display:block}.close-cart-btn,.close-gallery-btn,.close-modal-btn{border:0;background:transparent;font-size:1.8rem;cursor:pointer;color:var(--purple)}.cart-items{padding:10px;overflow:auto;flex:1}.cart-item{display:grid;grid-template-columns:78px 1fr;gap:12px;padding:12px;border-bottom:1px solid var(--line)}.cart-item-img{width:78px;height:78px;object-fit:contain;background:var(--soft);border-radius:8px}.cart-item-name{font-weight:800}.cart-item-price{color:var(--purple);font-weight:800}.cart-item-options{font-size:.84rem;color:var(--muted);margin:2px 0 8px}.cart-item-quantity{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.qty-btn,.remove-item-btn{border:1px solid var(--line);background:#fff;border-radius:6px;min-width:30px;height:30px;cursor:pointer}.summary-row{display:flex;justify-content:space-between;margin:8px 0}.summary-row.total{border-top:1px solid var(--line);padding-top:12px;font-size:1.18rem;color:var(--purple);font-weight:800}.checkout-btn{width:100%;margin-top:12px}.checkout-btn:disabled{opacity:.5;cursor:not-allowed}.gallery-modal,.checkout-modal{position:fixed;inset:0;z-index:1200;background:rgba(24,9,37,.68);display:none;align-items:center;justify-content:center;padding:18px}.gallery-modal.active,.checkout-modal.active{display:flex}.gallery-content,.checkout-content{width:min(980px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:12px;box-shadow:var(--shadow);position:relative}.gallery-content{display:grid;grid-template-columns:1fr 1fr}.close-gallery-btn{position:absolute;right:14px;top:10px}.gallery-main-image{background:var(--soft);display:grid;place-items:center;padding:28px}.gallery-main-image img{max-height:520px;object-fit:contain}.gallery-info{padding:42px 28px}.gallery-info h2{font-size:2rem;margin:0 34px 10px 0;color:var(--purple)}.gallery-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.gallery-options select{height:44px;border:1px solid var(--line);border-radius:8px;padding:0 10px;font:inherit}.gallery-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gallery-whatsapp-btn{background:#128c4a}.checkout-content{width:min(640px,100%)}.checkout-header{background:linear-gradient(135deg,var(--purple),var(--purple-2));color:#fff;padding:24px;position:relative}.checkout-header .close-modal-btn{position:absolute;right:16px;top:12px;color:#fff}.checkout-header h2{margin:0}.checkout-header p{margin:6px 0 16px;color:#eadcf2}.checkout-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.progress-step{background:rgba(255,255,255,.16);border-radius:8px;padding:8px;text-align:center;font-weight:800;font-size:.82rem}.progress-step.active{background:#fff;color:var(--purple)}.checkout-form{padding:22px}.checkout-step{display:none}.checkout-step.active{display:grid;gap:14px}.checkout-form label{display:grid;gap:6px;font-weight:800}.checkout-form input{height:44px;border:1px solid var(--line);border-radius:8px;padding:0 12px;font:inherit}.order-summary-box,.review-items-box,.review-detail-box{background:var(--soft);border-radius:8px;padding:12px}.order-item{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid rgba(58,16,79,.1)}.form-actions{display:flex;gap:12px;justify-content:flex-end}.payment-method-options{display:grid;gap:10px}.payment-method-options label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;background:var(--soft);padding:12px}.payment-method-options small{display:block;color:var(--muted)}.success-popup{position:fixed;inset:0;background:rgba(24,9,37,.68);z-index:1300;display:grid;place-items:center;padding:20px}.empty-products,.empty-cart-message{grid-column:1/-1;text-align:center;color:var(--muted);padding:32px}.admin-page .navbar-menu{margin-left:auto}
@media(max-width:980px){.shop-hero{margin:12px;min-height:340px;background-size:58%;background-position:right bottom}.shop-hero-copy{padding:34px;max-width:520px}.category-strip{grid-template-columns:repeat(4,1fr);padding:10px 12px 22px}.shop-controls{grid-template-columns:1fr}.filter-sort{grid-template-columns:1fr 1fr}.products-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.product-img-container{height:210px}.gallery-content{grid-template-columns:1fr}.gallery-main-image img{max-height:320px}}
@media(max-width:600px){.shop-hero{min-height:280px;background-size:68%;background-position:right bottom}.shop-hero-copy{padding:24px;background:linear-gradient(90deg,rgba(33,8,49,.95),rgba(33,8,49,.3))}.shop-hero-copy h1{font-size:2.15rem}.category-strip{grid-template-columns:repeat(2,1fr);gap:8px}.shop-controls-section{position:static}.shop-controls{padding:12px}.filter-sort{grid-template-columns:1fr}.shop-section{padding:20px 10px}.products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.product-img-container{height:142px}.product-info{padding:9px}.product-info h3{font-size:.82rem;min-height:2.6em}.beauty-meta{font-size:.7rem;min-height:2.8em}.product-rating{font-size:.68rem}.price{font-size:1rem}.old-price{font-size:.72rem}.add-to-cart-btn{font-size:.78rem;min-height:36px}.quick-view-btn{display:none}.cart-sidebar{width:100%;max-width:100vw}.gallery-info{padding:24px 16px}.gallery-info h2{font-size:1.35rem}.gallery-options,.gallery-actions{grid-template-columns:1fr}.checkout-form{padding:16px}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}.order-item{font-size:.82rem}.toast{top:auto;bottom:14px;left:14px;right:14px;text-align:center}}

/* ================ MOBILE SHOP REPAIR ================ */
.shop-page {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.product-info h3,
.beauty-meta,
.footer p,
.footer a,
.order-item,
.gallery-info h2 {
  overflow-wrap: anywhere;
}

@media (max-width: 720px) {
  .shop-page .navbar {
    min-height: 68px;
  }

  .shop-page .navbar-container {
    height: 68px;
    padding: 0 10px;
    gap: 8px;
  }

  .shop-page .navbar-logo {
    min-width: 0;
    flex: 1 1 auto;
    gap: 7px;
  }

  .shop-page .navbar-logo img {
    height: 44px;
    flex: 0 0 auto;
  }

  .shop-page .company-name {
    font-size: 0.78rem;
    line-height: 1.05;
    max-width: 116px;
    white-space: normal;
  }

  .shop-page .cart-nav-btn {
    min-width: 44px;
    height: 42px;
    padding: 0 10px;
    border-radius: 10px;
    flex: 0 0 auto;
  }

  .shop-page .cart-icon {
    font-size: 0;
  }

  .shop-page .cart-icon::before {
    content: "Cart";
    font-size: 0.72rem;
    line-height: 1;
  }

  .shop-page .navbar-toggle {
    width: 40px;
    height: 40px;
    padding: 7px;
    flex: 0 0 auto;
  }

  .shop-page .bar {
    width: 23px;
    height: 2px;
    margin: 5px auto;
  }

  .shop-page .navbar-menu {
    inset: 68px 0 auto auto;
    width: min(310px, 92vw);
    min-height: calc(100vh - 68px);
    padding: 14px;
    z-index: 950;
  }

  .shop-hero {
    margin: 10px;
    min-height: 236px;
    border-radius: 14px;
    background-image: linear-gradient(105deg, rgba(31,8,45,.96), rgba(68,17,92,.84));
    background-size: cover;
  }

  .shop-hero-copy {
    width: 100%;
    max-width: none;
    padding: 22px 18px;
    background: none;
  }

  .shop-hero-copy span {
    font-size: 0.72rem;
    letter-spacing: 0;
  }

  .shop-hero-copy h1 {
    font-size: 1.72rem;
    line-height: 1.04;
    margin: 8px 0;
  }

  .shop-hero-copy p {
    font-size: 0.88rem;
    line-height: 1.45;
    max-width: 31em;
  }

  .category-strip {
    display: flex;
    overflow-x: auto;
    gap: 8px;
    padding: 4px 10px 14px;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .category-strip::-webkit-scrollbar {
    display: none;
  }

  .category-strip button {
    flex: 0 0 auto;
    min-width: 104px;
    min-height: 40px;
    padding: 10px 12px;
    border-radius: 999px;
    font-size: 0.78rem;
    scroll-snap-align: start;
  }

  .shop-controls {
    padding: 10px;
    gap: 9px;
  }

  .search-box {
    height: 43px;
    padding: 0 10px;
  }

  .search-box input,
  .filter-sort select {
    font-size: 0.82rem;
  }

  .search-box span {
    font-size: 0.76rem;
  }

  .filter-sort {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .filter-sort select {
    height: 42px;
    padding: 0 8px;
    min-width: 0;
  }

  .shop-section {
    padding: 16px 8px 22px;
  }

  .shop-section .section-heading {
    padding: 0 2px;
    align-items: center;
    margin-bottom: 12px;
  }

  .shop-section .section-heading h2 {
    font-size: 1.12rem;
  }

  .shop-section .section-heading a {
    font-size: 0.8rem;
  }

  .products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .product-card {
    border-radius: 10px;
    box-shadow: 0 6px 16px rgba(58,16,79,.08);
  }

  .product-card:hover {
    transform: none;
  }

  .product-img-container {
    height: 134px;
  }

  .product-img {
    padding: 8px;
  }

  .product-badge {
    top: 7px;
    left: 7px;
    max-width: calc(100% - 14px);
    padding: 3px 7px;
    font-size: 0.62rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .quick-view-btn {
    display: none;
  }

  .product-info {
    padding: 8px;
  }

  .product-info h3 {
    min-height: 2.72em;
    margin-bottom: 5px;
    font-size: 0.78rem;
    line-height: 1.18;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .product-rating {
    margin-bottom: 4px;
    font-size: 0.66rem;
    line-height: 1.1;
  }

  .beauty-meta {
    min-height: 2.48em;
    margin-bottom: 6px;
    font-size: 0.66rem;
    line-height: 1.22;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .product-prices {
    min-height: 36px;
    margin-bottom: 6px;
  }

  .old-price {
    font-size: 0.68rem;
    line-height: 1.05;
  }

  .price {
    font-size: 0.96rem;
    line-height: 1.08;
  }

  .add-to-cart-btn {
    min-height: 34px;
    padding: 7px 6px;
    border-width: 1px;
    border-radius: 8px;
    font-size: 0.72rem;
    line-height: 1.1;
  }

  .cart-sidebar {
    width: 100vw;
    max-width: 100vw;
  }

  .cart-header,
  .cart-summary {
    padding: 14px;
  }

  .cart-item {
    grid-template-columns: 64px 1fr;
    gap: 9px;
    padding: 10px 6px;
  }

  .cart-item-img {
    width: 64px;
    height: 64px;
  }

  .cart-item-name,
  .cart-item-price,
  .cart-item-options {
    font-size: 0.78rem;
  }

  .qty-btn,
  .remove-item-btn {
    height: 28px;
    min-width: 28px;
    font-size: 0.74rem;
  }

  .gallery-modal,
  .checkout-modal {
    align-items: flex-start;
    padding: 8px;
    overflow-y: auto;
  }

  .gallery-content,
  .checkout-content {
    width: 100%;
    max-height: none;
    margin: 8px 0 16px;
    border-radius: 12px;
  }

  .gallery-main-image {
    padding: 18px;
  }

  .gallery-main-image img {
    max-height: 240px;
  }

  .gallery-info {
    padding: 18px 14px 16px;
  }

  .gallery-info h2 {
    margin-right: 34px;
    font-size: 1.2rem;
    line-height: 1.12;
  }

  .checkout-header {
    padding: 18px 14px;
  }

  .checkout-header h2 {
    font-size: 1.2rem;
  }

  .checkout-header p {
    font-size: 0.82rem;
    padding-right: 26px;
  }

  .checkout-progress {
    gap: 5px;
  }

  .progress-step {
    padding: 7px 4px;
    font-size: 0.68rem;
    white-space: nowrap;
  }

  .checkout-form {
    padding: 14px;
  }

  .checkout-step {
    gap: 10px;
  }

  .checkout-step h3 {
    margin: 0;
    font-size: 1rem;
  }

  .checkout-form input,
  .gallery-options select {
    height: 42px;
    font-size: 0.86rem;
  }

  .payment-method-options label {
    padding: 10px;
  }

  .payment-method-options strong {
    font-size: 0.84rem;
  }

  .payment-method-options small,
  .payment-method-note {
    font-size: 0.72rem;
  }

  .footer {
    margin-top: 20px;
  }

  .footer-container {
    padding: 24px 14px;
    gap: 18px;
  }

  .footer-logo {
    height: 60px;
  }
}

@media (max-width: 374px) {
  .shop-page .company-name {
    max-width: 92px;
    font-size: 0.72rem;
  }

  .shop-page .cart-nav-btn {
    min-width: 39px;
    padding: 0 7px;
  }

  .products-grid {
    gap: 7px;
  }

  .product-img-container {
    height: 118px;
  }

  .product-info {
    padding: 7px;
  }

  .product-info h3 {
    font-size: 0.72rem;
  }

  .beauty-meta,
  .product-rating {
    font-size: 0.61rem;
  }

  .add-to-cart-btn {
    font-size: 0.68rem;
  }
}
/* Products submenu hover color */
.shop-page .products-dropdown{background:#fff}.shop-page .products-dropdown a:hover,.shop-page .products-dropdown a:focus,.shop-page .products-dropdown a.active{background:#5b247a;color:#fff;border-bottom:0}.shop-page .navbar-menu .products-toggle.active,.shop-page .navbar-menu .products-toggle:hover,.shop-page .navbar-menu .products-toggle[aria-expanded="true"]{color:#fff;border-bottom-color:#fff}
@media(max-width:980px){.shop-page .has-dropdown:hover .products-dropdown{display:none}.shop-page .has-dropdown.open .products-dropdown{display:grid}.shop-page .products-dropdown{background:#fff}.shop-page .products-dropdown a{color:var(--ink)}}
/* Mobile and tablet cart drawer partial width */
@media(max-width:980px){.cart-sidebar{width:62vw;min-width:240px;max-width:420px}}
@media(max-width:374px){.cart-sidebar{width:68vw;min-width:0;max-width:68vw}.cart-header,.cart-summary{padding:14px}.cart-header h2{font-size:1.3rem}}
/* Preserve stacked logo wordmark on shop pages */
.shop-page .navbar-logo .logo-wordmark{display:flex;max-width:none;font-size:inherit;line-height:.86;color:#fff}
.shop-page .navbar-logo .logo-word-small{font-size:.74rem;line-height:1.05;letter-spacing:.24em}
.shop-page .navbar-logo .logo-word-main{font-size:2rem;line-height:.9}
@media(max-width:1180px){.shop-page .navbar-logo .logo-word-main{font-size:1.62rem}.shop-page .navbar-logo .logo-word-small{font-size:.62rem;letter-spacing:.18em}}
@media(max-width:980px){.shop-page .navbar-logo .logo-word-main{font-size:1.45rem}.shop-page .navbar-logo .logo-word-small{font-size:.55rem;letter-spacing:.16em}}
@media(max-width:600px){.shop-page .navbar-logo .logo-word-main{font-size:1.12rem}.shop-page .navbar-logo .logo-word-small{font-size:.46rem;letter-spacing:.12em}}
@media(max-width:420px){.shop-page .navbar-logo .logo-wordmark{display:none}}

/* Logo spacing refinement */
.shop-page .navbar-logo .logo-word-small{font-family:Jost,Arial,sans-serif;font-size:.74rem;line-height:1.05;letter-spacing:.24em;font-weight:800;color:#fff}
.shop-page .navbar-logo .logo-word-main{margin-bottom:.22em}
.shop-page .navbar-logo .logo-word-small:last-child{font-size:.74rem;letter-spacing:.24em;margin-top:.18em}
@media(max-width:1180px){.shop-page .navbar-logo .logo-word-small,.shop-page .navbar-logo .logo-word-small:last-child{font-size:.62rem;letter-spacing:.18em}}
@media(max-width:980px){.shop-page .navbar-logo .logo-word-small,.shop-page .navbar-logo .logo-word-small:last-child{font-size:.55rem;letter-spacing:.16em}}
@media(max-width:600px){.shop-page .navbar-logo .logo-word-small,.shop-page .navbar-logo .logo-word-small:last-child{font-size:.46rem;letter-spacing:.12em}.shop-page .navbar-logo .logo-word-main{margin-bottom:.16em}}

/* Logo wordmark 2x size */
.navbar-logo .logo-word-small,
.shop-page .navbar-logo .logo-word-small{font-size:1.48rem;letter-spacing:.24em}
.navbar-logo .logo-word-main,
.shop-page .navbar-logo .logo-word-main{font-size:4rem;margin-bottom:.22em}
.navbar-logo .logo-word-small:last-child,
.shop-page .navbar-logo .logo-word-small:last-child{font-size:1.48rem;letter-spacing:.24em;margin-top:.18em}
@media(max-width:1180px){.navbar-logo .logo-word-small,.shop-page .navbar-logo .logo-word-small,.navbar-logo .logo-word-small:last-child,.shop-page .navbar-logo .logo-word-small:last-child{font-size:1.24rem;letter-spacing:.18em}.navbar-logo .logo-word-main,.shop-page .navbar-logo .logo-word-main{font-size:3.24rem}}
@media(max-width:980px){.navbar-logo .logo-word-small,.shop-page .navbar-logo .logo-word-small,.navbar-logo .logo-word-small:last-child,.shop-page .navbar-logo .logo-word-small:last-child{font-size:1.1rem;letter-spacing:.16em}.navbar-logo .logo-word-main,.shop-page .navbar-logo .logo-word-main{font-size:2.9rem}}
@media(max-width:600px){.navbar-logo .logo-word-small,.shop-page .navbar-logo .logo-word-small,.navbar-logo .logo-word-small:last-child,.shop-page .navbar-logo .logo-word-small:last-child{font-size:.92rem;letter-spacing:.12em}.navbar-logo .logo-word-main,.shop-page .navbar-logo .logo-word-main{font-size:2.24rem;margin-bottom:.16em}}

/* Logo wordmark slight size reduction */
.navbar-logo .logo-word-small,
.shop-page .navbar-logo .logo-word-small,
.navbar-logo .logo-word-small:last-child,
.shop-page .navbar-logo .logo-word-small:last-child{font-size:calc(1.48rem - 1px)}
.navbar-logo .logo-word-main,
.shop-page .navbar-logo .logo-word-main{font-size:calc(4rem - 1px)}
@media(max-width:1180px){.navbar-logo .logo-word-small,.shop-page .navbar-logo .logo-word-small,.navbar-logo .logo-word-small:last-child,.shop-page .navbar-logo .logo-word-small:last-child{font-size:calc(1.24rem - 1px)}.navbar-logo .logo-word-main,.shop-page .navbar-logo .logo-word-main{font-size:calc(3.24rem - 1px)}}
@media(max-width:980px){.navbar-logo .logo-word-small,.shop-page .navbar-logo .logo-word-small,.navbar-logo .logo-word-small:last-child,.shop-page .navbar-logo .logo-word-small:last-child{font-size:calc(1.1rem - 1px)}.navbar-logo .logo-word-main,.shop-page .navbar-logo .logo-word-main{font-size:calc(2.9rem - 1px)}}
@media(max-width:600px){.navbar-logo .logo-word-small,.shop-page .navbar-logo .logo-word-small,.navbar-logo .logo-word-small:last-child,.shop-page .navbar-logo .logo-word-small:last-child{font-size:calc(.92rem - .5px)}.navbar-logo .logo-word-main,.shop-page .navbar-logo .logo-word-main{font-size:calc(2.24rem - .5px)}}

/* Logo wordmark scale correction: desktop 1x, mobile 1.5x */
.navbar-logo .logo-word-small,
.shop-page .navbar-logo .logo-word-small,
.navbar-logo .logo-word-small:last-child,
.shop-page .navbar-logo .logo-word-small:last-child{font-size:.74rem;letter-spacing:.24em}
.navbar-logo .logo-word-main,
.shop-page .navbar-logo .logo-word-main{font-size:2rem;margin-bottom:.22em}
@media(max-width:1180px){.navbar-logo .logo-word-small,.shop-page .navbar-logo .logo-word-small,.navbar-logo .logo-word-small:last-child,.shop-page .navbar-logo .logo-word-small:last-child{font-size:.62rem;letter-spacing:.18em}.navbar-logo .logo-word-main,.shop-page .navbar-logo .logo-word-main{font-size:1.62rem}}
@media(max-width:980px){.navbar-logo .logo-word-small,.shop-page .navbar-logo .logo-word-small,.navbar-logo .logo-word-small:last-child,.shop-page .navbar-logo .logo-word-small:last-child{font-size:.55rem;letter-spacing:.16em}.navbar-logo .logo-word-main,.shop-page .navbar-logo .logo-word-main{font-size:1.45rem}}
@media(max-width:600px){.navbar-logo .logo-word-small,.shop-page .navbar-logo .logo-word-small,.navbar-logo .logo-word-small:last-child,.shop-page .navbar-logo .logo-word-small:last-child{font-size:.69rem;letter-spacing:.12em}.navbar-logo .logo-word-main,.shop-page .navbar-logo .logo-word-main{font-size:1.68rem;margin-bottom:.16em}}

/* Cart icon replacement */
.header-icon-btn.cart-nav-btn::before,
.cart-nav-btn .cart-icon::before{content:"";display:block;width:31px;height:31px;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23fff' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 13h8l7 29h28l6-20H22'/%3E%3Cpath d='M25 48h25'/%3E%3Ccircle cx='27' cy='53' r='5' fill='%23fff'/%3E%3Ccircle cx='49' cy='53' r='5' fill='%23fff'/%3E%3C/svg%3E") center/contain no-repeat;border:0;border-radius:0;box-shadow:none;transform:none}
.header-icon-btn.cart-nav-btn::after{display:none;content:none}
.cart-nav-btn .cart-icon{font-size:0;line-height:0;color:transparent;display:grid;place-items:center;width:31px;height:31px}
@media(max-width:600px){.header-icon-btn.cart-nav-btn::before,.cart-nav-btn .cart-icon::before{width:28px;height:28px}.cart-nav-btn .cart-icon{width:28px;height:28px}}

/* Mobile category strip: show all categories with wrapping rows */
@media(max-width:980px){
  .shop-page .category-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:7px;padding:10px 10px 18px;overflow:visible}
  .shop-page .category-strip button{min-height:34px;padding:8px 6px;font-size:.72rem;line-height:1.08;white-space:normal;text-align:center;border-radius:999px}
}
@media(max-width:600px){
  .shop-page .category-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px 8px 16px}
  .shop-page .category-strip button{min-height:32px;padding:7px 4px;font-size:.61rem;line-height:1.05;overflow-wrap:anywhere}
}
@media(max-width:380px){
  .shop-page .category-strip button{font-size:.56rem;padding-inline:3px}
}

/* Full-width shop hero video background */
.shop-hero{position:relative;width:100%;max-width:none;min-height:520px;margin:0;border-radius:0;overflow:hidden;background:#07020f;display:flex;align-items:center}
.shop-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:none;z-index:0;background:#07020f}
.shop-hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,2,15,.78) 0%,rgba(23,7,32,.5) 46%,rgba(7,2,15,.24) 100%);pointer-events:none}
.shop-hero-copy{position:relative;z-index:2;background:none;text-shadow:0 4px 18px rgba(0,0,0,.45)}
@media(max-width:980px){.shop-hero{width:100%;min-height:420px;margin:0;border-radius:0;background:#07020f}.shop-hero-copy{background:none}}
@media(max-width:600px){.shop-hero{min-height:340px;margin:0;border-radius:0;background:#07020f}.shop-hero-copy{background:none;padding:28px 20px}.shop-hero:after{background:linear-gradient(90deg,rgba(7,2,15,.82) 0%,rgba(23,7,32,.54) 58%,rgba(7,2,15,.22) 100%)}}
/* Compact shop hero video copy */
.shop-hero-copy{max-width:470px;padding:42px 54px}
.shop-hero-copy span{font-size:.78rem;letter-spacing:.03em}
.shop-hero-copy h1{font-size:clamp(1.8rem,3.4vw,3.2rem);line-height:1.02;margin:10px 0 12px}
.shop-hero-copy p{max-width:38ch;font-size:.88rem;line-height:1.45;margin:0}
@media(max-width:980px){.shop-hero-copy{max-width:430px;padding:34px}.shop-hero-copy h1{font-size:clamp(1.65rem,5vw,2.45rem)}.shop-hero-copy p{max-width:36ch}}
@media(max-width:600px){.shop-hero-copy{max-width:340px;padding:24px 20px}.shop-hero-copy span{font-size:.68rem}.shop-hero-copy h1{font-size:1.45rem}.shop-hero-copy p{max-width:32ch;font-size:.78rem;line-height:1.42}}
/* Hide shop hero text on mobile only */
@media(max-width:600px){.shop-hero-copy{display:none}}
/* Final mobile cart override for shop page */
@media(max-width:700px){
  .cart-sidebar{width:85vw;max-width:85vw;min-width:0;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
  .cart-header{flex:0 0 auto;min-height:64px;padding:14px;position:relative;z-index:2}
  .cart-header h2{margin:0;font-size:1.2rem}
  .close-cart-btn{flex:0 0 auto;min-width:42px;min-height:42px}
  .cart-items{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:8px}
  .cart-summary{flex:0 0 auto;position:relative;z-index:2;padding:14px max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:#fff;box-shadow:0 -12px 24px rgba(24,9,37,.08)}
  .cart-summary .checkout-btn{width:100%;max-width:none;min-height:46px;margin-top:10px}
  .cart-item{grid-template-columns:62px minmax(0,1fr);gap:10px;padding:10px 6px}
  .cart-item-img{width:62px;height:62px}
  .cart-item-name,.cart-item-options{overflow-wrap:anywhere}
}

/* Product image opens quick view */
.product-img-container[data-name]{cursor:pointer;outline:0}
.product-img-container[data-name]:focus-visible{box-shadow:inset 0 0 0 3px var(--purple-3)}
.product-img-container[data-name]:active .product-img{transform:scale(.98)}
.product-img{transition:transform .2s ease}
.product-card:hover .product-img-container[data-name] .product-img{transform:scale(1.03)}
.quick-view-btn{display:none!important}

/* Keep the first 100 short-description characters visible and make the remainder scrollable. */
.product-description{display:block!important;min-height:0!important;overflow:visible!important;overflow-wrap:anywhere}
.product-description-first{display:block}
.product-description-more{display:block;max-height:5.2em;margin-top:5px;padding-right:5px;overflow-y:auto;overscroll-behavior:contain}
.product-description-more::-webkit-scrollbar{width:4px}
.product-description-more::-webkit-scrollbar-thumb{background:#cdb9d8;border-radius:999px}
@media(max-width:600px){
  .product-description{font-size:.66rem!important;line-height:1.22!important}
  .product-description-more{max-height:5em}
}

/* Mobile product gallery popup refinement */
.product-rating,.gallery-rating{display:flex;align-items:center;gap:7px}
.rating-stars{display:inline-flex;letter-spacing:1px;line-height:1;font-size:1rem}
.rating-star{display:inline-block;background:linear-gradient(90deg,#f5a400 0 var(--star-fill),#d8cfe0 var(--star-fill) 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.rating-number{color:#6c6074;font-size:.78rem;font-weight:700}
@media(max-width:600px){.rating-stars{font-size:.82rem;letter-spacing:0}.rating-number{font-size:.66rem}}
@media(max-width:700px){
  .gallery-modal{
    padding:10px!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .gallery-content{
    width:min(94vw,430px)!important;
    max-height:calc(100dvh - 20px)!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    overflow:hidden!important;
    border-radius:10px!important;
  }
  .close-gallery-btn{
    right:8px!important;
    top:6px!important;
    width:36px!important;
    height:36px!important;
    font-size:1.55rem!important;
    line-height:1!important;
    z-index:4!important;
    background:rgba(255,255,255,.92)!important;
    border-radius:50%!important;
  }
  .gallery-main-image{
    min-height:190px!important;
    max-height:34dvh!important;
    padding:18px 42px 12px 18px!important;
    overflow:hidden!important;
  }
  .gallery-main-image img{
    width:100%!important;
    max-height:30dvh!important;
    object-fit:contain!important;
  }
  .gallery-info{
    min-height:0!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:16px 14px 14px!important;
  }
  .gallery-info h2{
    margin:0 30px 8px 0!important;
    font-size:1.16rem!important;
    line-height:1.18!important;
    overflow-wrap:anywhere!important;
  }
  .gallery-info .price,
  #galleryPrice .price{
    font-size:1.05rem!important;
  }
  .gallery-rating,
  .gallery-info p,
  .gallery-option-reminder{
    font-size:.82rem!important;
    line-height:1.45!important;
  }
  .gallery-options{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin:12px 0!important;
  }
  .gallery-options select{
    min-width:0!important;
    height:38px!important;
    padding:0 8px!important;
    font-size:.78rem!important;
  }
  .gallery-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    align-items:center!important;
    position:sticky!important;
    bottom:0!important;
    background:#fff!important;
    padding-top:10px!important;
  }
  .gallery-add-to-cart,
  .gallery-whatsapp-btn{
    width:100%!important;
    min-height:38px!important;
    padding:8px 10px!important;
    border-radius:7px!important;
    font-size:.78rem!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }
}
@media(max-width:380px){
  .gallery-content{width:96vw!important;max-height:calc(100dvh - 14px)!important}
  .gallery-main-image{min-height:165px!important;max-height:30dvh!important;padding:14px 40px 10px 14px!important}
  .gallery-main-image img{max-height:26dvh!important}
  .gallery-info{padding:13px 12px 12px!important}
  .gallery-info h2{font-size:1.02rem!important}
  .gallery-options{grid-template-columns:1fr!important}
  .gallery-add-to-cart,.gallery-whatsapp-btn{font-size:.72rem!important;padding:7px 6px!important}
}

/* Cart close button always visible when drawer opens */
.cart-sidebar.active .cart-header{
  position:relative!important;
  z-index:5!important;
  flex:0 0 auto!important;
}
.cart-sidebar.active .close-cart-btn{
  display:inline-grid!important;
  place-items:center!important;
  visibility:visible!important;
  opacity:1!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  border:1px solid rgba(91,36,122,.18)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:var(--purple)!important;
  font-size:1.65rem!important;
  line-height:1!important;
  font-weight:700!important;
  position:relative!important;
  z-index:6!important;
  box-shadow:0 8px 18px rgba(24,9,37,.12)!important;
}
@media(max-width:700px){
  .cart-sidebar.active .cart-header{
    position:sticky!important;
    top:0!important;
    background:var(--soft)!important;
  }
  .cart-sidebar.active .close-cart-btn{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    font-size:1.75rem!important;
  }
}

/* Mobile cart drawer behavior only: visible close button, scrollable items */
@media(max-width:700px){
  .cart-sidebar{
    height:100vh!important;
    height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  .cart-sidebar.active{
    transform:translateX(0)!important;
  }
  .cart-header{
    flex:0 0 auto!important;
    position:sticky!important;
    top:0!important;
    z-index:10!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
  }
  .cart-header h2{
    font-size:revert!important;
  }
  .close-cart-btn{
    display:inline-grid!important;
    place-items:center!important;
    visibility:visible!important;
    opacity:1!important;
    flex:0 0 auto!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    padding:0!important;
    border:1px solid rgba(91,36,122,.18)!important;
    border-radius:50%!important;
    background:#fff!important;
    color:var(--purple)!important;
    line-height:1!important;
    position:relative!important;
    z-index:11!important;
  }
  .cart-items{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .cart-summary{
    flex:0 0 auto!important;
    position:relative!important;
    z-index:9!important;
  }
}

/* Cart drawer must open above header/navbar */
.cart-overlay.active{
  z-index:4998!important;
}
.cart-sidebar{
  z-index:4999!important;
}
.cart-sidebar.active{
  z-index:4999!important;
}
.cart-sidebar.active .cart-header{
  z-index:5001!important;
}
.cart-sidebar.active .close-cart-btn{
  z-index:5002!important;
}
@media(max-width:700px){
  .cart-overlay.active{
    z-index:4998!important;
  }
  .cart-sidebar,
  .cart-sidebar.active{
    top:0!important;
    z-index:4999!important;
  }
}

/* Mobile navbar logo/name spacing refinement */
@media(max-width:700px){
  .navbar-logo{
    gap:3px!important;
  }
  .navbar-logo img{
    margin-right:0!important;
  }
  .navbar-logo .company-name,
  .navbar-logo .logo-wordmark{
    max-width:150px!important;
  }
  .navbar-logo .logo-word-small,
  .navbar-logo .logo-word-small:last-child{
    font-size:.58rem!important;
    letter-spacing:.09em!important;
  }
  .navbar-logo .logo-word-main{
    font-size:1.34rem!important;
  }
}
@media(max-width:380px){
  .navbar-logo{
    gap:2px!important;
  }
  .navbar-logo .company-name,
  .navbar-logo .logo-wordmark{
    max-width:130px!important;
  }
  .navbar-logo .logo-word-small,
  .navbar-logo .logo-word-small:last-child{
    font-size:.52rem!important;
    letter-spacing:.07em!important;
  }
  .navbar-logo .logo-word-main{
    font-size:1.18rem!important;
  }
}

/* Mobile navbar logo/name gap only */
@media(max-width:700px){
  .navbar-logo .company-name,
  .navbar-logo .logo-wordmark{
    margin-left:-18px!important;
  }
}
@media(max-width:380px){
  .navbar-logo .company-name,
  .navbar-logo .logo-wordmark{
    margin-left:-14px!important;
  }
}

/* Mobile logo clarity and company text +2px only */
@media(max-width:700px){
  .navbar-logo img{
    width:54px!important;
    height:54px!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .navbar-logo .logo-word-small,
  .navbar-logo .logo-word-small:last-child{
    font-size:calc(.58rem + 2px)!important;
  }
  .navbar-logo .logo-word-main{
    font-size:calc(1.34rem + 2px)!important;
  }
}
@media(max-width:380px){
  .navbar-logo img{
    width:50px!important;
    height:50px!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .navbar-logo .logo-word-small,
  .navbar-logo .logo-word-small:last-child{
    font-size:calc(.52rem + 2px)!important;
  }
  .navbar-logo .logo-word-main{
    font-size:calc(1.18rem + 2px)!important;
  }
}

/* Mobile navbar logo image size only */
@media(max-width:700px){
  .navbar-logo img{
    width:61px!important;
    height:61px!important;
    object-fit:contain!important;
    object-position:center!important;
  }
}
@media(max-width:380px){
  .navbar-logo img{
    width:56px!important;
    height:56px!important;
    object-fit:contain!important;
    object-position:center!important;
  }
}

.card-coming-soon-notice{position:fixed;z-index:1500;top:22px;left:50%;width:min(350px,calc(100% - 32px));transform:translateX(-50%);display:grid;gap:5px;padding:12px 14px;border:1px solid #d82424;border-radius:6px;background:#ffdede;color:#111;box-shadow:0 12px 28px rgba(80,10,10,.24);font-size:.84rem;line-height:1.4}.card-coming-soon-notice strong{color:#111;font-size:.92rem}.card-coming-soon-notice span{color:#111}
@media (max-width:700px){.shop-page .checkout-modal{z-index:6000!important}.shop-page .checkout-modal .checkout-content{position:relative;z-index:6001}}
@media (max-width:700px){.shop-page .card-coming-soon-notice{top:8px!important;z-index:7000!important}}
