  :root {
        --bg: #f3f5f8;
        --panel: #ffffff;
        --ink: #13253a;
        --muted: #63788f;
        --line: #d9e1eb;
        --brand: #0d3b66;
        --brand-2: #f4b400;
        --ok: #1e7a41;
      }

      body {
        background: var(--bg);
      }

      .shop-header-cart {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        margin-right: 10px;
        border-radius: 999px;
        background: #ffffff1f;
        color: #fff;
        border: 1px solid #ffffff4a;
      }

      .shop-header-cart:hover {
        color: #fff;
        background: #ffffff33;
      }

      .shop-header-cart-count {
        position: absolute;
        top: -4px;
        right: -5px;
        min-width: 18px;
        height: 18px;
        padding: 0 4px;
        border-radius: 999px;
        background: #f97316;
        color: #fff;
        font-size: 11px;
        line-height: 18px;
        text-align: center;
        font-weight: 700;
      }

      .shop-hero {
        background:
          radial-gradient(circle at right top, #f4b40033 0%, transparent 40%),
          linear-gradient(115deg, #0d2947 0%, #113e67 55%, #1a4d78 100%);
        color: #fff;
        padding: 150px 0 150px;
      }

      .shop-hero h1 {
        margin: 0 0 10px;
        font-size: clamp(1.65rem, 2.4vw, 2.5rem);
        line-height: 1.1;
      }

      .shop-hero p {
        margin: 0;
        max-width: 700px;
        font-size: 0.95rem;
        color: #d7e5f4;
      }

      .shop-main {
        padding: 18px 0 28px;
      }

      .shop-filter-wrap {
        background: #fff;
        border: 1px solid #dbe5f1;
        border-radius: 12px;
        padding: 12px;
        margin-bottom: 12px;
      }

      .shop-filter-head {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 8px;
        flex-wrap: wrap;
      }

      .shop-filter-head h2 {
        margin: 0;
        font-size: 1rem;
        color: #13253a;
      }

      .shop-filter-head p {
        margin: 0;
        font-size: 0.84rem;
        color: #546577;
      }

      .shop-filter-label {
        display: block;
        margin: 8px 0 4px;
        font-size: 0.75rem;
        font-weight: 700;
        color: #4f5f73;
        text-transform: uppercase;
        letter-spacing: 0.03em;
      }

      .shop-filter-select {
        width: 100%;
        max-width: 320px;
        border: 1px solid #cfdbe8;
        border-radius: 8px;
        padding: 8px 10px;
        background: #fff;
      }

      .shop-layout {
        display: block;
      }

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

      .shop-card {
        background: var(--panel);
        border: 1px solid var(--line);
        border-radius: 14px;
        overflow: hidden;
        box-shadow: 0 12px 30px #0018330d;
      }
      .shop-visual {
        position: relative;
        background: #f8fafc;
        padding: 4px;
        border-bottom: 1px solid var(--line);
      }

      .shop-preview {
        display: block;
        width: 100%;
        height: 280px;
        object-fit: contain;
        border-radius: 8px;
        margin: 0;
        background: #fff;
        border: 1px solid #e2e8f0;
        padding: 0;
      }

      .shop-thumbs {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 4px;
        margin-top: 5px;
      }

      .shop-thumb {
        border: 1px solid #cedbeb;
        border-radius: 8px;
        background: #fff;
        padding: 4px;
        cursor: pointer;
      }

      .shop-thumb img {
        width: 100%;
        height: 56px;
        object-fit: cover;
        border-radius: 4px;
      }

      .shop-thumb.active {
        border-color: var(--brand);
        box-shadow: 0 0 0 1px var(--brand) inset;
      }

      .shop-body {
        padding: 8px;
      }

      .shop-brand {
        margin: 0 0 2px;
        color: #6c7480;
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.05em;
      }

      .shop-category-badge {
        display: inline-block;
        margin: 0 0 6px;
        padding: 2px 8px;
        border-radius: 999px;
        font-size: 0.68rem;
        font-weight: 700;
        color: #0b4a78;
        background: #e8f2fb;
      }

      .shop-title {
        margin: 0 0 3px;
        color: var(--ink);
        font-size: 1rem;
        line-height: 1.3;
      }

      .shop-sub {
        margin: 0;
        color: #4b5563;
        font-size: 0.84rem;
      }

      .shop-rating {
        margin: 2px 0 4px;
        font-size: 0.82rem;
        color: #374151;
      }

      .shop-stars {
        color: #f59e0b;
        letter-spacing: 0.03em;
      }

      .shop-stock {
        display: inline-block;
        margin-bottom: 8px;
        padding: 2px 7px;
        border-radius: 999px;
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.02em;
      }

      .shop-stock.in {
        background: #e8f6ee;
        color: #1e7a41;
      }

      .shop-stock.out {
        background: #fdebec;
        color: #b42318;
      }

      .shop-price {
        margin: 0 0 9px;
        font-weight: 700;
        color: var(--brand);
        font-size: 0.95rem;
      }

      .shop-price small {
        display: block;
        margin-top: 2px;
        font-size: 0.72rem;
        color: var(--muted);
        font-weight: 600;
      }

      .shop-fields {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
      }

      .shop-field label {
        display: block;
        margin-bottom: 4px;
        color: var(--muted);
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
      }

      .shop-field select,
      .shop-field input {
        width: 100%;
        border: 1px solid var(--line);
        border-radius: 7px;
        padding: 7px 9px;
        font-size: 0.82rem;
      }

      .qty-control {
        display: grid;
        grid-template-columns: 32px 1fr 32px;
        border: 1px solid var(--line);
        border-radius: 7px;
        overflow: hidden;
        background: #fff;
      }

      .qty-btn {
        border: none;
        background: #edf3fa;
        color: var(--ink);
        font-weight: 700;
        font-size: 0.9rem;
        line-height: 1;
        min-height: 32px;
      }

      .qty-value {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.82rem;
        font-weight: 700;
        color: var(--ink);
      }

      .shop-actions {
        margin-top: 9px;
        display: grid;
        grid-template-columns: 1.15fr 1fr 1fr;
        gap: 4px;
      }

      .shop-btn {
        border: none;
        border-radius: 7px;
        padding: 8px 6px;
        font-size: 0.74rem;
        font-weight: 700;
        text-align: center;
      }

      .shop-btn-add {
        background: var(--brand);
        color: #fff;
      }

      .shop-btn-add:disabled {
        background: #91a4b8;
        cursor: not-allowed;
      }

      .shop-btn-amz {
        background: #ffd814;
        color: #111;
      }

      .shop-btn-fk {
        background: #2874f0;
        color: #fff;
      }

      .shop-cart {
        position: sticky;
        top: 22px;
        align-self: start;
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 14px;
        padding: 12px;
        box-shadow: 0 12px 30px #0018330d;
      }

      .shop-cart h2 {
        margin: 0 0 6px;
        color: var(--ink);
        font-size: 1.03rem;
      }

      .shop-cart p {
        margin: 0 0 9px;
        color: var(--muted);
        font-size: 0.78rem;
      }

      .cart-list {
        list-style: none;
        margin: 0;
        padding: 0;
        max-height: 320px;
        overflow: auto;
      }

      .cart-item {
        background: #f8fbff;
        border: 1px solid #d8e3f0;
        border-radius: 8px;
        padding: 8px;
        margin-bottom: 7px;
      }

      .cart-item strong {
        display: block;
        color: var(--ink);
        font-size: 0.82rem;
      }

      .cart-item small {
        display: block;
        margin: 4px 0 6px;
        color: var(--muted);
        line-height: 1.45;
        font-size: 0.74rem;
      }

      .cart-links {
        display: flex;
        gap: 8px;
        align-items: center;
      }

      .cart-links a,
      .cart-links span {
        font-size: 0.68rem;
        font-weight: 700;
        padding: 3px 7px;
        border-radius: 5px;
      }

      .cart-buy-amz {
        background: #ffd814;
        color: #111;
      }

      .cart-buy-fk {
        background: #2874f0;
        color: #fff;
      }

      .cart-footer {
        border-top: 1px dashed var(--line);
        margin-top: 5px;
        padding-top: 10px;
      }

      .cart-total {
        margin: 0 0 5px;
        font-size: 0.82rem;
        color: var(--ink);
      }

      .cart-clear {
        width: 100%;
        border: 1px solid #ced9e5;
        background: #edf3fa;
        color: var(--ink);
        border-radius: 7px;
        font-size: 0.76rem;
        font-weight: 700;
        padding: 8px;
      }

      .cart-whatsapp {
        width: 100%;
        display: inline-block;
        text-align: center;
        margin-top: 5px;
        border-radius: 7px;
        padding: 8px;
        font-size: 0.76rem;
        font-weight: 700;
        background: #25d366;
        color: #fff;
      }

      .cart-whatsapp.disabled {
        pointer-events: none;
        background: #9bb0a4;
      }

      .shop-message {
        min-height: 18px;
        margin: 8px 0 0;
        color: var(--ok);
        font-size: 0.76rem;
      }

      .shop-toast-stack {
        position: fixed;
        top: 18px;
        right: 18px;
        z-index: 9999;
        display: flex;
        flex-direction: column;
        gap: 8px;
      }

      .shop-toast {
        min-width: 230px;
        max-width: 320px;
        border-radius: 10px;
        border: 1px solid #d8e3f0;
        background: #ffffff;
        box-shadow: 0 10px 24px #00183321;
        padding: 10px 12px;
        opacity: 0;
        transform: translateY(-6px);
        transition: opacity 160ms ease, transform 160ms ease;
      }

      .shop-toast.show {
        opacity: 1;
        transform: translateY(0);
      }

      .shop-toast-title {
        margin: 0;
        font-size: 0.8rem;
        font-weight: 700;
      }

      .shop-toast-text {
        margin: 3px 0 0;
        color: var(--muted);
        font-size: 0.74rem;
        line-height: 1.35;
      }

      .shop-toast.success .shop-toast-title {
        color: #166534;
      }

      .shop-toast.error .shop-toast-title {
        color: #b42318;
      }

      .shop-list-pricing {
        margin: 4px 0 2px;
        display: flex;
        align-items: baseline;
        flex-wrap: wrap;
        gap: 4px;
      }

      .shop-current {
        font-size: 1.7rem;
        line-height: 1;
        color: #202124;
        font-weight: 800;
      }

      .shop-old {
        color: #8b929b;
        text-decoration: line-through;
        font-size: 0.92rem;
        font-weight: 700;
      }

      .shop-discount {
        color: #0f8a3a;
        font-size: 0.92rem;
        font-weight: 800;
      }

      .shop-left {
        margin: 0 0 5px;
        color: #e11d48;
        font-weight: 700;
        font-size: 0.82rem;
      }

      .shop-card-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 6px;
      }

      .shop-card-actions .shop-btn-add,
      .shop-card-actions .shop-open-detail {
        width: 100%;
        margin-bottom: 0;
      }

      .shop-open-detail {
        border: 1px solid #d5deea;
        background: #f8fbff;
        color: var(--ink);
        border-radius: 7px;
        padding: 6px;
        font-size: 0.78rem;
        font-weight: 800;
        margin-bottom: 6px;
      }

      .shop-detail-panel[hidden] {
        display: none !important;
      }

      .pd-wrap {
        background: #ffffff;
        border: 1px solid #d8e2ee;
        border-radius: 14px;
        padding: 14px;
      }

      .pd-breadcrumb {
        display: flex;
        align-items: center;
        gap: 8px;
        margin: 0 0 10px;
        color: #6b7280;
        font-size: 0.85rem;
      }

      .pd-back-link {
        color: #0d3b66;
        font-weight: 700;
        text-decoration: none;
      }

      .pd-back-link:hover {
        text-decoration: underline;
      }

      .pd-top {
        display: grid;
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
        gap: 18px;
      }

      .pd-buybox {
        position: sticky;
        top: 18px;
        align-self: start;
        border: 1px solid #d8e2ee;
        border-radius: 12px;
        background: #f8fbff;
        padding: 12px;
      }

      .pd-gallery {
        display: grid;
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 10px;
      }

      .pd-thumbs {
        display: flex;
        flex-direction: column;
        gap: 8px;
      }

      .pd-thumb {
        width: 64px;
        height: 64px;
        border: 1px solid #d4deea;
        border-radius: 10px;
        background: #fff;
        padding: 4px;
      }

      .pd-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 8px;
      }

      .pd-thumb.active {
        border-color: #0d3b66;
        box-shadow: 0 0 0 1px #0d3b66 inset;
      }

      .pd-main {
        border: 1px solid #d4deea;
        border-radius: 12px;
        background: #fff;
        min-height: 460px;
        display: grid;
        place-items: center;
        padding: 12px;
      }

      .pd-main img {
        width: 100%;
        max-height: 430px;
        object-fit: contain;
      }

      .pd-title {
        margin: 0 0 6px;
        font-size: 2rem;
        line-height: 1.25;
        color: #111827;
      }

      .pd-brand {
        margin: 0 0 4px;
        color: #0d3b66;
        font-weight: 700;
      }

      .pd-rating {
        margin: 0 0 8px;
        color: #374151;
        font-size: 0.95rem;
      }

      .pd-price-row {
        display: flex;
        align-items: baseline;
        gap: 8px;
        flex-wrap: wrap;
        margin: 8px 0 2px;
      }

      .pd-discount {
        color: #b42318;
        font-size: 2rem;
        line-height: 1;
      }

      .pd-price {
        color: #111827;
        font-size: 2.35rem;
        line-height: 1;
        font-weight: 800;
      }

      .pd-mrp {
        color: #6b7280;
        font-size: 0.95rem;
      }

      .pd-stock {
        margin: 3px 0 12px;
        color: #166534;
        font-weight: 700;
      }

      .pd-highlights {
        margin: 0 0 12px;
        padding: 12px;
        border: 1px solid #dbe5f0;
        border-radius: 12px;
        background: #ffffff;
      }

      .pd-highlights h2 {
        margin: 0 0 8px;
        font-size: 0.9rem;
        font-weight: 800;
        color: #10273f;
        text-transform: uppercase;
        letter-spacing: 0.04em;
      }

      .pd-highlights ul {
        margin: 0;
        padding-left: 18px;
        display: grid;
        gap: 6px;
      }

      .pd-highlights li {
        color: #475569;
        font-size: 0.86rem;
        line-height: 1.45;
      }

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

      .pd-meta label {
        display: block;
        margin-bottom: 4px;
        font-size: 0.72rem;
        color: #6b7280;
        text-transform: uppercase;
        letter-spacing: 0.05em;
      }

      .pd-meta select {
        width: 100%;
        border: 1px solid #cdd8e6;
        border-radius: 8px;
        padding: 8px;
      }

      .pd-actions {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 8px;
      }

      .pd-btn {
        border: none;
        border-radius: 8px;
        padding: 10px 8px;
        font-size: 0.82rem;
        font-weight: 800;
      }

      .pd-btn-primary {
        background: #0d3b66;
        color: #fff;
      }

      .pd-btn-amz {
        background: #ffd814;
        color: #111;
      }

      .pd-btn-fk {
        background: #2874f0;
        color: #fff;
      }

      .pd-btn-wa {
        background: #25d366;
        color: #fff;
      }

      .pd-quick-links {
        margin-top: 8px;
        display: grid;
        gap: 8px;
      }

      .pd-service-badges {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 12px;
      }

      .pd-service-badges span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 32px;
        padding: 6px 10px;
        border-radius: 999px;
        background: #edf5ff;
        border: 1px solid #d6e6fb;
        color: #0f3d68;
        font-size: 0.74rem;
        font-weight: 800;
      }

      .pd-view-cart {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 40px;
        border: 1px solid #cdd8e6;
        border-radius: 8px;
        background: #eef3fa;
        color: #0f172a;
        font-size: 0.86rem;
        font-weight: 700;
        text-decoration: none;
      }

      .pd-info {
        margin-top: 12px;
        border-top: 1px solid #dde6f1;
        padding-top: 12px;
      }

      .pd-detail-block {
        display: grid;
        gap: 12px;
      }

      .pd-info h3 {
        margin: 0 0 8px;
        font-size: 1.4rem;
      }

      .pd-info ul {
        margin: 0;
        padding-left: 18px;
      }

      .pd-specs {
        margin-top: 12px;
        border-top: 1px solid #dde6f1;
        padding-top: 12px;
      }

      .pd-specs h3 {
        margin: 0 0 8px;
        font-size: 1.2rem;
      }

      .pd-spec-table {
        width: 100%;
        border-collapse: collapse;
      }

      .pd-spec-table td {
        border-bottom: 1px solid #edf2f7;
        padding: 7px 0;
        font-size: 0.93rem;
      }

      .pd-spec-table td:first-child {
        color: #4b5563;
        width: 170px;
      }

      .pd-custom-box {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        border: 1px solid #d6e0ec;
        border-radius: 12px;
        background:
          radial-gradient(circle at right top, #f4b40012 0%, transparent 32%),
          #f8fbff;
        padding: 14px;
      }

      .pd-custom-eyebrow {
        margin: 0 0 4px;
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #6b7e94;
      }

      .pd-custom-box h3 {
        margin: 0 0 5px;
        font-size: 1.15rem;
        color: #10273f;
      }

      .pd-custom-box p:last-child {
        margin: 0;
        color: #506274;
        font-size: 0.88rem;
        line-height: 1.5;
      }

      .pd-custom-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 190px;
        min-height: 44px;
        border-radius: 10px;
        background: #12385b;
        color: #fff;
        font-size: 0.82rem;
        font-weight: 800;
        text-decoration: none;
        text-align: center;
        padding: 10px 14px;
      }

      .pd-reco {
        margin-top: 14px;
        border-top: 1px solid #dde6f1;
        padding-top: 12px;
      }

      .pd-reco-title {
        margin: 0 0 10px;
        font-size: 1.55rem;
      }

      .pd-fbt {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        align-items: start;
      }

      .pd-fbt-items {
        display: flex;
        gap: 8px;
        align-items: stretch;
      }

      .pd-fbt-card {
        flex: 1;
        min-width: 0;
        border: 1px solid #d6e0ec;
        border-radius: 10px;
        background: #fff;
        padding: 8px;
        cursor: pointer;
      }

      .pd-fbt-card img {
        width: 100%;
        height: 120px;
        object-fit: contain;
      }

      .pd-fbt-name {
        margin: 6px 0 2px;
        font-size: 0.86rem;
        color: #111827;
        font-weight: 700;
      }

      .pd-fbt-price {
        margin: 0;
        font-size: 0.95rem;
        font-weight: 800;
      }

      .pd-fbt-card-action {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-top: 8px;
        min-height: 34px;
        width: 100%;
        border-radius: 8px;
        background: #eef3fa;
        color: #12385b;
        font-size: 0.78rem;
        font-weight: 800;
      }

      .pd-fbt-summary {
        border: 1px solid #d6e0ec;
        border-radius: 10px;
        background: #fff;
        padding: 10px;
      }

      .pd-fbt-total {
        margin: 0 0 8px;
        font-size: 1rem;
      }

      .pd-fbt-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 42px;
        border: none;
        border-radius: 20px;
        padding: 8px 14px;
        background: #ffd814;
        color: #111;
        font-weight: 800;
        box-shadow: 0 8px 18px #ffd81440;
      }

      .pd-more-grid {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 10px;
      }

      .pd-more-card {
        border: 1px solid #d6e0ec;
        border-radius: 10px;
        background: #fff;
        padding: 8px;
        cursor: pointer;
      }

      .pd-more-card img {
        width: 100%;
        height: 130px;
        object-fit: contain;
      }

      .pd-more-name {
        margin: 6px 0 3px;
        font-size: 0.84rem;
        line-height: 1.35;
        color: #1f2937;
        min-height: 46px;
      }

      .pd-more-price {
        margin: 0;
        font-weight: 800;
      }

      .pd-trust {
        margin-top: 14px;
        border-top: 1px solid #dde6f1;
        padding-top: 12px;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 10px;
      }

      .pd-trust-item {
        border: 1px solid #d6e0ec;
        border-radius: 10px;
        background: #fff;
        padding: 10px;
      }

      .pd-trust-item h4 {
        margin: 0 0 4px;
        font-size: 0.95rem;
        color: #0f172a;
      }

      .pd-trust-item p {
        margin: 0;
        color: #4b5563;
        font-size: 0.82rem;
        line-height: 1.4;
      }

      .pd-faq {
        margin-top: 14px;
        border-top: 1px solid #dde6f1;
        padding-top: 12px;
      }

      .pd-faq-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
      }

      .pd-faq-item {
        border: 1px solid #d6e0ec;
        border-radius: 12px;
        background: #fff;
        padding: 12px;
      }

      .pd-faq-item h4 {
        margin: 0 0 6px;
        font-size: 0.94rem;
        color: #10273f;
      }

      .pd-faq-item p {
        margin: 0;
        font-size: 0.84rem;
        line-height: 1.5;
        color: #506274;
      }

      .cart-page-shell {
        padding-top: 28px;
      }

      .cart-page-back {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin-bottom: 14px;
        font-weight: 700;
        color: #12385b;
      }

      .cart-page-wrap {
        background:
          radial-gradient(circle at top right, #f4b40014 0%, transparent 32%),
          #f7fbff;
        border: 1px solid #d6e0ec;
        border-radius: 18px;
        padding: 18px;
        box-shadow: 0 14px 38px #0018330d;
      }

      .cart-page-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 14px;
        margin-bottom: 16px;
      }

      .cart-page-eyebrow {
        margin: 0 0 5px;
        font-size: 0.74rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #6b7e94;
      }

      .cart-page-head h1 {
        margin: 0;
        font-size: 1.8rem;
        line-height: 1.1;
        color: #10273f;
      }

      .cart-page-clear {
        border: 1px solid #cdd8e6;
        border-radius: 10px;
        background: #eef3fa;
        padding: 10px 14px;
        font-size: 0.84rem;
        font-weight: 800;
        color: #10273f;
      }

      .cart-page-layout {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 320px;
        gap: 16px;
      }

      .cart-page-panel,
      .cart-page-summary {
        background: #fff;
        border: 1px solid #dde7f2;
        border-radius: 16px;
        box-shadow: 0 10px 28px #00183308;
      }

      .cart-page-panel {
        padding: 14px;
      }

      .cart-page-list {
        display: grid;
        gap: 12px;
      }

      .cart-page-item {
        display: grid;
        grid-template-columns: 128px minmax(0, 1fr);
        gap: 14px;
        border: 1px solid #e2eaf3;
        border-radius: 14px;
        padding: 12px;
        background: linear-gradient(180deg, #ffffff 0%, #f9fbfe 100%);
      }

      .cart-page-img {
        width: 100%;
        height: 122px;
        object-fit: contain;
        border: 1px solid #e5edf7;
        border-radius: 10px;
        background: #fff;
        padding: 6px;
      }

      .cart-page-info h3 {
        margin: 0 0 5px;
        font-size: 1.02rem;
        color: #10273f;
      }

      .cart-page-info p {
        margin: 0 0 4px;
        font-size: 0.86rem;
        color: #46586c;
      }

      .cart-page-qty-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-top: 6px;
        flex-wrap: wrap;
      }

      .cart-page-qty-control {
        display: inline-grid;
        grid-template-columns: 34px 42px 34px;
        border: 1px solid #d8e3ef;
        border-radius: 9px;
        overflow: hidden;
        background: #f9fbfe;
      }

      .cart-page-qty-control button {
        border: none;
        background: #eef3fa;
        color: #10273f;
        font-weight: 800;
        font-size: 0.9rem;
        min-height: 34px;
      }

      .cart-page-qty-control span {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.84rem;
        font-weight: 800;
        color: #10273f;
        background: #fff;
      }

      .cart-page-unit {
        margin: 0;
      }

      .cart-page-price {
        margin-top: 6px;
        font-weight: 800;
        color: #111827;
      }

      .cart-page-links {
        display: flex;
        gap: 8px;
        margin-top: 9px;
        flex-wrap: wrap;
      }

      .cart-page-links a,
      .cart-page-links span,
      .cart-page-links button {
        border: none;
        border-radius: 8px;
        padding: 7px 11px;
        font-size: 0.78rem;
        font-weight: 800;
        line-height: 1;
      }

      .cart-page-links a:first-child {
        background: #ffd814;
        color: #111;
      }

      .cart-page-links a:nth-child(2) {
        background: #2874f0;
        color: #fff;
      }

      .cart-page-links button {
        background: #eef2f7;
        color: #111827;
      }

      .cart-page-summary {
        padding: 16px;
        position: sticky;
        top: 20px;
        height: fit-content;
      }

      .cart-page-summary-label {
        margin: 0 0 10px;
        font-size: 0.75rem;
        font-weight: 800;
        letter-spacing: 0.07em;
        text-transform: uppercase;
        color: #6b7e94;
      }

      .cart-page-summary p {
        margin: 0 0 8px;
        color: #27384b;
      }

      .cart-page-customer {
        display: grid;
        gap: 10px;
        margin: 14px 0;
        padding: 12px;
        border-radius: 12px;
        background: #f9fbfe;
        border: 1px solid #e2eaf3;
      }

      .cart-page-field {
        display: grid;
        gap: 5px;
      }

      .cart-page-field span {
        font-size: 0.76rem;
        font-weight: 800;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        color: #607387;
      }

      .cart-page-field input {
        width: 100%;
        border: 1px solid #d7e2ee;
        border-radius: 9px;
        background: #fff;
        padding: 10px 12px;
        font-size: 0.86rem;
        color: #10273f;
      }

      .cart-page-field input::placeholder {
        color: #94a3b8;
      }

      .cart-page-note {
        display: grid;
        gap: 8px;
        margin: 12px 0 14px;
        padding: 12px;
        border-radius: 12px;
        background: #f6f9fd;
        border: 1px solid #e2eaf3;
      }

      .cart-page-note span {
        font-size: 0.8rem;
        line-height: 1.4;
        color: #506274;
      }

      .cart-page-empty {
        border: 1px dashed #cdd8e6;
        border-radius: 12px;
        padding: 26px 18px;
        text-align: center;
        color: #4b5563;
        background: #fbfdff;
      }

      .cart-page-empty-icon {
        font-size: 2rem;
        line-height: 1;
        margin-bottom: 10px;
      }

      .cart-page-empty-title {
        margin: 0 0 6px;
        font-size: 1rem;
        font-weight: 800;
        color: #10273f;
      }

      .cart-page-empty-text {
        margin: 0 auto 14px;
        max-width: 430px;
        font-size: 0.86rem;
        line-height: 1.5;
        color: #5b6b7d;
      }

      .cart-page-empty-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 9px;
        padding: 10px 14px;
        background: #12385b;
        color: #fff;
        font-size: 0.82rem;
        font-weight: 800;
      }

      .cart-page-whatsapp {
        width: 100%;
        border: none;
        border-radius: 10px;
        background: #25d366;
        color: #fff;
        font-weight: 800;
        padding: 11px 14px;
      }

      .cart-page-whatsapp:disabled {
        background: #9ca3af;
        cursor: not-allowed;
      }

      .cart-reco-wrap {
        margin-top: 18px;
        background: #fff;
        border: 1px solid #d6e0ec;
        border-radius: 18px;
        padding: 18px;
        box-shadow: 0 14px 38px #0018330d;
      }

      .cart-reco-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 14px;
        margin-bottom: 14px;
      }

      .cart-reco-head h2 {
        margin: 0;
        font-size: 1.3rem;
        color: #10273f;
      }

      .cart-reco-link {
        font-size: 0.82rem;
        font-weight: 800;
        color: #12385b;
      }

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

      .cart-reco-card {
        border: 1px solid #e2eaf3;
        border-radius: 14px;
        overflow: hidden;
        background: linear-gradient(180deg, #ffffff 0%, #f9fbfe 100%);
      }

      .cart-reco-img {
        width: 100%;
        height: 145px;
        object-fit: contain;
        background: #fff;
        border-bottom: 1px solid #e5edf7;
        padding: 8px;
      }

      .cart-reco-body {
        padding: 12px;
      }

      .cart-reco-category {
        margin: 0 0 5px;
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: #6b7e94;
      }

      .cart-reco-body h3 {
        margin: 0 0 6px;
        font-size: 0.92rem;
        color: #10273f;
        line-height: 1.35;
      }

      .cart-reco-price {
        margin: 0 0 10px;
        font-size: 0.84rem;
        font-weight: 800;
        color: #10273f;
      }

      .cart-reco-links {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin-bottom: 10px;
      }

      .cart-reco-links a,
      .cart-reco-links span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 8px;
        padding: 8px 10px;
        font-size: 0.74rem;
        font-weight: 800;
        line-height: 1;
      }

      .cart-reco-links a:first-child {
        background: #ffd814;
        color: #111;
      }

      .cart-reco-links a:nth-child(2) {
        background: #2874f0;
        color: #fff;
      }

      .cart-links .is-disabled,
      .cart-page-links .is-disabled,
      .cart-reco-links .is-disabled,
      .pd-btn.is-disabled {
        background: #e5e7eb !important;
        color: #6b7280 !important;
        cursor: not-allowed;
        pointer-events: none;
        text-decoration: none;
      }

      .cart-reco-btn {
        width: 100%;
        border: none;
        border-radius: 9px;
        background: #12385b;
        color: #fff;
        font-size: 0.8rem;
        font-weight: 800;
        padding: 9px 12px;
      }

      .cart-reco-empty {
        border: 1px dashed #cdd8e6;
        border-radius: 12px;
        padding: 18px;
        text-align: center;
        color: #6b7280;
        font-weight: 700;
      }

      @media (max-width: 980px) {
        .pd-top {
          grid-template-columns: 1fr;
        }

        .pd-buybox {
          position: static;
        }

        .pd-main {
          min-height: 340px;
        }

        .pd-title {
          font-size: 1.35rem;
        }

        .pd-price {
          font-size: 1.8rem;
        }

        .pd-fbt {
          grid-template-columns: 1fr;
        }

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

        .pd-faq-list {
          grid-template-columns: 1fr;
        }

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

        .cart-page-summary {
          position: static;
        }

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

        .pd-more-grid {
          grid-template-columns: repeat(3, minmax(0, 1fr));
        }
      }

      @media (max-width: 760px) {
        .pd-gallery {
          grid-template-columns: 1fr;
        }

        .pd-thumbs {
          order: 2;
          flex-direction: row;
          flex-wrap: wrap;
        }

        .pd-main {
          order: 1;
        }

        .pd-actions {
          grid-template-columns: 1fr;
        }

        .pd-custom-box {
          flex-direction: column;
          align-items: stretch;
        }

        .pd-custom-link {
          min-width: 0;
          width: 100%;
        }

        .pd-trust {
          grid-template-columns: 1fr;
        }

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

        .cart-page-item {
          grid-template-columns: 1fr;
        }
      }

      @media (max-width: 760px) {
        .cart-page-wrap {
          padding: 14px;
          border-radius: 14px;
        }

        .cart-page-head {
          flex-direction: column;
          align-items: stretch;
        }

        .cart-page-head h1 {
          font-size: 1.45rem;
        }

        .cart-page-item {
          grid-template-columns: 1fr;
        }

        .cart-page-img {
          height: 180px;
        }

        .cart-page-qty-row {
          align-items: flex-start;
          flex-direction: column;
        }

        .cart-reco-wrap {
          padding: 14px;
          border-radius: 14px;
        }

        .cart-reco-head {
          flex-direction: column;
          align-items: stretch;
        }

        .cart-reco-grid {
          grid-template-columns: 1fr;
        }

        .cart-reco-links {
          grid-template-columns: 1fr;
        }

        .shop-toast-stack {
          left: 10px;
          right: 10px;
          top: 10px;
        }

        .shop-toast {
          max-width: none;
          min-width: 0;
        }
      }

      @media (max-width: 1100px) {
        .shop-layout {
          grid-template-columns: 1fr;
        }

        .shop-cart {
          position: static;
        }
      }

      @media (max-width: 760px) {
        .shop-grid {
          grid-template-columns: 1fr;
        }

        .shop-fields {
          grid-template-columns: 1fr;
        }

        .shop-actions {
          grid-template-columns: 1fr;
        }
      }

      @media (max-width: 1100px) {
        .shop-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
      }

      @media (max-width: 760px) {
        .shop-grid {
          grid-template-columns: 1fr;
        }
      }


