@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

/**
 * Raketoria Custom E-Commerce Widget Suite Stylesheet
 * 
 * 100% Exact match with the Babolat Pure Aero 98 Tennis Racket design mockup.
 * Includes: Single Product Page Layout, Cart Drawer, Quick View & Size Guide.
 */

:root {
    --rw-font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --rw-primary: #044b38;         /* Deep forest green CTA from design */
    --rw-primary-hover: #03382a;
    --rw-accent: #10b981;          /* In stock dot green */
    --rw-accent-dark: #064e3b;     /* -25% discount pill badge */
    --rw-brand-color: #4b7b8a;     /* Muted teal brand label */
    --rw-bg: #ffffff;
    --rw-surface: #f9fafb;
    --rw-border: #e5e7eb;
    --rw-border-input: #d1d5db;
    --rw-text: #111827;
    --rw-text-muted: #6b7280;
    --rw-text-body: #4b5563;
    --rw-warning: #f59e0b;
    --rw-danger: #ef4444;
    --rw-radius: 8px;
    --rw-radius-sm: 6px;
    --rw-radius-full: 9999px;
    --rw-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    --rw-drawer-width: 440px;
    --rw-z-index-backdrop: 99998;
    --rw-z-index-modal: 99999;
}

/* Base resets inside product page */
.raketoria-product-page-wrapper {
    font-family: var(--rw-font-family);
    color: var(--rw-text);
    background-color: #ffffff;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

.raketoria-product-page-wrapper *,
.raketoria-cart-page-wrapper *,
.raketoria-cart-drawer *,
.raketoria-modal *,
.raketoria-cart-launcher * {
    box-sizing: border-box;
}

.raketoria-product-page-wrapper img,
.raketoria-cart-page-wrapper img,
.raketoria-cart-drawer img,
.raketoria-modal img {
    max-width: 100%;
    height: auto;
}

.raketoria-container {
    max-width: 1140px;
    margin: 0 auto;
    padding: 24px 20px 80px 20px;
}

/* -------------------------------------------------------------
 * 1. BREADCRUMBS
 * ------------------------------------------------------------- */
.raketoria-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #6b7280;
    margin-bottom: 24px;
}

.raketoria-breadcrumbs a {
    color: #6b7280;
    text-decoration: none;
    transition: var(--rw-transition);
}

.raketoria-breadcrumbs a:hover {
    color: var(--rw-text);
}

.raketoria-breadcrumbs .rw-sep {
    color: #9ca3af;
    font-size: 14px;
    line-height: 1;
}

.raketoria-breadcrumbs .rw-current {
    color: var(--rw-text);
    font-weight: 500;
}

/* -------------------------------------------------------------
 * 2. MAIN PRODUCT GRID (GALLERY + DETAILS)
 * ------------------------------------------------------------- */
.raketoria-product-main-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
    margin-bottom: 56px;
}

/* GALLERY (VERTICAL THUMBNAILS + MAIN VIEWPORT) */
.raketoria-gallery-container {
    display: flex;
    gap: 16px;
    position: sticky;
    top: 24px;
    background-color: #ffffff;
    z-index: 10;
}

.raketoria-vertical-thumbnails {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 68px;
    flex-shrink: 0;
    background-color: #ffffff;
}

.raketoria-thumb-arrow {
    background: none;
    border: none;
    cursor: pointer;
    color: #9ca3af;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--rw-transition);
}

.raketoria-thumb-arrow:hover {
    color: var(--rw-text);
}

.raketoria-thumb-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow-y: auto;
    max-height: 440px;
    scrollbar-width: none;
    padding: 2px 0;
}

.raketoria-thumb-list::-webkit-scrollbar {
    display: none;
}

.raketoria-thumb-item {
    width: 64px;
    height: 64px;
    border-radius: var(--rw-radius-sm);
    border: 1px solid var(--rw-border);
    overflow: hidden;
    cursor: pointer;
    background-color: #ffffff;
    transition: var(--rw-transition);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
}

.raketoria-thumb-item img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
}

.raketoria-thumb-item.is-active,
.raketoria-thumb-item:hover {
    border-color: #111827;
    box-shadow: 0 0 0 1px #111827;
}

.raketoria-main-image-viewport {
    flex: 1;
    position: relative;
    background-color: #ffffff;
    border: 1px solid #f3f4f6;
    border-radius: var(--rw-radius);
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.raketoria-main-image-wrap {
    width: 86%;
    height: 86%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.raketoria-main-image-wrap img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
    cursor: zoom-in;
}

.raketoria-gallery-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    background: #ffffff;
    border: 1px solid var(--rw-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #4b5563;
    z-index: 5;
    transition: var(--rw-transition);
}

.raketoria-gallery-arrow:hover {
    background: var(--rw-surface);
    color: var(--rw-text);
}

.raketoria-gallery-arrow.gallery-prev {
    left: 12px;
}

.raketoria-gallery-arrow.gallery-next {
    right: 12px;
}

.raketoria-zoom-btn {
    position: absolute;
    bottom: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
    background: #ffffff;
    border: 1px solid var(--rw-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #6b7280;
    z-index: 5;
    transition: var(--rw-transition);
}

.raketoria-zoom-btn:hover {
    color: var(--rw-text);
}

/* Lightbox Modal */
.raketoria-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.raketoria-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
}

.raketoria-lightbox-content {
    position: relative;
    max-width: 90vw;
    max-height: 90vh;
    z-index: 2;
}

.raketoria-lightbox-content img {
    max-width: 100%;
    max-height: 90vh;
    object-fit: contain;
}

.raketoria-lightbox-close {
    position: absolute;
    top: -40px;
    right: 0;
    background: none;
    border: none;
    color: #fff;
    font-size: 32px;
    cursor: pointer;
}

/* -------------------------------------------------------------
 * PRODUCT SUMMARY (RIGHT COLUMN)
 * ------------------------------------------------------------- */
.raketoria-product-summary {
    display: flex;
    flex-direction: column;
}

.raketoria-brand-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--rw-brand-color);
    text-transform: uppercase;
    margin-bottom: 4px;
}

.raketoria-brand-label a {
    color: inherit;
    text-decoration: none;
}

.raketoria-product-title {
    font-size: 32px;
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 10px 0;
    color: var(--rw-text);
    letter-spacing: -0.02em;
}

/* Rating Row */
.raketoria-rating-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    margin-bottom: 16px;
}

.raketoria-stars {
    color: var(--rw-warning);
    font-size: 14px;
    letter-spacing: 1px;
}

.raketoria-score {
    font-weight: 700;
    color: var(--rw-text);
}

.raketoria-review-count {
    color: var(--rw-text-muted);
}

.rw-divider {
    color: #d1d5db;
}

.raketoria-write-review-link {
    color: var(--rw-text);
    text-decoration: underline;
    font-weight: 500;
}

/* Pricing Row */
.raketoria-price-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.raketoria-current-price,
.raketoria-price-row .woocommerce-Price-amount {
    font-size: 28px;
    font-weight: 800;
    color: var(--rw-primary);
    line-height: 1;
}

.raketoria-regular-price del,
.raketoria-price-row del .woocommerce-Price-amount {
    font-size: 19px;
    font-weight: 400;
    color: #9ca3af;
}

.raketoria-discount-badge {
    background-color: var(--rw-accent-dark);
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 4px;
    line-height: 1;
}

/* Stock & Delivery Urgency */
.raketoria-stock-urgency-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 16px;
}

.raketoria-stock-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
}

.rw-pulse-dot {
    width: 7px;
    height: 7px;
    background-color: var(--rw-accent);
    border-radius: 50%;
}

.raketoria-delivery-countdown {
    font-size: 13px;
    color: var(--rw-text-body);
}

/* Short Description */
.raketoria-short-desc {
    font-size: 14px;
    line-height: 1.55;
    color: var(--rw-text-body);
    margin-bottom: 20px;
}

/* -------------------------------------------------------------
 * VARIATION SWATCHES & CTA
 * ------------------------------------------------------------- */
.raketoria-swatches-wrapper {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 18px;
}

.raketoria-swatch-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.raketoria-swatch-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--rw-text);
}

.raketoria-inline-sg {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    color: var(--rw-text);
    text-decoration: underline;
    padding: 0;
}

.raketoria-swatch-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.raketoria-swatch-pill {
    padding: 10px 18px;
    font-size: 13px;
    font-weight: 600;
    background: #ffffff;
    border: 1px solid var(--rw-border-input);
    border-radius: var(--rw-radius-sm);
    color: var(--rw-text);
    cursor: pointer;
    transition: var(--rw-transition);
}

.raketoria-swatch-pill:hover {
    border-color: #9ca3af;
}

.raketoria-swatch-pill.is-selected {
    border: 2px solid var(--rw-primary);
    color: var(--rw-primary);
}

.raketoria-quantity-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--rw-text);
    margin-bottom: 8px;
}

/* CTA Row (Quantity + Add to Cart) */
.raketoria-cta-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.raketoria-quantity-box {
    display: flex;
    align-items: center;
    border: 1px solid var(--rw-border-input);
    border-radius: var(--rw-radius-sm);
    height: 48px;
    background: #ffffff;
    width: 120px;
    flex-shrink: 0;
}

.raketoria-quantity-box .raketoria-qty-btn {
    width: 36px;
    height: 100%;
    background: none;
    border: none;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    color: var(--rw-text);
    display: flex;
    align-items: center;
    justify-content: center;
}

.raketoria-quantity-box .raketoria-qty-input {
    flex: 1;
    width: 48px;
    height: 100%;
    border: none;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    color: var(--rw-text);
    -moz-appearance: textfield;
}

.raketoria-quantity-box .raketoria-qty-input::-webkit-outer-spin-button,
.raketoria-quantity-box .raketoria-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.raketoria-add-to-cart-btn {
    flex: 1;
    height: 48px;
    background-color: var(--rw-primary) !important;
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 700;
    border-radius: var(--rw-radius-sm) !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: none;
    cursor: pointer;
    transition: var(--rw-transition);
}

.raketoria-add-to-cart-btn:hover {
    background-color: var(--rw-primary-hover) !important;
}

/* Wishlist & Compare Actions */
.raketoria-actions-row {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f3f4f6;
    margin-bottom: 18px;
}

.raketoria-action-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    color: var(--rw-text);
    padding: 0;
    transition: var(--rw-transition);
}

.raketoria-action-link:hover {
    color: var(--rw-primary);
}

.raketoria-action-link.is-active svg {
    fill: var(--rw-danger);
    stroke: var(--rw-danger);
}

/* Trust Badges (3 items exactly matching mockup) */
.raketoria-trust-badges {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.raketoria-trust-card {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid var(--rw-border);
    border-radius: var(--rw-radius-sm);
    background: #ffffff;
}

.raketoria-trust-icon {
    color: var(--rw-primary);
    flex-shrink: 0;
    margin-top: 1px;
}

.raketoria-trust-info {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.rw-trust-title {
    font-size: 12px;
    font-weight: 700;
    color: var(--rw-text);
}

.rw-trust-sub {
    font-size: 11px;
    color: var(--rw-text-muted);
    line-height: 1.3;
}

/* -------------------------------------------------------------
 * 3. TABS SECTION
 * ------------------------------------------------------------- */
.raketoria-tabs-container {
    margin-top: 48px;
    margin-bottom: 56px;
}

.raketoria-nav-tabs {
    display: flex;
    gap: 32px;
    border-bottom: 1px solid var(--rw-border);
    margin-bottom: 32px;
}

.raketoria-tab-header {
    background: none;
    border: none;
    padding: 12px 0;
    font-size: 15px;
    font-weight: 500;
    color: #6b7280;
    cursor: pointer;
    position: relative;
    transition: var(--rw-transition);
}

.raketoria-tab-header.is-active {
    color: #111827;
    font-weight: 700;
}

.raketoria-tab-header.is-active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background-color: #111827;
}

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

.raketoria-tab-panel.is-active {
    display: block;
}

/* Two-column layout in Description tab */
.raketoria-desc-specs-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 48px;
    align-items: start;
}

.raketoria-section-heading {
    font-size: 26px;
    font-weight: 800;
    margin: 0 0 16px 0;
    color: var(--rw-text);
    letter-spacing: -0.01em;
}

.raketoria-section-heading-sm {
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 14px 0;
    color: var(--rw-text);
}

.raketoria-full-content {
    font-size: 14px;
    line-height: 1.65;
    color: var(--rw-text-body);
}

.raketoria-full-content p {
    margin: 0 0 14px 0;
}

.raketoria-specs-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.raketoria-specs-table tr:nth-child(odd) {
    background-color: #f9fafb;
}

.raketoria-specs-table tr:nth-child(even) {
    background-color: #ffffff;
}

.raketoria-specs-table td {
    padding: 8px 12px;
    line-height: 1.4;
}

.raketoria-specs-table .spec-name {
    font-weight: 600;
    color: var(--rw-text);
    width: 44%;
}

.raketoria-specs-table .spec-val {
    color: var(--rw-text-body);
}

.raketoria-specs-full {
    max-width: 800px;
}

/* -------------------------------------------------------------
 * 4. FEATURE HIGHLIGHT BANNER
 * ------------------------------------------------------------- */
.raketoria-feature-banner {
    position: relative;
    background-color: #f0fdf4;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    align-items: center;
    min-height: 240px;
}

.raketoria-banner-content {
    flex: 1;
    padding: 40px 48px;
    z-index: 2;
    max-width: 50%;
}

.raketoria-banner-heading {
    font-size: 32px;
    font-weight: 800;
    color: var(--rw-primary);
    line-height: 1.15;
    margin: 0 0 12px 0;
    letter-spacing: -0.02em;
}

.raketoria-banner-desc {
    font-size: 14px;
    line-height: 1.55;
    color: #374151;
    margin: 0;
}

.raketoria-banner-visual {
    flex: 1;
    height: 100%;
    display: flex;
    justify-content: flex-end;
    align-self: stretch;
}

.raketoria-banner-visual img {
    height: 100%;
    max-height: 280px;
    object-fit: cover;
    display: block;
}

/* -------------------------------------------------------------
 * 5. CART DRAWER, QUICK VIEW & SIZE GUIDE
 * ------------------------------------------------------------- */
.rw-icon { display: inline-block; vertical-align: middle; }

.raketoria-cart-launcher {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 9990;
    cursor: pointer;
    transition: var(--rw-transition);
}
.raketoria-cart-launcher:hover { transform: scale(1.08); }
.raketoria-launcher-inner {
    position: relative;
    width: 56px;
    height: 56px;
    border-radius: var(--rw-radius-full);
    background-color: var(--rw-primary);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.2);
}
.raketoria-cart-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    background-color: var(--rw-accent);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    min-width: 20px;
    height: 20px;
    border-radius: var(--rw-radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    border: 2px solid #ffffff;
}

.raketoria-drawer-backdrop,
.raketoria-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(17, 24, 39, 0.6);
    backdrop-filter: blur(3px);
    z-index: var(--rw-z-index-backdrop);
    opacity: 0;
    visibility: hidden;
    transition: var(--rw-transition);
}
.raketoria-drawer-backdrop.is-active,
.raketoria-modal-backdrop.is-active {
    opacity: 1;
    visibility: visible;
}

.raketoria-cart-drawer {
    position: fixed;
    top: 0;
    bottom: 0;
    width: 100%;
    max-width: var(--rw-drawer-width);
    background-color: var(--rw-bg);
    z-index: var(--rw-z-index-modal);
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.raketoria-drawer-right { right: 0; transform: translateX(100%); }
.raketoria-drawer-left { left: 0; transform: translateX(-100%); }
.raketoria-cart-drawer.is-open { transform: translateX(0); }

.raketoria-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid var(--rw-border);
}
.raketoria-drawer-title { font-size: 18px; font-weight: 700; margin: 0; color: var(--rw-text); }
.raketoria-drawer-count { font-weight: 400; color: var(--rw-text-muted); }

.raketoria-drawer-close, .raketoria-modal-close {
    background: transparent; border: none; color: var(--rw-text-muted); cursor: pointer; padding: 6px;
    border-radius: var(--rw-radius-sm); display: flex; align-items: center; justify-content: center;
}
.raketoria-drawer-close:hover, .raketoria-modal-close:hover { color: var(--rw-text); background-color: var(--rw-surface); }

/* Cart Drawer Components & Layout */
.raketoria-shipping-bar { padding: 14px 24px; background-color: #f0fdf4; border-bottom: 1px solid #dcfce7; }
.raketoria-shipping-message { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: #166534; margin-bottom: 8px; }
.raketoria-shipping-bar.unlocked .raketoria-shipping-message { color: #166534; font-weight: 600; }
.raketoria-progress-track { width: 100%; height: 6px; background-color: #dcfce7; border-radius: var(--rw-radius-full); overflow: hidden; }
.raketoria-progress-fill { height: 100%; background-color: var(--rw-accent); border-radius: var(--rw-radius-full); transition: width 0.4s ease; }
.raketoria-shipping-bar.unlocked .raketoria-progress-fill { background-color: var(--rw-primary); }

.raketoria-drawer-body { flex: 1; overflow-y: auto; padding: 20px 24px; }
.raketoria-cart-items-list { display: flex; flex-direction: column; gap: 16px; }
.raketoria-cart-item { display: flex; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid #f3f4f6; align-items: flex-start; }
.raketoria-item-image { width: 72px; height: 72px; flex-shrink: 0; border-radius: 8px; overflow: hidden; background: #f9fafb; border: 1px solid #e5e7eb; display: flex; align-items: center; justify-content: center; }
.raketoria-item-image a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.raketoria-item-image img { width: 100%; height: 100%; object-fit: contain; padding: 4px; }
.raketoria-item-details { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.raketoria-item-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.raketoria-item-title { font-size: 14px; font-weight: 600; margin: 0; line-height: 1.35; }
.raketoria-item-title a { color: var(--rw-text); text-decoration: none; }
.raketoria-item-title a:hover { color: var(--rw-primary); }
.raketoria-item-remove { background: none; border: none; color: #9ca3af; font-size: 20px; line-height: 1; cursor: pointer; padding: 0 4px; transition: color 0.2s; }
.raketoria-item-remove:hover { color: var(--rw-danger); }
.raketoria-item-meta { font-size: 12px; color: var(--rw-text-muted); margin: 0; line-height: 1.4; }
.raketoria-item-meta p { margin: 0; }
.raketoria-item-unit-price { font-size: 15px; font-weight: 600; color: #111827; margin: 2px 0; }

.raketoria-cart-drawer .raketoria-item-bottom {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: 6px !important;
}
.raketoria-cart-drawer .raketoria-qty-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #d1d5db !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    height: 32px !important;
    width: auto !important;
    max-width: 100px !important;
}
.raketoria-cart-drawer .raketoria-qty-wrapper .raketoria-qty-btn {
    width: 30px !important;
    height: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffffff !important;
    border: none !important;
    color: #4b5563 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    padding: 0 !important;
    line-height: 1 !important;
    transition: background 0.15s, color 0.15s !important;
}
.raketoria-cart-drawer .raketoria-qty-wrapper .raketoria-qty-btn:hover {
    background-color: #f3f4f6 !important;
    color: #111827 !important;
}
.raketoria-cart-drawer .raketoria-qty-wrapper .raketoria-qty-input {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 30px !important;
    border: none !important;
    border-left: 1px solid #e5e7eb !important;
    border-right: 1px solid #e5e7eb !important;
    background: #ffffff !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #111827 !important;
    padding: 0 !important;
    margin: 0 !important;
    -moz-appearance: textfield !important;
    box-shadow: none !important;
}
.raketoria-cart-drawer .raketoria-qty-wrapper .raketoria-qty-input::-webkit-outer-spin-button,
.raketoria-cart-drawer .raketoria-qty-wrapper .raketoria-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}
.raketoria-cart-drawer .raketoria-item-subtotal {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin-left: auto !important;
}

/* Cross-Sells Section */
.raketoria-drawer-cross-sells {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #f3f4f6;
}
.raketoria-cross-sells-title {
    font-size: 13px;
    font-weight: 700;
    color: #374151;
    margin: 0 0 12px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.raketoria-cross-sells-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.raketoria-cross-sell-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    transition: border-color 0.2s;
}
.raketoria-cross-sell-card:hover {
    border-color: #d1d5db;
}
.raketoria-cross-sell-img {
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    border-radius: 6px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: center;
}
.raketoria-cross-sell-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 4px;
}
.raketoria-cross-sell-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.raketoria-cross-sell-name {
    font-size: 13px;
    font-weight: 600;
    color: #111827;
    text-decoration: none !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.raketoria-cross-sell-name:hover {
    color: var(--rw-primary);
}
.raketoria-cross-sell-price {
    font-size: 13px;
    font-weight: 600;
    color: #111827;
}
.raketoria-cross-sell-price del {
    color: #9ca3af;
    font-weight: 400;
    margin-right: 6px;
}
.raketoria-cross-sell-price ins {
    text-decoration: none;
    color: #044b38;
    font-weight: 700;
}
.raketoria-cross-sell-add {
    flex-shrink: 0;
    background-color: var(--rw-primary) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 6px 14px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    transition: background-color 0.2s !important;
}
.raketoria-cross-sell-add:hover {
    background-color: var(--rw-primary-hover) !important;
}

/* Drawer Footer */
.raketoria-drawer-footer {
    padding: 18px 24px;
    border-top: 1px solid var(--rw-border);
    background-color: #ffffff;
}
.raketoria-drawer-footer.is-hidden { display: none; }
.raketoria-coupon-form {
    display: flex;
    gap: 8px;
    margin-bottom: 14px;
}
.raketoria-coupon-input {
    flex: 1;
    height: 40px;
    padding: 0 14px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 13px;
    background: #ffffff;
}
.raketoria-coupon-input:focus {
    border-color: var(--rw-primary);
    outline: none;
}
.raketoria-coupon-btn {
    height: 40px;
    padding: 0 16px;
    background-color: #f3f4f6;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    cursor: pointer;
    transition: all 0.2s;
}
.raketoria-coupon-btn:hover {
    background-color: #e5e7eb;
    color: #111827;
}
.raketoria-drawer-totals {
    margin-bottom: 14px;
}
.raketoria-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 4px;
}
.raketoria-total-row .raketoria-subtotal-val {
    font-size: 17px;
    color: #111827;
}
.raketoria-tax-notice {
    font-size: 12px;
    color: #6b7280;
    margin: 0;
}
.raketoria-drawer-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.raketoria-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.raketoria-btn-checkout {
    height: 46px;
    background-color: var(--rw-primary) !important;
    color: #ffffff !important;
    border: none !important;
    font-size: 15px !important;
}
.raketoria-btn-checkout:hover {
    background-color: var(--rw-primary-hover) !important;
}
.raketoria-btn-viewcart {
    height: 42px;
    background: #ffffff !important;
    color: #374151 !important;
    border: 1px solid #d1d5db !important;
    font-size: 14px !important;
}
.raketoria-btn-viewcart:hover {
    background-color: #f9fafb !important;
    border-color: #9ca3af !important;
}

/* Modals (Quick View & Size Guide - Clean Centered Layout) */
.raketoria-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    transform: none !important;
    background: rgba(15, 23, 42, 0.65) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    z-index: 999999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.25s ease, visibility 0.25s ease !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}
.raketoria-modal.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
}
.raketoria-modal-lg { max-width: 900px !important; }
.raketoria-modal-dialog {
    background: #ffffff !important;
    border-radius: 16px !important;
    max-width: 900px !important;
    width: 100% !important;
    max-height: calc(100vh - 40px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    position: relative !important;
    margin: auto !important;
    padding: 0 !important;
    box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(0, 0, 0, 0.05) !important;
    transform: scale(0.96) !important;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-sizing: border-box !important;
    z-index: 1000000 !important;
}
.raketoria-modal.is-open .raketoria-modal-dialog {
    transform: scale(1) !important;
}
.raketoria-modal-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: #f1f5f9 !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    color: #64748b !important;
    z-index: 20 !important;
    transition: all 0.2s ease !important;
}
.raketoria-modal-close:hover {
    background: #e2e8f0 !important;
    color: #0f172a !important;
    transform: rotate(90deg) !important;
}
.raketoria-modal-loader { display: none; flex-direction: column; align-items: center; justify-content: center; padding: 60px 0; }
.raketoria-modal-loader.is-visible { display: flex; }
.raketoria-spinner { width: 36px; height: 36px; border: 3px solid #e2e8f0; border-top-color: var(--rw-primary, #044b38); border-radius: 50%; animation: rw-spin 0.8s linear infinite; margin-bottom: 12px; }
@keyframes rw-spin { to { transform: rotate(360deg); } }

/* Size Guide Specifics */
.raketoria-modal-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; padding-right: 32px; }
.raketoria-modal-title { font-size: 20px; font-weight: 700; margin: 0; }
.raketoria-unit-switch-wrap { display: flex; align-items: center; gap: 8px; }
.raketoria-unit-switch { display: inline-flex; background-color: var(--rw-surface); border: 1px solid var(--rw-border); border-radius: var(--rw-radius-sm); padding: 2px; }
.raketoria-unit-btn { border: none; background: transparent; padding: 4px 10px; font-size: 12px; font-weight: 600; cursor: pointer; border-radius: var(--rw-radius-sm); }
.raketoria-unit-btn.is-active { background-color: var(--rw-primary); color: #fff; }
.raketoria-modal-tabs { display: flex; gap: 8px; border-bottom: 1px solid var(--rw-border); margin-bottom: 20px; }
.raketoria-tab-btn { background: transparent; border: none; padding: 10px 16px; font-size: 14px; font-weight: 600; color: var(--rw-text-muted); cursor: pointer; position: relative; }
.raketoria-tab-btn.is-active { color: var(--rw-primary); }
.raketoria-tab-btn.is-active::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 0; height: 2px; background-color: var(--rw-primary); }
.raketoria-tab-pane { display: none; }
.raketoria-tab-pane.is-active { display: block; }
.raketoria-size-table { width: 100%; border-collapse: collapse; font-size: 13px; text-align: left; }
.raketoria-size-table th, .raketoria-size-table td { padding: 12px 16px; border-bottom: 1px solid var(--rw-border); }
.raketoria-size-table th { background-color: var(--rw-surface); font-weight: 700; }

/* -------------------------------------------------------------
 * 6. RESPONSIVE BREAKPOINTS
 * ------------------------------------------------------------- */
@media (max-width: 900px) {
    .raketoria-gallery-container {
        position: sticky;
        top: 0;
        z-index: 25;
        background-color: #ffffff !important;
        padding-top: 6px;
        padding-bottom: 10px;
    }
    .raketoria-vertical-thumbnails,
    .raketoria-thumb-list,
    .raketoria-main-image-viewport,
    .raketoria-main-image-wrap {
        background-color: #ffffff !important;
    }
    .raketoria-product-main-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .raketoria-desc-specs-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .raketoria-trust-badges {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    :root {
        --rw-drawer-width: 100vw;
    }
    .raketoria-product-title {
        font-size: 24px;
    }
    .raketoria-gallery-container {
        flex-direction: column-reverse;
        position: sticky;
        top: 0;
        z-index: 30;
        background-color: #ffffff !important;
        padding: 8px 0 12px 0;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    }
    .raketoria-vertical-thumbnails {
        flex-direction: row;
        width: 100%;
        overflow-x: auto;
        background-color: #ffffff !important;
        padding: 6px 0 2px 0;
        scrollbar-width: none;
    }
    .raketoria-vertical-thumbnails::-webkit-scrollbar {
        display: none;
    }
    .raketoria-thumb-list {
        flex-direction: row;
        max-height: none;
        background-color: #ffffff !important;
        padding: 2px 0;
        gap: 8px;
    }
    .raketoria-thumb-item {
        background-color: #ffffff !important;
        flex-shrink: 0;
    }
    .raketoria-thumb-arrow {
        display: none;
    }
    .raketoria-main-image-viewport {
        background-color: #ffffff !important;
    }
    .raketoria-main-image-wrap {
        background-color: #ffffff !important;
    }
    .raketoria-cta-row {
        flex-direction: column;
    }
    .raketoria-quantity-box,
    .raketoria-add-to-cart-btn {
        width: 100%;
    }
    .raketoria-nav-tabs {
        gap: 16px;
        overflow-x: auto;
    }
}

/* =========================================================================
 * 9. DYNAMIC CART PAGE (100% EXACT MOCKUP MATCH)
 * ========================================================================= */
.raketoria-cart-page-wrapper {
    font-family: var(--rw-font-family);
    color: var(--rw-text, #111827);
    background-color: #ffffff;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

.raketoria-cart-page-wrapper *,
.raketoria-cart-page-wrapper *::before,
.raketoria-cart-page-wrapper *::after {
    box-sizing: border-box;
}

.raketoria-cart-container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 32px 20px 80px 20px;
}

/* Breadcrumbs */
.raketoria-cart-page-wrapper .raketoria-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #6b7280;
    margin-bottom: 24px;
}

.raketoria-cart-page-wrapper .raketoria-breadcrumbs a {
    color: #6b7280;
    text-decoration: none;
    transition: color 0.15s ease;
}

.raketoria-cart-page-wrapper .raketoria-breadcrumbs a:hover {
    color: #111827;
}

.raketoria-cart-page-wrapper .raketoria-breadcrumbs .rw-sep {
    color: #9ca3af;
}

.raketoria-cart-page-wrapper .raketoria-breadcrumbs .rw-current {
    color: #111827;
    font-weight: 500;
}

/* Cart Header */
.raketoria-cart-header-section {
    margin-bottom: 32px;
}

.raketoria-cart-title {
    font-size: 32px;
    font-weight: 800;
    color: #111827;
    margin: 0 0 6px 0;
    letter-spacing: -0.025em;
    line-height: 1.2;
}

.raketoria-cart-subtitle {
    font-size: 14px;
    color: #6b7280;
    margin: 0;
}

/* Empty Cart State */
.raketoria-cart-page-empty {
    text-align: center;
    padding: 72px 24px;
    background: #f9fafb;
    border-radius: 12px;
    border: 1px dashed #d1d5db;
    margin-bottom: 48px;
}

.raketoria-cart-page-empty .raketoria-empty-icon-wrap {
    color: #9ca3af;
    margin-bottom: 16px;
    display: flex;
    justify-content: center;
}

.raketoria-cart-empty-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    padding: 12px 28px;
    background-color: var(--rw-primary, #044b38);
    color: #ffffff !important;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    border-radius: 8px;
    transition: background-color 0.2s ease;
}

.raketoria-cart-empty-btn:hover {
    background-color: var(--rw-primary-hover, #03382a);
}

/* Two-Column Grid */
.raketoria-cart-layout-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 40px;
    align-items: start;
    margin-bottom: 48px;
}

/* Left Column: Cart Table */
.raketoria-cart-table-col {
    min-width: 0;
}

.raketoria-cart-table-header {
    display: grid;
    grid-template-columns: minmax(260px, 2.6fr) 1fr 1.2fr 1fr 36px;
    padding: 12px 20px;
    background-color: #f3f4f6;
    border-radius: 8px;
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 600;
    color: #4b5563;
}

.raketoria-cart-table-header .col-product {
    text-align: left;
}

.raketoria-cart-table-header .col-price,
.raketoria-cart-table-header .col-quantity,
.raketoria-cart-table-header .col-total {
    text-align: center;
}

.raketoria-cart-items-wrapper {
    display: flex;
    flex-direction: column;
}

.raketoria-cart-item-row {
    display: grid;
    grid-template-columns: minmax(260px, 2.6fr) 1fr 1.2fr 1fr 36px;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #f3f4f6;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.raketoria-cart-item-row.is-removing {
    opacity: 0.3;
    pointer-events: none;
}

.raketoria-cart-item-row .col-product {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
}

.raketoria-cart-item-img {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.raketoria-cart-item-img a {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.raketoria-cart-item-img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform 0.2s ease;
}

.raketoria-cart-item-img:hover img {
    transform: scale(1.06);
}

.raketoria-cart-item-details {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.raketoria-cart-item-name {
    font-size: 15px;
    font-weight: 600;
    margin: 0;
    line-height: 1.35;
}

.raketoria-cart-item-name a {
    color: #111827;
    text-decoration: none;
    transition: color 0.15s ease;
}

.raketoria-cart-item-name a:hover {
    color: var(--rw-primary, #044b38);
}

.raketoria-cart-item-meta {
    font-size: 13px;
    color: #6b7280;
    margin: 0;
}

.raketoria-cart-item-meta dl {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
}

.raketoria-cart-item-meta dt {
    font-weight: 500;
    color: #4b5563;
    float: left;
}

.raketoria-cart-item-meta dd {
    margin: 0;
    color: #111827;
    float: left;
}

.raketoria-cart-item-meta p {
    margin: 0;
}

.raketoria-cart-stock-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 500;
    color: #059669;
    margin-top: 2px;
}

.raketoria-cart-stock-badge .rw-stock-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: #10b981;
    display: inline-block;
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
}

.raketoria-cart-item-row .col-price {
    font-size: 15px;
    font-weight: 600;
    color: #374151;
    text-align: center;
}

/* Quantity Stepper */
.raketoria-cart-item-row .col-quantity {
    display: flex;
    justify-content: center;
}

.raketoria-cart-qty-stepper {
    display: inline-flex;
    align-items: center;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    background: #ffffff;
    overflow: hidden;
    height: 36px;
    width: 98px;
}

.raketoria-cp-qty-btn {
    width: 30px;
    height: 100%;
    border: none;
    background: transparent;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    color: #4b5563;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s, color 0.15s;
    user-select: none;
    padding: 0;
}

.raketoria-cp-qty-btn:hover {
    background-color: #f3f4f6;
    color: #111827;
}

.raketoria-cp-qty-input {
    width: 38px;
    height: 100%;
    border: none !important;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: #111827;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    -moz-appearance: textfield;
}

.raketoria-cp-qty-input:focus {
    outline: none !important;
    box-shadow: none !important;
}

.raketoria-cp-qty-input::-webkit-outer-spin-button,
.raketoria-cp-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.raketoria-cart-item-row .col-total {
    font-size: 15px;
    font-weight: 700;
    color: #111827;
    text-align: center;
}

.raketoria-cart-item-row .col-action {
    display: flex;
    justify-content: flex-end;
}

.raketoria-cp-remove-btn {
    background: none;
    border: none;
    padding: 6px;
    cursor: pointer;
    color: #9ca3af;
    border-radius: 6px;
    transition: all 0.15s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.raketoria-cp-remove-btn:hover {
    color: #ef4444;
    background-color: #fee2e2;
}

/* Right Column: Sticky Summary Card */
.raketoria-cart-summary-col {
    position: relative;
}

.raketoria-cart-summary-card {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 28px 24px;
    position: sticky;
    top: 24px;
}

.raketoria-summary-title {
    font-size: 18px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 20px 0;
    letter-spacing: -0.01em;
}

.raketoria-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    font-size: 14px;
}

.raketoria-summary-row .label {
    color: #4b5563;
    display: flex;
    align-items: center;
    gap: 6px;
}

.raketoria-summary-row .label .rw-help-icon {
    display: inline-flex;
    align-items: center;
    color: #9ca3af;
    cursor: help;
}

.raketoria-summary-row .value {
    font-weight: 600;
    color: #111827;
}

.raketoria-shipping-threshold-notice {
    font-size: 12px;
    color: #6b7280;
    margin: -4px 0 16px 0;
    line-height: 1.4;
}

.raketoria-summary-divider {
    height: 1px;
    background-color: #e5e7eb;
    margin: 16px 0;
}

.raketoria-summary-row.total-row {
    margin-bottom: 2px;
}

.raketoria-summary-row.total-row .label {
    font-size: 16px;
    font-weight: 700;
    color: #111827;
}

.raketoria-summary-row.total-row .value {
    font-size: 20px;
    font-weight: 800;
    color: #111827;
}

.raketoria-vat-notice {
    font-size: 12px;
    color: #6b7280;
    margin: 0 0 24px 0;
}

/* Promo Code Section */
.raketoria-cart-promo-section {
    margin-bottom: 24px;
}

.raketoria-promo-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 8px;
}

.raketoria-promo-input-wrap {
    display: flex;
    gap: 8px;
}

.raketoria-cp-coupon-input {
    flex: 1;
    height: 42px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    padding: 0 12px;
    font-size: 13px;
    background: #ffffff;
    color: #111827;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.raketoria-cp-coupon-input:focus {
    outline: none;
    border-color: var(--rw-primary, #044b38);
    box-shadow: 0 0 0 2px rgba(4, 75, 56, 0.15);
}

.raketoria-cp-coupon-btn {
    height: 42px;
    padding: 0 18px;
    border: 1px solid #d1d5db;
    background: #ffffff;
    color: #111827;
    font-size: 13px;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
    white-space: nowrap;
}

.raketoria-cp-coupon-btn:hover {
    background-color: #f3f4f6;
    border-color: #9ca3af;
}

.raketoria-cp-coupon-msg {
    font-size: 12px;
    margin-top: 6px;
    line-height: 1.4;
}

.raketoria-cp-coupon-msg.is-success {
    color: #059669;
    font-weight: 500;
}

.raketoria-cp-coupon-msg.is-error {
    color: #dc2626;
    font-weight: 500;
}

/* Action Buttons */
.raketoria-cart-summary-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.raketoria-cp-checkout-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 48px;
    background-color: var(--rw-primary, #044b38);
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 600;
    border-radius: 8px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.15s ease;
}

.raketoria-cp-checkout-btn:hover {
    background-color: var(--rw-primary-hover, #03382a);
    color: #ffffff !important;
}

.raketoria-cp-checkout-btn .rw-arrow {
    font-size: 16px;
    transition: transform 0.2s ease;
}

.raketoria-cp-checkout-btn:hover .rw-arrow {
    transform: translateX(3px);
}

.raketoria-cp-continue-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 44px;
    background-color: #ffffff;
    color: #374151 !important;
    border: 1px solid #d1d5db;
    font-size: 14px;
    font-weight: 500;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.15s ease;
}

.raketoria-cp-continue-btn:hover {
    background-color: #f9fafb;
    border-color: #9ca3af;
    color: #111827 !important;
}

/* 4 Trust Badges Container */
.raketoria-cart-trust-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #ffffff;
    margin: 48px 0;
    overflow: hidden;
}

.raketoria-cart-trust-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 24px 20px;
    border-right: 1px solid #f3f4f6;
}

.raketoria-cart-trust-item:last-child {
    border-right: none;
}

.raketoria-cart-trust-item .rw-trust-icon {
    color: var(--rw-primary, #044b38);
    flex-shrink: 0;
    margin-top: 1px;
}

.raketoria-cart-trust-item .rw-trust-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.raketoria-cart-trust-item .rw-trust-heading {
    font-size: 14px;
    font-weight: 700;
    color: #111827;
    margin: 0;
}

.raketoria-cart-trust-item .rw-trust-desc {
    font-size: 12px;
    color: #6b7280;
    margin: 0;
    line-height: 1.4;
}

/* 5. "You Might Also Like" Product Recommendations Grid */
.raketoria-cart-recommendations-section {
    margin-top: 48px;
}

.raketoria-recommendations-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 20px;
}

.raketoria-recommendations-title {
    font-size: 20px;
    font-weight: 700;
    color: #111827;
    margin: 0;
    letter-spacing: -0.01em;
}

.raketoria-recommendations-link {
    font-size: 13px;
    font-weight: 600;
    color: var(--rw-primary, #044b38);
    text-decoration: none;
    transition: color 0.15s ease;
}

.raketoria-recommendations-link:hover {
    text-decoration: underline;
}

.raketoria-recommendations-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}

.raketoria-rec-card {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #ffffff;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.raketoria-rec-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.raketoria-rec-wishlist {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #9ca3af;
    transition: all 0.15s ease;
    padding: 0;
}

.raketoria-rec-wishlist:hover {
    color: #ef4444;
    border-color: #ef4444;
}

.raketoria-rec-img-wrap {
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #f9fafb;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px;
    overflow: hidden;
}

.raketoria-rec-img-wrap img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.raketoria-rec-card:hover .raketoria-rec-img-wrap img {
    transform: scale(1.06);
}

.raketoria-rec-body {
    padding: 12px 14px 14px 14px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
}

.raketoria-rec-title {
    font-size: 13px;
    font-weight: 600;
    margin: 0;
    line-height: 1.35;
}

.raketoria-rec-title a {
    color: #111827;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.15s ease;
}

.raketoria-rec-title a:hover {
    color: var(--rw-primary, #044b38);
}

.raketoria-rec-rating {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
}

.raketoria-rec-rating .stars {
    color: #f59e0b;
    letter-spacing: 1px;
}

.raketoria-rec-rating .score {
    font-weight: 600;
    color: #111827;
}

.raketoria-rec-rating .count {
    color: #9ca3af;
}

.raketoria-rec-price {
    font-size: 14px;
    font-weight: 700;
    color: var(--rw-primary, #044b38);
    margin-top: auto;
    padding-top: 4px;
}

.raketoria-rec-price del {
    color: #9ca3af;
    font-weight: 400;
    margin-right: 4px;
}

.raketoria-rec-price ins {
    text-decoration: none;
    color: var(--rw-primary, #044b38);
}

/* =========================================================================
 * RESPONSIVE ADJUSTMENTS FOR CART PAGE
 * ========================================================================= */
@media (max-width: 992px) {
    .raketoria-cart-layout-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .raketoria-cart-trust-row {
        grid-template-columns: repeat(2, 1fr);
    }

    .raketoria-cart-trust-item:nth-child(2) {
        border-right: none;
    }

    .raketoria-cart-trust-item:nth-child(1),
    .raketoria-cart-trust-item:nth-child(2) {
        border-bottom: 1px solid #f3f4f6;
    }

    .raketoria-recommendations-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 640px) {
    .raketoria-cart-container {
        padding: 20px 14px 60px 14px;
    }

    .raketoria-cart-title {
        font-size: 26px;
    }

    .raketoria-cart-table-header {
        display: none;
    }

    .raketoria-cart-item-row {
        grid-template-columns: 1fr;
        gap: 14px;
        position: relative;
        padding: 18px 0;
    }

    .raketoria-cart-item-row .col-product {
        padding-right: 40px;
    }

    .raketoria-cart-item-row .col-action {
        position: absolute;
        top: 18px;
        right: 0;
    }

    .raketoria-cart-item-row .col-price,
    .raketoria-cart-item-row .col-quantity,
    .raketoria-cart-item-row .col-total {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .raketoria-cart-item-row .col-price::before {
        content: "Price:";
        font-size: 13px;
        color: #6b7280;
        font-weight: 500;
    }

    .raketoria-cart-item-row .col-quantity::before {
        content: "Quantity:";
        font-size: 13px;
        color: #6b7280;
        font-weight: 500;
    }

    .raketoria-cart-item-row .col-total::before {
        content: "Total:";
        font-size: 13px;
        color: #6b7280;
        font-weight: 500;
    }

    .raketoria-cart-trust-row {
        grid-template-columns: 1fr;
    }

    .raketoria-cart-trust-item {
        border-right: none !important;
        border-bottom: 1px solid #f3f4f6;
    }

    .raketoria-cart-trust-item:last-child {
        border-bottom: none;
    }

    .raketoria-recommendations-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
}

/* =============================================================
 * RAKETORIA DYNAMIC CHECKOUT PAGE
 * 100% Exact match with 4-step progressive mockup
 * ============================================================= */

.raketoria-checkout-wrapper {
    background-color: #f8fafc;
    min-height: 100vh;
    padding: 32px 0 60px 0;
    font-family: var(--rw-font-family);
    color: #111827;
    -webkit-font-smoothing: antialiased;
}

.raketoria-checkout-wrapper *,
.raketoria-checkout-wrapper *::before,
.raketoria-checkout-wrapper *::after {
    box-sizing: border-box;
}

.raketoria-checkout-container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Empty checkout state */
.raketoria-checkout-empty {
    text-align: center;
    padding: 60px 20px;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    margin-top: 40px;
}

/* Header */
.raketoria-checkout-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 28px;
}

.raketoria-checkout-title {
    font-size: 32px;
    font-weight: 800;
    color: #111827;
    margin: 0 0 6px 0;
    letter-spacing: -0.02em;
}

.raketoria-checkout-subtitle {
    font-size: 14px;
    color: #64748b;
    margin: 0;
}

.raketoria-checkout-secure-badge {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.rw-secure-icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
}

.rw-secure-text {
    display: flex;
    flex-direction: column;
}

.rw-secure-title {
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
}

.rw-secure-sub {
    font-size: 11px;
    color: #64748b;
}

/* 2-Column Grid */
.raketoria-checkout-grid {
    display: grid;
    grid-template-columns: 1fr 390px;
    gap: 32px;
    align-items: start;
}

/* Step Cards */
.raketoria-checkout-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 24px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.raketoria-step-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.raketoria-step-title-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
}

.raketoria-step-number {
    width: 28px;
    height: 28px;
    background: #044b38;
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    flex-shrink: 0;
}

.raketoria-step-title {
    font-size: 18px;
    font-weight: 700;
    color: #111827;
    margin: 0;
    letter-spacing: -0.01em;
}

.raketoria-step-login-link {
    font-size: 13px;
    color: #64748b;
}

.rw-login-action {
    color: #044b38;
    font-weight: 600;
    text-decoration: underline;
    margin-left: 4px;
}

/* Form inputs */
.raketoria-form-group {
    margin-bottom: 16px;
}

.raketoria-form-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    margin-bottom: 6px;
}

.rw-req {
    color: #ef4444;
}

.raketoria-form-input,
.raketoria-form-select {
    width: 100%;
    height: 44px;
    padding: 0 14px;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    font-size: 14px;
    color: #1e293b;
    background: #ffffff;
    transition: border-color 0.2s, box-shadow 0.2s;
    outline: none;
}

.raketoria-form-input:focus,
.raketoria-form-select:focus {
    border-color: #044b38;
    box-shadow: 0 0 0 3px rgba(4, 75, 56, 0.12);
}

.raketoria-cols-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.raketoria-select-wrap {
    position: relative;
    width: 100%;
}

.raketoria-form-select {
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    padding-right: 36px;
}

.rw-select-caret {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #64748b;
    display: flex;
    align-items: center;
}

/* Checkbox */
.raketoria-checkbox-group {
    margin-top: 8px;
}

.raketoria-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.raketoria-checkbox-label input {
    accent-color: #044b38;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    cursor: pointer;
}

.raketoria-checkbox-text strong {
    display: block;
    font-size: 13.5px;
    color: #1e293b;
    font-weight: 600;
}

.raketoria-subtext {
    display: block;
    font-size: 12px;
    color: #64748b;
    margin-top: 2px;
}

/* Step 3: Shipping Method Radio Cards */
.raketoria-shipping-cards-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.raketoria-shipping-radio-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 18px;
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s;
    background: #ffffff;
    user-select: none;
}

.raketoria-shipping-radio-card:hover {
    border-color: #cbd5e1;
}

.raketoria-shipping-radio-card.active {
    border-color: #044b38;
    background: #f0fdf4;
}

.rw-card-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.raketoria-shipping-method-radio {
    display: none;
}

.raketoria-radio-dot {
    width: 18px;
    height: 18px;
    border: 2px solid #cbd5e1;
    border-radius: 50%;
    position: relative;
    flex-shrink: 0;
    transition: all 0.2s;
}

.raketoria-shipping-radio-card.active .raketoria-radio-dot,
.raketoria-payment-accordion-item.active .raketoria-radio-dot {
    border-color: #044b38;
    background: #044b38;
    box-shadow: inset 0 0 0 3.5px #ffffff;
}

.rw-shipping-icon {
    color: #044b38;
    display: flex;
    align-items: center;
}

.rw-shipping-name {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #111827;
}

.rw-shipping-eta {
    display: block;
    font-size: 12px;
    color: #64748b;
    margin-top: 2px;
}

.rw-shipping-price {
    font-size: 14px;
    font-weight: 700;
    color: #111827;
}

.rw-shipping-price.price-free {
    color: #044b38;
}

/* Step 4: Payment Methods */
.raketoria-payment-methods-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.raketoria-payment-accordion-item {
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    transition: border-color 0.2s, background 0.2s;
    background: #ffffff;
}

.raketoria-payment-accordion-item.active {
    border-color: #044b38;
}

.raketoria-payment-header-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 18px;
    cursor: pointer;
    width: 100%;
    margin: 0;
    user-select: none;
}

.raketoria-payment-radio {
    display: none;
}

.rw-pay-icon {
    color: #334155;
    display: flex;
    align-items: center;
}

.rw-pay-title {
    font-size: 14px;
    font-weight: 700;
    color: #111827;
}

.rw-payment-logos {
    display: flex;
    align-items: center;
    gap: 6px;
}

.rw-pay-badge {
    padding: 2px 7px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 800;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    letter-spacing: 0.02em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.badge-visa {
    color: #1a1f71;
    font-style: italic;
    font-family: serif;
    font-weight: 900;
}

.badge-mc {
    display: inline-flex;
    align-items: center;
    padding: 4px 6px;
}

.mc-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}

.mc-dot.red {
    background: #eb001b;
    margin-right: -4px;
    z-index: 1;
}

.mc-dot.yellow {
    background: #f79e1b;
    opacity: 0.9;
}

.badge-amex {
    background: #007bc1;
    color: #ffffff;
    border-color: #007bc1;
}

.badge-apple {
    background: #000000;
    color: #ffffff;
    border-color: #000000;
}

.rw-paypal-logo {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #003087;
    font-size: 14px;
}

.rw-klarna-badge {
    background: #ffb3c7;
    color: #0a0a0a;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 800;
    font-size: 11px;
    margin-right: 4px;
}

.rw-klarna-title {
    display: flex;
    flex-direction: column;
}

.rw-klarna-sub {
    font-size: 11px;
    color: #64748b;
    font-weight: normal;
}

.raketoria-payment-body {
    padding: 0 18px 18px 18px;
    border-top: 1px solid #f1f5f9;
    margin-top: 4px;
    padding-top: 16px;
}

.raketoria-input-with-icon {
    position: relative;
    width: 100%;
}

.rw-input-end-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    color: #9ca3af;
}

.rw-payment-note {
    font-size: 13px;
    color: #64748b;
    margin: 0;
    line-height: 1.4;
}

/* RIGHT COLUMN: STICKY ORDER SUMMARY */
.raketoria-checkout-summary-sticky {
    position: sticky;
    top: 24px;
}

.raketoria-order-summary-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.raketoria-summary-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.raketoria-summary-heading {
    font-size: 18px;
    font-weight: 700;
    color: #111827;
    margin: 0;
    letter-spacing: -0.01em;
}

.raketoria-edit-cart-link {
    font-size: 13px;
    font-weight: 600;
    color: #044b38;
    text-decoration: underline;
    transition: opacity 0.2s;
}

.raketoria-edit-cart-link:hover {
    opacity: 0.8;
}

/* Items list */
.raketoria-checkout-items-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-height: 420px;
    overflow-y: auto;
    padding-right: 4px;
}

.raketoria-checkout-item-row {
    display: flex;
    gap: 14px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f1f5f9;
}

.raketoria-checkout-item-row:last-child {
    border-bottom: none;
    padding-bottom: 4px;
}

.rw-item-thumb {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #f1f5f9;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rw-item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rw-item-info {
    flex: 1;
    min-width: 0;
}

.rw-item-title-trash {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
}

.rw-item-name {
    font-size: 13.5px;
    font-weight: 600;
    color: #111827;
    line-height: 1.35;
    margin: 0;
}

.rw-item-name a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}

.rw-item-name a:hover {
    color: #044b38;
}

.raketoria-checkout-trash-btn {
    background: none;
    border: none;
    padding: 3px;
    color: #9ca3af;
    cursor: pointer;
    transition: color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.raketoria-checkout-trash-btn:hover {
    color: #ef4444;
}

.rw-item-meta {
    font-size: 12px;
    color: #64748b;
    margin: 3px 0 8px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rw-item-bottom-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rw-item-price-subtotal {
    font-size: 14px;
    font-weight: 700;
    color: #111827;
}

/* Stepper inside checkout */
.raketoria-qty-stepper {
    display: inline-flex;
    align-items: center;
    border: 1.5px solid #e2e8f0;
    border-radius: 6px;
    background: #ffffff;
    height: 28px;
    overflow: hidden;
}

.rw-stepper-btn {
    width: 26px;
    height: 100%;
    border: none;
    background: none;
    font-size: 14px;
    font-weight: 600;
    color: #475569;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, color 0.15s;
    padding: 0;
}

.rw-stepper-btn:hover {
    color: #044b38;
    background: #f8fafc;
}

.rw-stepper-input {
    width: 28px;
    height: 100%;
    border: none;
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    color: #1e293b;
    pointer-events: none;
    padding: 0;
    background: transparent;
}

/* Summary totals */
.raketoria-summary-divider {
    height: 1px;
    background-color: #f1f5f9;
    margin: 16px 0;
}

.raketoria-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    color: #475569;
    margin-bottom: 10px;
}

.raketoria-summary-row.total-row {
    font-size: 18px;
    font-weight: 800;
    color: #111827;
    margin-bottom: 2px;
    letter-spacing: -0.01em;
}

.raketoria-vat-notice {
    font-size: 11px;
    color: #94a3b8;
    margin: 0 0 16px 0;
}

/* Place order CTA */
.raketoria-place-order-cta {
    width: 100%;
    height: 50px;
    background: #044b38;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
    box-shadow: 0 2px 4px rgba(4, 75, 56, 0.15);
}

.raketoria-place-order-cta:hover {
    background: #03382a;
}

.raketoria-place-order-cta:active {
    transform: scale(0.99);
}

.raketoria-legal-notice {
    font-size: 11px;
    color: #64748b;
    line-height: 1.45;
    text-align: center;
    margin: 14px 0 0 0;
}

.raketoria-legal-notice a {
    color: #111827;
    text-decoration: underline;
}

/* 3 Trust Badges Card below summary */
.raketoria-checkout-trust-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px;
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.rw-trust-card-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.rw-trust-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rw-trust-card-title {
    font-size: 13.5px;
    font-weight: 700;
    color: #111827;
    margin: 0;
}

.rw-trust-card-sub {
    font-size: 12px;
    color: #64748b;
    margin: 2px 0 0 0;
}

/* Bottom Full-Width Trust Row */
.raketoria-checkout-bottom-trust-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    padding: 36px 0 10px 0;
    margin-top: 48px;
    border-top: 1px solid #e2e8f0;
}

.rw-bottom-trust-item {
    display: flex;
    align-items: center;
    gap: 14px;
}

.rw-bottom-trust-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rw-bottom-trust-title {
    font-size: 14px;
    font-weight: 700;
    color: #111827;
    margin: 0;
}

.rw-bottom-trust-desc {
    font-size: 12px;
    color: #64748b;
    margin: 2px 0 0 0;
}

.rw-contact-link {
    color: #044b38;
    font-weight: 600;
    text-decoration: none;
    margin-left: 4px;
}

.rw-contact-link:hover {
    text-decoration: underline;
}

/* Responsive Breakpoints */
@media (max-width: 991px) {
    .raketoria-checkout-grid {
        grid-template-columns: 1fr;
    }

    .raketoria-checkout-bottom-trust-row {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
}

@media (max-width: 600px) {
    .raketoria-checkout-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .raketoria-cols-2 {
        grid-template-columns: 1fr;
    }

    .raketoria-checkout-bottom-trust-row {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* ==========================================================================
   MY ORDERS & ACCOUNT DASHBOARD STYLES (Mockup Exact Match)
   ========================================================================== */

/* BREAK OUT OF BLOCK THEME / NARROW THEME CONSTRAINED CONTAINERS */
body.woocommerce-account .entry-title,
body.woocommerce-account .wp-block-post-title,
body.woocommerce-account .entry-header,
.woocommerce-account h1.entry-title {
    display: none !important;
}

body.woocommerce-account .site-main,
body.woocommerce-account #main,
body.woocommerce-account #primary,
body.woocommerce-account .content-area,
body.woocommerce-account .entry-content,
body.woocommerce-account .wp-block-post-content,
body.woocommerce-account .is-layout-constrained,
body.woocommerce-account .is-layout-flow,
body.woocommerce-account .wp-block-group,
body.woocommerce-account .wp-site-blocks,
body.woocommerce-account main {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.woocommerce-account :where(.is-layout-constrained) > :not(.alignleft):not(.alignright) {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.woocommerce-account :where(.is-layout-constrained) > .alignfull,
body.woocommerce-account .alignfull {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.raketoria-orders-page-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    background-color: #fbfcfd;
    padding: 30px 20px 80px 20px;
    box-sizing: border-box !important;
    font-family: var(--rw-font-family);
    color: #111827;
}

.raketoria-orders-page-wrapper * {
    box-sizing: border-box;
}

.raketoria-orders-container,
.raketoria-account-master-wrapper .raketoria-orders-container {
    max-width: 1280px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
}

/* Top Header */
.raketoria-orders-header {
    margin-bottom: 28px;
}

.raketoria-orders-subtag {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    color: #64748b;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.raketoria-orders-main-title {
    font-size: 32px;
    font-weight: 700;
    color: var(--rw-primary, #044b38);
    margin: 0 0 6px 0;
    line-height: 1.2;
    letter-spacing: -0.5px;
}

.raketoria-orders-subtitle {
    font-size: 14px;
    color: #64748b;
    margin: 0;
    line-height: 1.5;
}

/* 2-Column Account Grid */
.raketoria-account-grid {
    display: grid !important;
    grid-template-columns: 260px minmax(0, 1fr) !important;
    gap: 30px !important;
    align-items: flex-start !important;
    width: 100% !important;
}

.raketoria-account-main-content {
    min-width: 0 !important;
    width: 100% !important;
}

/* Left Sidebar: User Profile Card */
.raketoria-account-user-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.rw-user-avatar {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: #f1f5f9 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
    color: #64748b !important;
}

.rw-user-avatar-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 50% !important;
    display: block !important;
}

.rw-user-details {
    overflow: hidden;
}

.rw-user-name {
    font-size: 15px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 2px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rw-user-email {
    font-size: 12px;
    color: #64748b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}

/* Left Sidebar: Navigation */
.raketoria-account-nav {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
    overflow: hidden;
}

.raketoria-account-nav-list {
    list-style: none;
    margin: 0;
    padding: 8px 0;
}

.raketoria-nav-item {
    margin: 0;
    padding: 0;
}

.raketoria-nav-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 20px;
    font-size: 14px;
    font-weight: 500;
    color: #4b5563;
    text-decoration: none;
    transition: all 0.15s ease;
    border-left: 3px solid transparent;
}

.raketoria-nav-link:hover {
    background: #f8fafc;
    color: #111827;
}

.raketoria-nav-item.is-active .raketoria-nav-link {
    background: #f0fdf4;
    color: var(--rw-primary, #044b38);
    font-weight: 600;
    border-left-color: var(--rw-primary, #044b38);
}

.rw-nav-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: currentColor;
    flex-shrink: 0;
}

.raketoria-nav-item.raketoria-nav-logout {
    border-top: 1px solid #f1f5f9;
    margin-top: 6px;
    padding-top: 6px;
}

.raketoria-nav-item.raketoria-nav-logout .raketoria-nav-link {
    color: #ef4444;
}

.raketoria-nav-item.raketoria-nav-logout .raketoria-nav-link:hover {
    background: #fef2f2;
    color: #dc2626;
}

/* Right Content: Orders Card & Table */
.raketoria-orders-card {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
    overflow: hidden !important;
}

.raketoria-table-responsive {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

.raketoria-orders-table {
    width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    background: #ffffff !important;
    margin: 0 !important;
    border: none !important;
    min-width: 680px !important;
    table-layout: fixed !important;
}

.raketoria-orders-table th {
    background: #f8fafc !important;
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    padding: 14px 18px !important;
    text-align: left !important;
    border: none !important;
    border-bottom: 1px solid #e5e7eb !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}

.raketoria-orders-table td {
    padding: 16px 18px !important;
    border: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle !important;
    color: #4b5563 !important;
    font-size: 13px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

.raketoria-orders-table tr:last-child td {
    border-bottom: none !important;
}

.raketoria-orders-table tbody tr:hover td {
    background: #fbfcfd !important;
}

.rw-th-order, .rw-td-order {
    width: 40% !important;
    min-width: 220px !important;
}

.rw-th-date, .rw-td-date {
    width: 14% !important;
    min-width: 100px !important;
    white-space: nowrap !important;
}

.rw-th-status, .rw-td-status {
    width: 16% !important;
    min-width: 115px !important;
}

.rw-th-items, .rw-td-items {
    width: 10% !important;
    min-width: 70px !important;
    white-space: nowrap !important;
}

.rw-th-total, .rw-td-total {
    width: 10% !important;
    min-width: 85px !important;
    white-space: nowrap !important;
}

.rw-th-action, .rw-td-action {
    width: 10% !important;
    min-width: 85px !important;
    text-align: right !important;
}

/* Order Cell Flex (Thumb + Title + Order Number) */
.rw-order-cell-flex {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    min-width: 0 !important;
}

.rw-order-thumb {
    width: 52px !important;
    height: 52px !important;
    border-radius: 8px !important;
    border: 1px solid #e5e7eb !important;
    background: #f8fafc !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    padding: 4px !important;
}

.rw-order-thumb img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    display: block !important;
}

.rw-order-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

.rw-order-number {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    letter-spacing: -0.2px !important;
    white-space: nowrap !important;
}

.rw-order-item-title {
    font-size: 12px !important;
    color: #64748b !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 190px !important;
}

.rw-date-val {
    font-size: 13px !important;
    color: #4b5563 !important;
    white-space: nowrap !important;
}

.rw-items-val {
    font-size: 13px !important;
    color: #4b5563 !important;
    white-space: nowrap !important;
}

.rw-total-val {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    white-space: nowrap !important;
}

.rw-no-orders-msg {
    text-align: center !important;
    padding: 30px !important;
    color: #64748b !important;
    font-size: 14px !important;
}

/* ==========================================================================
   DASHBOARD VIEW STYLES
   ========================================================================== */
.raketoria-dashboard-view {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

.raketoria-welcome-card {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 24px 28px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
}

.rw-welcome-greeting {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin: 0 0 6px 0 !important;
}

.rw-welcome-desc {
    font-size: 14px !important;
    color: #64748b !important;
    margin: 0 !important;
    line-height: 1.6 !important;
}

.rw-welcome-desc a {
    color: var(--rw-primary, #044b38) !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}

.raketoria-quick-stats-row {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
}

.rw-stat-card {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 18px 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}

.rw-stat-card:hover {
    border-color: #cbd5e1 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
}

.rw-stat-icon-wrap {
    width: 46px !important;
    height: 46px !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

.rw-stat-info {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}

.rw-stat-label {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.rw-stat-val {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin-top: 2px !important;
}

.rw-stat-link-arrow {
    color: #94a3b8 !important;
    font-size: 16px !important;
    transition: transform 0.15s ease !important;
}

.rw-stat-card:hover .rw-stat-link-arrow {
    transform: translateX(3px) !important;
    color: var(--rw-primary, #044b38) !important;
}

.raketoria-dashboard-recent-orders {
    margin-top: 6px !important;
}

.rw-section-title-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 14px !important;
}

.rw-recent-orders-heading {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin: 0 !important;
}

.rw-view-all-link {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--rw-primary, #044b38) !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.rw-view-all-link:hover {
    color: var(--rw-accent, #10b981) !important;
}

/* ==========================================================================
   PADDED CARD FOR OTHER ENDPOINTS (Addresses, Account Details, etc.)
   ========================================================================== */
.raketoria-account-card-padded {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 30px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
}

.raketoria-account-card-padded h3,
.raketoria-account-card-padded h4 {
    color: #111827 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-top: 0 !important;
    margin-bottom: 14px !important;
}

.raketoria-account-card-padded input[type="text"],
.raketoria-account-card-padded input[type="email"],
.raketoria-account-card-padded input[type="password"],
.raketoria-account-card-padded input[type="tel"],
.raketoria-account-card-padded select,
.raketoria-account-card-padded textarea {
    width: 100% !important;
    padding: 10px 14px !important;
    border: 1px solid #d1d5db !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    color: #111827 !important;
}

.raketoria-account-card-padded button[type="submit"],
.raketoria-account-card-padded .button {
    background: var(--rw-primary, #044b38) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 24px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.raketoria-account-card-padded button[type="submit"]:hover,
.raketoria-account-card-padded .button:hover {
    background: #033628 !important;
    color: #ffffff !important;
}

/* WooCommerce Addresses layout & immunize from Bootstrap/theme .col-1 (8.33%) */
.raketoria-account-card-padded .u-columns,
.raketoria-account-card-padded .woocommerce-Addresses,
.raketoria-account-card-padded .col2-set.addresses,
.raketoria-account-card-padded .col2-set {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 20px 0 !important;
}

.raketoria-account-card-padded .u-column1,
.raketoria-account-card-padded .u-column2,
.raketoria-account-card-padded .col-1,
.raketoria-account-card-padded .col-2,
.raketoria-account-card-padded .woocommerce-Address,
.raketoria-orders-page-wrapper .col-1,
.raketoria-orders-page-wrapper .col-2 {
    float: none !important;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin: 0 !important;
    display: block !important;
}

.raketoria-account-card-padded .woocommerce-Address-title,
.raketoria-orders-page-wrapper .woocommerce-Address-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 16px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    padding-bottom: 12px !important;
    width: 100% !important;
}

.raketoria-account-card-padded .woocommerce-Address-title h3,
.raketoria-orders-page-wrapper .woocommerce-Address-title h3 {
    margin: 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    white-space: nowrap !important;
}

.raketoria-account-card-padded .woocommerce-Address-title .edit,
.raketoria-orders-page-wrapper .woocommerce-Address-title .edit {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--rw-primary, #044b38) !important;
    text-decoration: none !important;
    background: #e6f4ea !important;
    padding: 6px 14px !important;
    border-radius: 6px !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
}

.raketoria-account-card-padded .woocommerce-Address-title .edit:hover,
.raketoria-orders-page-wrapper .woocommerce-Address-title .edit:hover {
    background: var(--rw-primary, #044b38) !important;
    color: #ffffff !important;
}

.raketoria-account-card-padded address,
.raketoria-orders-page-wrapper address {
    font-style: normal !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #475569 !important;
    white-space: normal !important;
    word-break: normal !important;
}

@media (max-width: 768px) {
    .raketoria-account-card-padded .u-columns,
    .raketoria-account-card-padded .woocommerce-Addresses,
    .raketoria-account-card-padded .col2-set {
        grid-template-columns: 1fr !important;
    }
}

/* Status Pill Badges */
.rw-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 9999px;
    font-size: 12px;
    font-weight: 600;
    width: fit-content;
}

.rw-status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    display: inline-block;
}

.status-delivered,
.status-completed {
    background: #ecfdf5;
    color: #059669;
}
.status-delivered .rw-status-dot,
.status-completed .rw-status-dot {
    background: #10b981;
}

.status-processing {
    background: #eff6ff;
    color: #2563eb;
}
.status-processing .rw-status-dot {
    background: #3b82f6;
}

.status-cancelled {
    background: #fef2f2;
    color: #dc2626;
}
.status-cancelled .rw-status-dot {
    background: #ef4444;
}

.status-on-hold {
    background: #fffbeb;
    color: #d97706;
}
.status-on-hold .rw-status-dot {
    background: #f59e0b;
}

/* Action: View Button */
.rw-order-view-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--rw-primary, #044b38);
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    text-decoration: none;
    transition: all 0.15s ease;
    width: fit-content;
}

.rw-order-view-btn .rw-btn-arrow {
    transition: transform 0.15s ease;
}

.rw-order-view-btn:hover {
    background: var(--rw-primary, #044b38);
    color: #ffffff;
    border-color: var(--rw-primary, #044b38);
}

.rw-order-view-btn:hover .rw-btn-arrow {
    transform: translateX(3px);
}

/* Table Footer */
.raketoria-orders-table-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 20px;
    background: #ffffff;
    border-top: 1px solid #f1f5f9;
}

.rw-orders-count-text {
    font-size: 13px;
    color: #64748b;
    font-weight: 500;
}

.rw-orders-pagination {
    display: flex;
    align-items: center;
    gap: 6px;
}

.rw-page-arrow {
    width: 32px;
    height: 32px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    background: #ffffff;
    color: #4b5563;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: all 0.15s ease;
}

.rw-page-arrow:hover {
    border-color: #cbd5e1;
    color: #111827;
    background: #f8fafc;
}

.rw-page-num {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
}

.rw-page-num.is-active {
    background: var(--rw-primary, #044b38);
    color: #ffffff;
}

/* 3. Track Your Order Feature Card */
.raketoria-track-order-card {
    background: linear-gradient(135deg, #f0fdf4 0%, #e6f9ee 100%);
    border: 1px solid #bbf7d0;
    border-radius: 14px;
    padding: 24px 30px;
    margin-top: 32px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.rw-track-card-left {
    display: flex;
    align-items: center;
    gap: 20px;
}

.rw-track-icon-box {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    background: #dcfce7;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 2px 6px rgba(16, 185, 129, 0.15);
}

.rw-track-text {
    display: flex;
    flex-direction: column;
}

.rw-track-tag {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    color: #059669;
    text-transform: uppercase;
    margin-bottom: 2px;
}

.rw-track-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--rw-primary, #044b38);
    margin: 0 0 3px 0;
}

.rw-track-desc {
    font-size: 13px;
    color: #4b5563;
    margin: 0;
}

.rw-track-cta-btn {
    background: var(--rw-primary, #044b38);
    color: #ffffff !important;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s ease;
    border: none;
    box-shadow: 0 4px 12px rgba(4, 75, 56, 0.15);
}

.rw-track-cta-btn:hover {
    background: #033628;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(4, 75, 56, 0.25);
}

.rw-track-cta-btn .rw-arrow {
    transition: transform 0.15s ease;
}

.rw-track-cta-btn:hover .rw-arrow {
    transform: translateX(3px);
}

/* 4. 4-Item Trust Badges Row */
.raketoria-account-trust-row {
    margin-top: 36px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.rw-trust-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.rw-trust-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #111827;
}

.rw-trust-content {
    display: flex;
    flex-direction: column;
}

.rw-trust-heading {
    font-size: 14px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 3px 0;
}

.rw-trust-caption {
    font-size: 12px;
    color: #64748b;
    margin: 0;
    line-height: 1.4;
}

/* 5. Top Brands Section */
.raketoria-top-brands-section {
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid #e5e7eb;
}

.raketoria-brands-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.raketoria-brands-title {
    font-size: 18px;
    font-weight: 700;
    color: #111827;
    margin: 0;
}

.rw-view-all-brands-link {
    font-size: 13px;
    font-weight: 600;
    color: var(--rw-primary, #044b38);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: color 0.15s ease;
}

.rw-view-all-brands-link:hover {
    color: var(--rw-accent, #10b981);
}

.rw-view-all-brands-link .rw-arrow {
    transition: transform 0.15s ease;
}

.rw-view-all-brands-link:hover .rw-arrow {
    transform: translateX(3px);
}

.raketoria-brands-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
}

.rw-brand-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 18px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 72px;
    text-decoration: none !important;
    transition: all 0.2s ease;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
    box-sizing: border-box;
}

.rw-brand-card:hover {
    border-color: #cbd5e1;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* Brand Text Styles */
.rw-brand-text {
    user-select: none;
}

.brand-babolat {
    font-family: var(--rw-font-family);
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -0.5px;
    color: #1e293b;
}

.brand-dunlop {
    font-family: "Impact", "Arial Black", sans-serif;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 0.5px;
    color: #1e293b;
    display: flex;
    align-items: center;
}

.brand-wilson {
    font-family: "Georgia", "Times New Roman", serif;
    font-size: 20px;
    font-style: italic;
    font-weight: 700;
    color: #dc2626;
}

.brand-head {
    font-family: var(--rw-font-family);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1px;
    color: #1e293b;
    text-align: center;
}

.brand-nox {
    font-family: "Arial Black", sans-serif;
    font-size: 19px;
    font-weight: 900;
    letter-spacing: 2px;
    color: #1e293b;
}

.brand-adidas {
    font-family: var(--rw-font-family);
    font-size: 12px;
    font-weight: 700;
    color: #1e293b;
    text-align: center;
}

/* Responsive Breakpoints for My Orders */
@media (max-width: 991px) {
    .raketoria-account-grid {
        grid-template-columns: 1fr;
    }

    .raketoria-account-sidebar {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .raketoria-account-user-card {
        margin-bottom: 0;
    }

    .raketoria-account-trust-row {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .raketoria-brands-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .raketoria-account-sidebar {
        grid-template-columns: 1fr;
    }

    .raketoria-quick-stats-row {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .raketoria-account-card-padded {
        padding: 18px !important;
    }

    .raketoria-account-card-padded .u-columns {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .raketoria-track-order-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }

    .rw-track-card-right {
        width: 100%;
    }

    .rw-track-cta-btn {
        width: 100%;
        justify-content: center;
    }

    .raketoria-account-trust-row {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .raketoria-brands-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ==========================================================================
   RAKETORIA SHOP & PRODUCT CATALOG ARCHIVE STYLES (Mockup Exact Match)
   ========================================================================== */

/* Break out of block themes & classic themes on Shop / Category archives */
body.woocommerce-shop .entry-title,
body.woocommerce-shop .wp-block-post-title,
body.woocommerce-shop .page-title,
body.woocommerce-shop .woocommerce-products-header,
body.tax-product_cat .entry-title,
body.tax-product_cat .wp-block-post-title,
body.tax-product_cat .page-title,
body.tax-product_cat .woocommerce-products-header {
    display: none !important;
}

body.woocommerce-shop .site-main,
body.woocommerce-shop #main,
body.woocommerce-shop #primary,
body.woocommerce-shop .content-area,
body.woocommerce-shop .entry-content,
body.woocommerce-shop .wp-block-post-content,
body.woocommerce-shop .is-layout-constrained,
body.woocommerce-shop .is-layout-flow,
body.woocommerce-shop .wp-block-group,
body.woocommerce-shop .wp-site-blocks,
body.woocommerce-shop main,
body.tax-product_cat .site-main,
body.tax-product_cat #main,
body.tax-product_cat #primary,
body.tax-product_cat .content-area,
body.tax-product_cat .entry-content,
body.tax-product_cat .wp-block-post-content,
body.tax-product_cat .is-layout-constrained,
body.tax-product_cat .is-layout-flow,
body.tax-product_cat .wp-block-group,
body.tax-product_cat .wp-site-blocks,
body.tax-product_cat main {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.woocommerce-shop :where(.is-layout-constrained) > :not(.alignleft):not(.alignright),
body.tax-product_cat :where(.is-layout-constrained) > :not(.alignleft):not(.alignright) {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.woocommerce-shop :where(.is-layout-constrained) > .alignfull,
body.woocommerce-shop .alignfull,
body.tax-product_cat :where(.is-layout-constrained) > .alignfull,
body.tax-product_cat .alignfull {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Outer Wrapper & 1280px Container */
.raketoria-shop-page-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    background-color: #fbfcfd;
    padding: 24px 20px 80px 20px;
    box-sizing: border-box !important;
    font-family: var(--rw-font-family);
    color: #111827;
}

.raketoria-shop-page-wrapper * {
    box-sizing: border-box;
}

.raketoria-shop-container {
    max-width: 1280px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
}

/* 1. Breadcrumbs */
.raketoria-shop-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #64748b;
    margin-bottom: 20px;
}

.raketoria-shop-breadcrumbs a {
    color: #64748b;
    text-decoration: none;
    transition: color 0.2s;
}

.raketoria-shop-breadcrumbs a:hover {
    color: var(--rw-primary, #044b38);
}

.rw-breadcrumb-sep {
    color: #94a3b8;
    font-size: 11px;
}

.rw-breadcrumb-current {
    color: #0f172a;
    font-weight: 600;
}

/* 2. Hero Banner */
.raketoria-shop-hero-banner {
    background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 45%, #e6f7ef 100%);
    border-radius: 16px;
    display: grid;
    grid-template-columns: 1fr 480px;
    overflow: hidden;
    border: 1px solid #d1fae5;
    margin-bottom: 32px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.rw-hero-content-col {
    padding: 38px 36px 36px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rw-hero-main-title {
    font-size: 42px;
    font-weight: 800;
    color: var(--rw-primary, #044b38);
    line-height: 1.15;
    margin: 0 0 10px 0;
    letter-spacing: -0.8px;
}

.rw-hero-main-subtitle {
    font-size: 16px;
    color: #475569;
    margin: 0 0 32px 0;
    line-height: 1.5;
}

.rw-hero-trust-badges {
    display: flex;
    align-items: center;
    gap: 28px;
    flex-wrap: wrap;
}

.rw-hero-badge-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.rw-hero-badge-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #ffffff;
    border: 1px solid #d1fae5;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.rw-hero-badge-text {
    display: flex;
    flex-direction: column;
}

.rw-hero-badge-text strong {
    font-size: 13.5px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
}

.rw-hero-badge-text span {
    font-size: 12px;
    color: #64748b;
}

.rw-hero-visual-col {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 220px;
}

.rw-hero-court-graphic {
    width: 100%;
    height: 100%;
    display: block;
}

/* 3. Main 2-Column Catalog Layout */
.raketoria-shop-layout-grid {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 36px;
    align-items: flex-start;
    width: 100%;
}

/* 4. Left Filter Sidebar */
.raketoria-shop-filter-sidebar {
    background: transparent;
}

.rw-filter-sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 14px;
    border-bottom: 1px solid #e2e8f0;
    margin-bottom: 8px;
}

.rw-filter-sidebar-title {
    font-size: 17px;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
}

.rw-filter-clear-all-btn {
    background: none;
    border: none;
    font-size: 13px;
    font-weight: 600;
    color: #10b981;
    cursor: pointer;
    padding: 0;
    transition: color 0.2s;
}

.rw-filter-clear-all-btn:hover {
    color: #044b38;
    text-decoration: underline;
}

.rw-filter-group {
    border-bottom: 1px solid #f1f5f9;
    padding: 14px 0;
}

.rw-filter-accordion-header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    text-align: left;
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
}

.rw-accordion-icon {
    font-size: 11px;
    color: #64748b;
    transition: transform 0.2s ease;
}

.rw-filter-group.is-closed .rw-accordion-icon {
    transform: rotate(180deg);
}

.rw-filter-accordion-content {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.rw-filter-group.is-closed .rw-filter-accordion-content {
    display: none;
}

.rw-checkbox-row {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13.5px;
    color: #334155;
    cursor: pointer;
    user-select: none;
}

.rw-checkbox-row input[type="checkbox"] {
    display: none;
}

.rw-custom-box {
    width: 17px;
    height: 17px;
    border: 1.5px solid #cbd5e1;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    flex-shrink: 0;
    background: #ffffff;
}

.rw-checkbox-row input[type="checkbox"]:checked + .rw-custom-box {
    background: var(--rw-primary, #044b38);
    border-color: var(--rw-primary, #044b38);
}

.rw-checkbox-row input[type="checkbox"]:checked + .rw-custom-box::after {
    content: "";
    width: 4px;
    height: 8px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    margin-top: -2px;
}

.rw-filter-label {
    flex-grow: 1;
}

.rw-filter-count {
    color: #94a3b8;
    font-size: 12.5px;
}

/* Price Range Slider */
.rw-price-slider-wrap {
    position: relative;
    padding: 10px 4px 6px 4px;
}

.rw-slider-track {
    position: relative;
    height: 4px;
    background: #e2e8f0;
    border-radius: 2px;
    margin-bottom: 16px;
}

.rw-slider-range {
    position: absolute;
    height: 100%;
    background: var(--rw-primary, #044b38);
    border-radius: 2px;
}

.rw-slider-handle {
    position: absolute;
    top: 50%;
    width: 14px;
    height: 14px;
    background: var(--rw-primary, #044b38);
    border: 2px solid #ffffff;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
    z-index: 4;
}

.rw-slider-input {
    position: absolute;
    top: 10px;
    left: 4px;
    width: calc(100% - 8px);
    height: 4px;
    margin: 0;
    padding: 0;
    pointer-events: none;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    z-index: 5;
    outline: none;
    border: none;
}

.rw-slider-input::-webkit-slider-thumb {
    pointer-events: auto;
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--rw-primary, #044b38);
    border: 2px solid #ffffff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    cursor: pointer;
}

.rw-slider-input::-moz-range-thumb {
    pointer-events: auto;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--rw-primary, #044b38);
    border: 2px solid #ffffff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    border: none;
}

.rw-price-values-row {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 600;
    color: #0f172a;
}

.rw-checkbox-row.rw-count-zero {
    opacity: 0.5;
}
.rw-checkbox-row.rw-count-zero:hover {
    opacity: 0.8;
}

.rw-no-options-note {
    font-size: 13px;
    color: #94a3b8;
    margin: 4px 0 0 0;
}

/* 5. Product Top Bar & 4-Column Grid */
.raketoria-shop-main-content {
    min-width: 0;
    width: 100%;
}

.raketoria-shop-top-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}

.rw-shop-results-count {
    font-size: 14px;
    font-weight: 600;
    color: #0f172a;
}

.rw-shop-sort-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: #64748b;
}

.rw-shop-sort-dropdown {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 7px 12px;
    font-size: 13px;
    font-weight: 600;
    color: #0f172a;
    cursor: pointer;
    outline: none;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

/* 3-COLUMN PRODUCT GRID (desktop) */
.raketoria-shop-products-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 36px;
}

/* CARD */
.rw-shop-product-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 14px;
    display: flex;
    flex-direction: column;
    transition: all 0.25s ease;
    position: relative;
    align-self: start; /* card is only as tall as its content */
}

.rw-shop-product-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.06), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
    transform: translateY(-2px);
}

.rw-card-top-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
    height: 22px;
}

.rw-card-discount-badge {
    background: #044b38;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 7px;
    border-radius: 6px;
    line-height: 1;
}

.rw-card-badge-spacer {
    width: 1px;
}

.rw-card-wishlist-toggle {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: #94a3b8;
    transition: color 0.2s, transform 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rw-card-wishlist-toggle:hover {
    color: #ef4444;
    transform: scale(1.15);
}

.rw-card-wishlist-toggle.is-active svg {
    fill: #ef4444;
    stroke: #ef4444;
}

.rw-card-image-wrap {
    display: block;
    width: 100%;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    overflow: hidden;
    text-decoration: none;
}

.rw-card-img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.rw-shop-product-card:hover .rw-card-img {
    transform: scale(1.05);
}

.rw-card-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.rw-card-title {
    margin: 0 0 2px 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

.rw-card-title a {
    color: #0f172a;
    text-decoration: none;
    transition: color 0.2s;
}

.rw-card-title a:hover {
    color: var(--rw-primary, #044b38);
}

.rw-card-subtitle {
    font-size: 12px;
    color: #64748b;
    margin-bottom: 8px;
    display: block;
}

.rw-card-rating-row {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    margin-bottom: 12px;
}

.rw-stars-gold {
    display: inline-flex;
    gap: 1px;
}

.rw-rating-score {
    font-weight: 700;
    color: #0f172a;
}

.rw-rating-count {
    color: #94a3b8;
}

.rw-card-price-row {
    margin-top: auto;
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 16px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
}

.rw-card-price-row ins,
.rw-card-price-row ins .woocommerce-Price-amount,
.rw-card-price-row ins span.amount {
    text-decoration: none !important;
    color: #044b38 !important;
    font-weight: 800 !important;
    font-size: 16px !important;
}

.rw-card-price-row del,
.rw-card-price-row del .woocommerce-Price-amount,
.rw-card-price-row del span.amount {
    font-size: 13.5px !important;
    font-weight: 400 !important;
    color: #94a3b8 !important;
    text-decoration: line-through !important;
}

.rw-card-price-row > .woocommerce-Price-amount,
.rw-card-price-row > span.amount {
    color: #0f172a !important;
    font-weight: 800 !important;
    font-size: 16px !important;
}

/* 6. Bottom Bar & Pagination */
.raketoria-shop-bottom-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 20px;
    border-top: 1px solid #e2e8f0;
}

.rw-shop-showing-range {
    font-size: 13.5px;
    color: #64748b;
}

.rw-shop-pagination {
    display: flex;
    align-items: center;
    gap: 6px;
}

.rw-page-pill {
    min-width: 34px;
    height: 34px;
    padding: 0 8px;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    color: #0f172a;
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.2s;
    box-sizing: border-box;
}

.rw-page-pill:hover {
    border-color: #cbd5e1;
    background: #f8fafc;
}

.rw-page-pill.is-active {
    background: var(--rw-primary, #044b38);
    border-color: var(--rw-primary, #044b38);
    color: #ffffff;
}

.rw-page-dots {
    color: #94a3b8;
    padding: 0 4px;
    font-weight: 700;
}

/* Responsive Breakpoints for Shop */
@media (max-width: 1200px) {
    .raketoria-shop-products-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .raketoria-shop-hero-banner {
        grid-template-columns: 1fr 340px;
    }
}

@media (max-width: 900px) {
    .raketoria-shop-layout-grid {
        grid-template-columns: 1fr;
    }
    .raketoria-shop-hero-banner {
        grid-template-columns: 1fr;
    }
    .rw-hero-visual-col {
        display: none;
    }
    .raketoria-shop-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .raketoria-shop-products-grid {
        grid-template-columns: 1fr;
    }
    .raketoria-shop-bottom-bar {
        flex-direction: column;
        gap: 14px;
        align-items: center;
    }
}




/* -- Widget: no-sidebar mode (filter sidebar hidden) --------------- */
.raketoria-shop-layout-grid.rw-no-sidebar {
    grid-template-columns: 1fr !important;
}
.raketoria-shop-layout-grid.rw-no-sidebar .raketoria-shop-main-content {
    min-width: 0;
}

/* Dynamic Grid Column Options for Widgets & Catalogs */
.raketoria-shop-products-grid.rw-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.raketoria-shop-products-grid.rw-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.raketoria-shop-products-grid.rw-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.raketoria-shop-products-grid.rw-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }

@media (max-width: 1024px) {
    .raketoria-shop-products-grid.rw-cols-5,
    .raketoria-shop-products-grid.rw-cols-4,
    .raketoria-shop-products-grid.rw-cols-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 600px) {
    .raketoria-shop-products-grid.rw-cols-5,
    .raketoria-shop-products-grid.rw-cols-4,
    .raketoria-shop-products-grid.rw-cols-3,
    .raketoria-shop-products-grid.rw-cols-2 {
        grid-template-columns: 1fr !important;
    }
}

/* Product Card Actions: Quick View & Quick Add */
.rw-card-image-outer {
    position: relative;
    width: 100%;
}
.rw-card-quickview-btn {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    opacity: 0;
    pointer-events: none;
    background: #044b38 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 20px !important;
    padding: 6px 14px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 12px rgba(4, 75, 56, 0.25) !important;
    z-index: 5;
    white-space: nowrap !important;
}
.rw-shop-product-card:hover .rw-card-quickview-btn {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}
.rw-card-quickview-btn:hover {
    background: #10b981 !important;
    color: #ffffff !important;
}

.rw-card-bottom-row {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-top: 6px;
}
.rw-card-quick-cart-btn {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: #f1f5f9;
    color: #044b38;
    border: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}
.rw-card-quick-cart-btn:hover {
    background: #044b38;
    color: #ffffff;
    border-color: #044b38;
    transform: scale(1.05);
}
.rw-card-quick-cart-btn.is-loading {
    opacity: 0.6;
    pointer-events: none;
}

/* =========================================================================
 * RAKETORIA QUICK VIEW & LIGHTBOX MODAL SUITE
 * ========================================================================= */

.raketoria-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(15, 23, 42, 0.68);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 99998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.raketoria-modal-backdrop.is-active {
    opacity: 1;
    visibility: visible;
}

.raketoria-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 999999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
    box-sizing: border-box !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: none !important;
    transition: opacity 0.25s ease, visibility 0.25s ease !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.raketoria-modal.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
}

.raketoria-modal-dialog {
    background: #ffffff !important;
    border-radius: 20px !important;
    max-width: 900px !important;
    width: 100% !important;
    max-height: calc(100vh - 48px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    position: relative !important;
    margin: auto !important;
    box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.06) !important;
    transform: scale(0.96) !important;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-sizing: border-box !important;
    z-index: 1000000 !important;
}

.raketoria-modal.is-open .raketoria-modal-dialog {
    transform: scale(1) !important;
}

.raketoria-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #f1f5f9;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #64748b;
    z-index: 10;
    transition: all 0.2s ease;
}

.raketoria-modal-close:hover {
    background: #e2e8f0;
    color: #0f172a;
    transform: rotate(90deg);
}

.raketoria-modal-loader {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 20px;
    gap: 16px;
    color: #64748b;
    font-size: 14px;
    font-weight: 500;
}

.raketoria-modal-loader.is-visible {
    display: flex;
}

.raketoria-spinner {
    width: 38px;
    height: 38px;
    border: 3.5px solid #e2e8f0;
    border-top-color: var(--rw-primary, #044b38);
    border-radius: 50%;
    animation: rwSpin 0.7s linear infinite;
}

@keyframes rwSpin {
    to { transform: rotate(360deg); }
}

.raketoria-modal-body {
    padding: 0;
}

/* 2-Column Content Layout inside Modal */
.raketoria-qv-content {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 36px;
    padding: 32px;
    box-sizing: border-box;
    font-family: var(--rw-font-family);
    color: #0f172a;
}

/* Gallery Column */
.raketoria-qv-gallery {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.raketoria-qv-main-image {
    position: relative;
    background: #f8fafc;
    border-radius: 16px;
    border: 1px solid #e2e8f0;
    height: 380px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    overflow: hidden;
}

.raketoria-qv-discount-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: var(--rw-primary, #044b38);
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
    z-index: 2;
}

.raketoria-qv-active-img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.raketoria-qv-main-image:hover .raketoria-qv-active-img {
    transform: scale(1.05);
}

.raketoria-qv-thumbnails {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.raketoria-qv-thumb {
    width: 68px;
    height: 68px;
    border-radius: 10px;
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    overflow: hidden;
    padding: 4px;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.raketoria-qv-thumb.is-active,
.raketoria-qv-thumb:hover {
    border-color: var(--rw-primary, #044b38);
    box-shadow: 0 0 0 1px var(--rw-primary, #044b38);
}

.raketoria-qv-thumb img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Summary Column */
.raketoria-qv-summary {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.raketoria-qv-category-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.8px;
    color: #64748b;
    margin-bottom: 8px;
}

.raketoria-qv-brand-tag {
    color: var(--rw-primary, #044b38);
}

.raketoria-qv-sep {
    color: #cbd5e1;
}

.raketoria-qv-title {
    font-size: 24px;
    font-weight: 800;
    line-height: 1.25;
    color: #0f172a;
    margin: 0 0 10px 0;
    letter-spacing: -0.4px;
}

.raketoria-qv-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}

.raketoria-qv-title a:hover {
    color: var(--rw-primary, #044b38);
}

/* Rating Row */
.raketoria-qv-rating {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
}

.raketoria-qv-rating-stars {
    display: inline-flex;
    gap: 2px;
}

.raketoria-qv-rating-score {
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
}

.raketoria-qv-rating-count {
    font-size: 13px;
    color: #64748b;
}

/* Price Row */
.raketoria-qv-price {
    font-size: 26px;
    font-weight: 800;
    color: var(--rw-primary, #044b38);
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 12px;
}

.raketoria-qv-price del {
    font-size: 17px;
    font-weight: 500;
    color: #94a3b8;
    text-decoration: line-through;
}

.raketoria-qv-price ins {
    text-decoration: none;
    color: var(--rw-primary, #044b38);
}

.raketoria-qv-price .woocommerce-Price-amount {
    color: inherit;
}

/* Stock Badge */
.raketoria-qv-stock-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    font-weight: 600;
    margin-bottom: 14px;
}

.raketoria-qv-stock-badge.in-stock {
    color: #059669;
}

.raketoria-qv-stock-badge.out-of-stock {
    color: #dc2626;
}

.raketoria-qv-stock-badge .rw-stock-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: currentColor;
    display: inline-block;
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
}

/* Excerpt */
.raketoria-qv-excerpt {
    font-size: 13.5px;
    line-height: 1.55;
    color: #475569;
    margin-bottom: 18px;
}

.raketoria-qv-excerpt p {
    margin: 0;
}

/* Specs Micro-Bar */
.raketoria-qv-specs-bar {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 10px 14px;
    gap: 12px;
    margin-bottom: 20px;
}

.raketoria-qv-spec-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.raketoria-qv-spec-lbl {
    font-size: 11px;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.raketoria-qv-spec-val {
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
}

/* Variations Table & Form */
.raketoria-qv-modal form.variations_form {
    margin-bottom: 20px;
}

.raketoria-qv-modal table.variations {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 16px;
    border: none;
}

.raketoria-qv-modal table.variations tr {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
    border: none;
    background: transparent !important;
}

.raketoria-qv-modal table.variations th.label {
    padding: 0;
    text-align: left;
    border: none;
    background: transparent !important;
}

.raketoria-qv-modal table.variations th.label label {
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
}

.raketoria-qv-modal table.variations td.value {
    padding: 0;
    border: none;
    background: transparent !important;
    position: relative;
}

.raketoria-qv-modal table.variations select {
    width: 100%;
    height: 42px;
    padding: 0 36px 0 14px;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 13.5px;
    font-weight: 500;
    color: #0f172a;
    outline: none;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.raketoria-qv-modal table.variations select:focus {
    border-color: var(--rw-primary, #044b38);
    box-shadow: 0 0 0 3px rgba(4, 75, 56, 0.12);
}

.raketoria-qv-modal .reset_variations {
    font-size: 12px;
    color: #dc2626;
    text-decoration: none;
    margin-top: 4px;
    display: inline-block;
}

.raketoria-qv-modal .reset_variations:hover {
    text-decoration: underline;
}

.raketoria-qv-modal .single_variation_wrap {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.raketoria-qv-modal .woocommerce-variation-price {
    font-size: 20px;
    font-weight: 800;
    color: var(--rw-primary, #044b38);
}

.raketoria-qv-modal .woocommerce-variation-add-to-cart {
    display: flex;
    gap: 12px;
    align-items: center;
}

.raketoria-qv-modal .woocommerce-variation-add-to-cart .quantity,
.raketoria-qty-wrapper {
    display: inline-flex;
    align-items: center;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    height: 46px;
    overflow: hidden;
    flex-shrink: 0;
}

.raketoria-qty-btn {
    width: 36px;
    height: 100%;
    background: transparent;
    border: none;
    font-size: 16px;
    font-weight: 600;
    color: #475569;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, color 0.15s;
    user-select: none;
}

.raketoria-qty-btn:hover {
    background: #f1f5f9;
    color: #0f172a;
}

.raketoria-qty-input,
.raketoria-qv-modal .quantity input.qty {
    width: 44px;
    height: 100%;
    border: none !important;
    background: transparent !important;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    color: #0f172a;
    padding: 0 !important;
    margin: 0 !important;
    -moz-appearance: textfield;
}

.raketoria-qv-modal .quantity input.qty::-webkit-outer-spin-button,
.raketoria-qv-modal .quantity input.qty::-webkit-inner-spin-button,
.raketoria-qty-input::-webkit-outer-spin-button,
.raketoria-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.raketoria-qv-form {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 20px;
}

.raketoria-qv-submit-btn,
.raketoria-qv-modal .single_add_to_cart_button {
    flex-grow: 1;
    height: 46px;
    background: var(--rw-primary, #044b38) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(4, 75, 56, 0.2) !important;
    white-space: nowrap !important;
    min-width: 140px !important;
    padding: 0 22px !important;
}

.raketoria-qv-submit-btn:hover,
.raketoria-qv-modal .single_add_to_cart_button:hover {
    background: #065f46 !important;
    box-shadow: 0 6px 16px rgba(4, 75, 56, 0.3) !important;
    transform: translateY(-1px);
}

.raketoria-qv-submit-btn.disabled,
.raketoria-qv-modal .single_add_to_cart_button.disabled {
    opacity: 0.5;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Trust Badges in Modal */
.raketoria-qv-trust-badges {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 14px 0;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    margin-bottom: 16px;
}

.raketoria-qv-trust-badges span {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    font-weight: 500;
    color: #334155;
}

/* Meta & View Details Link */
.raketoria-qv-meta {
    font-size: 12px;
    color: #64748b;
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 14px;
}

.raketoria-qv-meta .sku,
.raketoria-qv-meta a {
    color: #0f172a;
    text-decoration: none;
    font-weight: 600;
}

.raketoria-qv-view-more {
    margin-top: auto;
}

.raketoria-view-full-link {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--rw-primary, #044b38);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: gap 0.2s;
}

.raketoria-view-full-link:hover {
    text-decoration: underline;
    gap: 10px;
}

/* =========================================================================
 * ENHANCED SHOP & CATALOG PAGE (MATCHING media_1791055216763.jpg)
 * ========================================================================= */

.raketoria-shop-header-minimal {
    margin-bottom: 28px;
}

.rw-shop-main-title {
    font-size: 38px;
    font-weight: 800;
    color: var(--rw-primary, #044b38);
    line-height: 1.15;
    margin: 0 0 10px 0;
    letter-spacing: -0.6px;
}

.rw-shop-main-subtitle {
    font-size: 15px;
    color: #475569;
    margin: 0;
    line-height: 1.5;
}

/* Brand Search Filter Input */
.rw-filter-search-box {
    position: relative;
    margin-bottom: 10px;
    width: 100%;
}

.rw-brand-search-input {
    width: 100%;
    height: 36px;
    padding: 0 32px 0 12px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 13px;
    color: #0f172a;
    background: #ffffff;
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.rw-brand-search-input:focus {
    border-color: var(--rw-primary, #044b38);
    box-shadow: 0 0 0 2px rgba(4, 75, 56, 0.12);
}

.rw-filter-search-box .rw-search-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
}

.rw-show-more-brands-btn {
    background: none;
    border: none;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--rw-primary, #044b38);
    cursor: pointer;
    padding: 4px 0 0 0;
    text-align: left;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.rw-show-more-brands-btn:hover {
    text-decoration: underline;
}

/* Dual Price Inputs ( [ € 0 ]  [ € 500 ] ) */
.rw-price-inputs-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 14px;
}

.rw-price-input-box {
    display: flex;
    align-items: center;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    height: 38px;
    padding: 0 10px;
    box-sizing: border-box;
    transition: border-color 0.2s;
}

.rw-price-input-box:focus-within {
    border-color: var(--rw-primary, #044b38);
    box-shadow: 0 0 0 2px rgba(4, 75, 56, 0.12);
}

.rw-currency-symbol {
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    margin-right: 6px;
}

.rw-price-input-field {
    width: 100%;
    border: none !important;
    background: transparent !important;
    font-size: 13.5px;
    font-weight: 600;
    color: #0f172a;
    padding: 0 !important;
    margin: 0 !important;
    outline: none !important;
    -moz-appearance: textfield;
}

.rw-price-input-field::-webkit-outer-spin-button,
.rw-price-input-field::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Bottom Bar Items matching Mockup */
.rw-per-page-select-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #64748b;
}

.rw-per-page-select {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 600;
    color: #0f172a;
    outline: none;
    cursor: pointer;
}

.rw-price-summary-label {
    font-size: 13.5px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 12px;
}

.raketoria-shop-top-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin-bottom: 20px !important;
}

.rw-shop-top-actions-right {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
}

.rw-shop-results-count {
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #64748b !important;
}

.rw-shop-pagination .rw-page-pill.is-active {
    background-color: var(--rw-primary, #044b38) !important;
    color: #ffffff !important;
    border-color: var(--rw-primary, #044b38) !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
}

/* Responsive Modal */
@media (max-width: 768px) {
    .raketoria-qv-content {
        grid-template-columns: 1fr;
        padding: 20px;
        gap: 24px;
    }

    .raketoria-qv-main-image {
        height: 280px;
    }

    .raketoria-qv-title {
        font-size: 20px;
    }

    .raketoria-qv-price {
        font-size: 22px;
    }

    .raketoria-modal-dialog {
        max-height: calc(100vh - 24px);
    }
}

/* ==========================================================================
   Raketoria Top Navigation Header Bar & Header Actions (Matching Mockup)
   ========================================================================== */
.raketoria-top-nav-bar {
    width: 100% !important;
    background: #ffffff !important;
    border-bottom: 1px solid #f1f5f9 !important;
    padding: 16px 0 !important;
    margin-bottom: 24px !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 100 !important;
}

.rw-header-container {
    width: 100% !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
}

.rw-header-brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    text-decoration: none !important;
    color: var(--rw-primary, #044b38) !important;
}

.rw-brand-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.rw-brand-name {
    font-size: 21px !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    color: var(--rw-primary, #044b38) !important;
}

.rw-header-nav {
    display: flex !important;
    align-items: center !important;
    gap: 28px !important;
}

.rw-nav-link {
    font-size: 14.5px !important;
    font-weight: 500 !important;
    color: #475569 !important;
    text-decoration: none !important;
    padding: 6px 0 !important;
    position: relative !important;
    transition: color 0.15s ease !important;
    cursor: pointer !important;
}

.rw-nav-link:hover {
    color: var(--rw-primary, #044b38) !important;
}

.rw-nav-link.is-active {
    color: var(--rw-primary, #044b38) !important;
    font-weight: 600 !important;
}

.rw-nav-link.is-active::after {
    content: '' !important;
    position: absolute !important;
    bottom: -2px !important;
    left: 0 !important;
    right: 0 !important;
    height: 2px !important;
    background-color: var(--rw-primary, #044b38) !important;
    border-radius: 2px !important;
}

.rw-header-actions {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    position: relative !important;
}

.rw-header-action-btn {
    background: none !important;
    border: none !important;
    padding: 8px !important;
    cursor: pointer !important;
    color: #1e293b !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    border-radius: 8px !important;
    transition: color 0.15s, background-color 0.15s, transform 0.15s !important;
    text-decoration: none !important;
    line-height: 1 !important;
}

.rw-header-action-btn:hover {
    color: var(--rw-primary, #044b38) !important;
    background-color: #f8fafc !important;
    transform: translateY(-1px) !important;
}

.rw-header-badge {
    position: absolute !important;
    top: -2px !important;
    right: -3px !important;
    min-width: 17px !important;
    height: 17px !important;
    background-color: var(--rw-primary, #044b38) !important;
    color: #ffffff !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    line-height: 17px !important;
    text-align: center !important;
    border-radius: 9999px !important;
    padding: 0 4px !important;
    box-sizing: border-box !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.15) !important;
}

.rw-header-wishlist-btn.is-active svg {
    fill: #ef4444 !important;
    stroke: #ef4444 !important;
}

/* Expandable Header Live Search Bar */
.rw-header-search-wrap {
    position: relative !important;
}

.rw-header-search-bar {
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 24px !important;
    padding: 7px 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 270px !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1) !important;
    z-index: 150 !important;
    box-sizing: border-box !important;
}

.rw-header-search-input {
    border: none !important;
    outline: none !important;
    font-size: 13.5px !important;
    color: #0f172a !important;
    background: transparent !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

.rw-header-search-clear {
    background: none !important;
    border: none !important;
    color: #94a3b8 !important;
    cursor: pointer !important;
    font-size: 18px !important;
    line-height: 1 !important;
    padding: 0 !important;
}

.rw-header-search-clear:hover {
    color: #0f172a !important;
}

/* Wishlist Active Notification Bar */
.rw-wishlist-filter-bar {
    background-color: #ecfdf5 !important;
    border: 1px solid #a7f3d0 !important;
    border-radius: 10px !important;
    padding: 12px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    font-size: 14px !important;
    color: #065f46 !important;
    margin-bottom: 12px !important;
    box-sizing: border-box !important;
}

.rw-clear-wishlist-filter-btn {
    background: #ffffff !important;
    border: 1px solid #059669 !important;
    color: #059669 !important;
    padding: 5px 12px !important;
    border-radius: 6px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
}

.rw-clear-wishlist-filter-btn:hover {
    background-color: #059669 !important;
    color: #ffffff !important;
}

/* Toast Message */
.rw-shop-toast {
    position: fixed !important;
    bottom: 28px !important;
    right: 28px !important;
    background-color: #0f172a !important;
    color: #ffffff !important;
    padding: 12px 20px !important;
    border-radius: 8px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2) !important;
    z-index: 99999 !important;
    opacity: 0 !important;
    transform: translateY(16px) !important;
    transition: opacity 0.25s ease, transform 0.25s ease !important;
    pointer-events: none !important;
}

.rw-shop-toast.is-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

@media (max-width: 900px) {
    .rw-header-nav {
        gap: 16px !important;
    }
    .rw-nav-link {
        font-size: 13.5px !important;
    }
}

@media (max-width: 640px) {
    .rw-header-nav {
        display: none !important;
    }
    .rw-header-search-bar {
        width: 210px !important;
    }
}



/* ==========================================================================
   Header Search Popup (modal)
   ========================================================================== */
body.rw-search-open { overflow: hidden; }

.rw-search-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding: 9vh 16px 16px;
    box-sizing: border-box;
}
.rw-search-modal.is-open { display: flex; }

.rw-search-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(2px);
}

.rw-search-modal__dialog {
    position: relative;
    width: 100%;
    max-width: 640px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.3);
    overflow: hidden;
    animation: rwSearchIn 0.18s ease-out;
}
@keyframes rwSearchIn {
    from { opacity: 0; transform: translateY(-8px) scale(0.98); }
    to   { opacity: 1; transform: none; }
}

.rw-search-modal__form {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
    margin: 0;
    border-bottom: 1px solid #e2e8f0;
    color: #64748b;
}

.rw-search-modal .rw-search-modal__input {
    flex: 1;
    min-width: 0;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    font-size: 16px !important;
    color: #0f172a !important;
    padding: 4px 0 !important;
    margin: 0 !important;
    -webkit-appearance: none;
    appearance: none;
}

.rw-search-modal .rw-search-modal__close {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    font-size: 26px !important;
    line-height: 1 !important;
    color: #94a3b8 !important;
    cursor: pointer;
    padding: 0 4px !important;
}
.rw-search-modal .rw-search-modal__close:hover { color: #0f172a !important; }

.rw-search-modal__results { overflow-y: auto; }

.rw-search-list { list-style: none; margin: 0; padding: 8px; }
.rw-search-list li { margin: 0; padding: 0; }

.rw-search-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px;
    border-radius: 10px;
    text-decoration: none !important;
    color: #0f172a;
    transition: background-color 0.15s;
}
.rw-search-item:hover, .rw-search-item:focus { background: #f1f5f9; }
.rw-search-item img,
.rw-search-noimg {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    object-fit: cover;
    border-radius: 8px;
    background: #f1f5f9;
}
.rw-search-item__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rw-search-item__title { font-weight: 600; font-size: 14.5px; line-height: 1.3; }
.rw-search-item__price { font-size: 13px; color: var(--rw-primary, #044b38); font-weight: 600; }

.rw-search-empty { padding: 22px 20px; color: #64748b; font-size: 14px; text-align: center; }

/* Elementor 4-in-1 header icons row: full width so the Alignment control works */
.rw-header-actions-row { width: 100%; }

/* ==========================================================================
   Typography: Poppins everywhere in the plugin (form controls inherit it too)
   ========================================================================== */
.raketoria-shop-page-wrapper, .raketoria-cart-page-wrapper, .raketoria-checkout-wrapper,
.raketoria-product-page-wrapper, .raketoria-orders-page-wrapper, .raketoria-orders-container, .raketoria-cart-drawer,
.raketoria-drawer-backdrop, .raketoria-modal-dialog, .rw-search-modal, .rw-header-actions,
.raketoria-header-widget-item {
    font-family: var(--rw-font-family);
}
.raketoria-shop-page-wrapper :where(button, input, select, textarea, a, h1, h2, h3, h4, h5, h6, p, span, label, li, td, th),
.raketoria-cart-page-wrapper :where(button, input, select, textarea, a, h1, h2, h3, h4, h5, h6, p, span, label, li, td, th),
.raketoria-checkout-wrapper :where(button, input, select, textarea, a, h1, h2, h3, h4, h5, h6, p, span, label, li, td, th),
.raketoria-product-page-wrapper :where(button, input, select, textarea, a, h1, h2, h3, h4, h5, h6, p, span, label, li, td, th),
.raketoria-orders-page-wrapper :where(button, input, select, textarea, a, h1, h2, h3, h4, h5, h6, p, span, label, li, td, th),
.raketoria-orders-container :where(button, input, select, textarea, a, h1, h2, h3, h4, h5, h6, p, span, label, li, td, th),
.raketoria-cart-drawer :where(button, input, select, textarea, a, h1, h2, h3, h4, h5, h6, p, span, label, li, td, th),
.raketoria-modal-dialog :where(button, input, select, textarea, a, h1, h2, h3, h4, h5, h6, p, span, label, li, td, th),
.rw-search-modal :where(button, input, select, textarea, a, span) {
    font-family: inherit;
}


/* ==========================================================================
   MY ACCOUNT - dynamic additions (real pagination, pay button, empty state)
   and fully responsive orders table (cards on phones). Desktop design unchanged.
   ========================================================================== */
.rw-orders-pagination a.rw-page-arrow,
.rw-orders-pagination a.rw-page-num {
    text-decoration: none;
    box-sizing: border-box;
}

.rw-orders-pagination a.rw-page-num {
    border: 1px solid #e5e7eb;
    background: #ffffff;
    color: #4b5563;
    transition: all 0.15s ease;
}

.rw-orders-pagination a.rw-page-num:hover {
    border-color: #cbd5e1;
    background: #f8fafc;
    color: #111827;
}

.rw-page-arrow.is-disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
    box-sizing: border-box;
}

.rw-page-gap {
    color: #94a3b8;
    font-size: 13px;
    padding: 0 2px;
}

.rw-order-pay-btn {
    display: inline-flex;
    align-items: center;
    margin-right: 8px;
    padding: 6px 12px;
    border-radius: 6px;
    background: var(--rw-primary, #044b38);
    color: #ffffff !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
}

.rw-order-pay-btn:hover {
    opacity: 0.9;
}

.rw-no-orders-msg {
    text-align: center !important;
    padding: 40px 18px !important;
    color: #64748b !important;
}

.rw-no-orders-msg .rw-order-shop-btn {
    display: inline-flex;
    margin: 14px auto 0;
}

.rw-no-orders-msg .rw-order-shop-btn::before {
    content: none;
}

.raketoria-orders-table-footer {
    flex-wrap: wrap;
    gap: 12px;
}

.rw-orders-pagination {
    flex-wrap: wrap;
}

/* Tablet: stat cards no longer force 3 cramped columns */
@media (max-width: 991px) {
    .raketoria-quick-stats-row {
        grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
    }
}

/* Phones: orders table becomes stacked cards (no sideways scrolling) */
@media (max-width: 640px) {
    .raketoria-orders-page-wrapper {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .raketoria-orders-main-title {
        font-size: 26px !important;
    }

    .raketoria-orders-table {
        min-width: 0 !important;
        table-layout: auto !important;
        display: block !important;
    }

    .raketoria-orders-table thead {
        display: none !important;
    }

    .raketoria-orders-table tbody {
        display: block !important;
    }

    .raketoria-orders-table tr.raketoria-order-table-row {
        display: block !important;
        padding: 14px 16px !important;
        border-bottom: 1px solid #e5e7eb !important;
    }

    .raketoria-orders-table tr.raketoria-order-table-row:last-child {
        border-bottom: none !important;
    }

    .raketoria-orders-table tr.raketoria-order-table-row td {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 6px 0 !important;
        border: none !important;
        text-align: right !important;
        background: transparent !important;
    }

    .raketoria-orders-table tr.raketoria-order-table-row td::before {
        content: attr(data-label);
        flex: 0 0 auto;
        color: #64748b;
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .raketoria-orders-table tr.raketoria-order-table-row td.rw-td-order {
        display: block !important;
        padding-bottom: 10px !important;
        text-align: left !important;
    }

    .raketoria-orders-table tr.raketoria-order-table-row td.rw-td-order::before {
        content: none;
    }

    .raketoria-orders-table tr.raketoria-order-table-row td.rw-td-action {
        justify-content: flex-end !important;
        padding-top: 10px !important;
    }

    .raketoria-orders-table tr.raketoria-order-table-row td.rw-td-action::before {
        content: none;
    }

    .raketoria-orders-table td.rw-no-orders-msg {
        display: block !important;
        text-align: center !important;
    }

    .raketoria-orders-table td.rw-no-orders-msg::before {
        content: none !important;
    }

    .raketoria-orders-table-footer {
        justify-content: center;
        text-align: center;
    }

    .rw-section-title-row {
        flex-wrap: wrap;
        gap: 8px;
    }
}


/* ==========================================================================
   v1.3.0 - RESPONSIVE HARDENING (single product, cart, checkout, shop, modals)
   ========================================================================== */

/* Page-level wrappers always fill their parent and stay centred, even inside
   Elementor flex containers / theme columns that would otherwise shrink-wrap them. */
.raketoria-product-page-wrapper,
.raketoria-cart-page-wrapper,
.raketoria-checkout-wrapper,
.raketoria-shop-page-wrapper,
.raketoria-track-wrap {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.elementor-widget-raketoria_shop_catalog,
.elementor-widget-raketoria_cart_page,
.elementor-widget-raketoria_checkout_page,
.elementor-widget-raketoria_my_account,
.elementor-widget-raketoria_track_order,
.elementor-widget-raketoria_shop_catalog > .elementor-widget-container,
.elementor-widget-raketoria_cart_page > .elementor-widget-container,
.elementor-widget-raketoria_checkout_page > .elementor-widget-container,
.elementor-widget-raketoria_my_account > .elementor-widget-container,
.elementor-widget-raketoria_track_order > .elementor-widget-container {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.raketoria-container,
.raketoria-cart-container,
.raketoria-checkout-container {
    width: 100%;
    box-sizing: border-box;
}

.raketoria-checkout-wrapper,
.raketoria-cart-page-wrapper,
.raketoria-product-page-wrapper {
    overflow-x: clip;
}

/* ---------- Single product: grid tracks may shrink, content centred ---------- */
.raketoria-product-main-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.raketoria-product-main-grid > * {
    min-width: 0;
}

.raketoria-main-image-viewport {
    min-width: 0;
}

.raketoria-gallery-container {
    min-width: 0;
    max-width: 100%;
}

.raketoria-product-summary {
    min-width: 0;
}

.raketoria-nav-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.raketoria-nav-tabs::-webkit-scrollbar {
    display: none;
}

@media (max-width: 900px) {
    .raketoria-product-main-grid {
        grid-template-columns: minmax(0, 1fr);
        max-width: 680px;
        margin-left: auto;
        margin-right: auto;
    }

    .raketoria-breadcrumbs,
    .raketoria-tabs-container,
    .raketoria-desc-specs-grid {
        max-width: 680px;
        margin-left: auto;
        margin-right: auto;
    }

    .raketoria-container {
        padding-left: 16px;
        padding-right: 16px;
    }
}

@media (max-width: 480px) {
    .raketoria-container {
        padding-left: 12px;
        padding-right: 12px;
    }

    .raketoria-breadcrumbs {
        flex-wrap: wrap;
        row-gap: 4px;
    }
}

/* ---------- Cart: switch to stacked cards earlier (tablets) ---------- */
.raketoria-cart-layout-grid {
    grid-template-columns: minmax(0, 1fr) 380px;
}

@media (max-width: 992px) {
    .raketoria-cart-layout-grid {
        grid-template-columns: minmax(0, 1fr);
        max-width: 720px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 820px) {
    .raketoria-cart-table-header {
        display: none;
    }

    .raketoria-cart-item-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
        position: relative;
        padding: 18px 0;
    }

    .raketoria-cart-item-row .col-product {
        padding-right: 40px;
    }

    .raketoria-cart-item-row .col-action {
        position: absolute;
        top: 18px;
        right: 0;
    }

    .raketoria-cart-item-row .col-price,
    .raketoria-cart-item-row .col-quantity,
    .raketoria-cart-item-row .col-total {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .raketoria-cart-item-row .col-price::before {
        content: "Price:";
        font-size: 13px;
        color: #6b7280;
        font-weight: 500;
    }

    .raketoria-cart-item-row .col-quantity::before {
        content: "Quantity:";
        font-size: 13px;
        color: #6b7280;
        font-weight: 500;
    }

    .raketoria-cart-item-row .col-total::before {
        content: "Total:";
        font-size: 13px;
        color: #6b7280;
        font-weight: 500;
    }
}

/* ---------- Checkout: the real cause of the right-edge cut-off ----------
   "1fr" tracks have min-content width, so one wide child (select, Stripe/PayPal
   box, long text) pushed the whole card past the screen. minmax(0,1fr) fixes it. */
.raketoria-checkout-grid {
    grid-template-columns: minmax(0, 1fr) 390px;
}

.raketoria-checkout-steps-col,
.raketoria-checkout-summary-col,
.raketoria-checkout-card,
.raketoria-step-body,
.raketoria-form-group,
.raketoria-form-row,
.raketoria-order-summary-card {
    min-width: 0;
    max-width: 100%;
}

.raketoria-cols-2 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.raketoria-form-input,
.raketoria-form-select,
.raketoria-checkout-wrapper input[type="text"],
.raketoria-checkout-wrapper input[type="email"],
.raketoria-checkout-wrapper input[type="tel"],
.raketoria-checkout-wrapper input[type="password"],
.raketoria-checkout-wrapper select,
.raketoria-checkout-wrapper textarea {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.raketoria-checkout-wrapper iframe,
.raketoria-checkout-wrapper img,
.raketoria-checkout-wrapper video {
    max-width: 100%;
}

.raketoria-checkout-wrapper table {
    max-width: 100%;
}

.raketoria-checkout-wrapper .payment_box,
.raketoria-checkout-wrapper .wc_payment_methods,
.raketoria-checkout-wrapper .woocommerce-checkout-payment {
    max-width: 100%;
    overflow-wrap: anywhere;
}

@media (max-width: 991px) {
    .raketoria-checkout-grid {
        grid-template-columns: minmax(0, 1fr);
        max-width: 720px;
        margin-left: auto;
        margin-right: auto;
    }

    .raketoria-checkout-summary-sticky {
        position: static;
    }
}

@media (max-width: 600px) {
    .raketoria-checkout-wrapper {
        padding: 20px 0 40px 0;
    }

    .raketoria-checkout-container {
        padding-left: 14px;
        padding-right: 14px;
    }

    .raketoria-checkout-card,
    .raketoria-order-summary-card {
        padding: 18px 16px;
    }

    .raketoria-cols-2 {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .raketoria-step-header {
        flex-wrap: wrap;
        gap: 8px;
    }

    .raketoria-checkout-title {
        font-size: 28px;
    }
}

/* ---------- Shop / orders / generic ---------- */
@media (max-width: 480px) {
    .raketoria-orders-container,
    .raketoria-cart-container {
        padding-left: 12px;
        padding-right: 12px;
    }
}

/* ---------- Floating cart button must never cover form fields on phones ---------- */
@media (max-width: 600px) {
    .raketoria-checkout-wrapper {
        padding-bottom: 96px;
    }
}


/* ==========================================================================
   v1.3.0 - SIZE GUIDE MODAL REDESIGN
   The dialog has padding:0 (shared with Quick View), so the guide gets its own
   spacing. Buttons get explicit colours so theme/Elementor button styles
   (blue backgrounds, invisible CM label) can't leak in.
   ========================================================================== */
.raketoria-sg-modal .raketoria-modal-dialog {
    max-width: 760px !important;
    display: flex;
    flex-direction: column;
}

.raketoria-sg-modal .raketoria-modal-close {
    top: 18px !important;
    right: 18px !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
}

.raketoria-sg-modal .raketoria-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 20px;
    margin: 0;
    padding: 24px 72px 18px 28px;
}

.raketoria-sg-modal .raketoria-modal-title {
    font-size: 22px;
    line-height: 1.25;
    font-weight: 800;
    color: #0f172a;
    margin: 0;
}

.raketoria-sg-modal .raketoria-unit-switch-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}

.raketoria-sg-modal .raketoria-unit-label {
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
}

.raketoria-sg-modal .raketoria-unit-switch {
    display: inline-flex;
    padding: 3px;
    gap: 2px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
}

.raketoria-sg-modal .raketoria-unit-btn {
    appearance: none;
    -webkit-appearance: none;
    min-width: 64px;
    padding: 6px 14px;
    border: 0 !important;
    border-radius: 999px;
    background: transparent !important;
    color: #475569 !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-transform: uppercase;
    box-shadow: none !important;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.raketoria-sg-modal .raketoria-unit-btn:hover {
    color: #0f172a !important;
}

.raketoria-sg-modal .raketoria-unit-btn.is-active {
    background: var(--rw-primary, #044b38) !important;
    color: #ffffff !important;
}

.raketoria-sg-modal .raketoria-modal-tabs {
    display: flex;
    gap: 4px;
    margin: 0;
    padding: 0 28px;
    border-bottom: 1px solid #e5e7eb;
    overflow-x: auto;
    scrollbar-width: none;
}

.raketoria-sg-modal .raketoria-modal-tabs::-webkit-scrollbar {
    display: none;
}

.raketoria-sg-modal .raketoria-tab-btn {
    appearance: none;
    -webkit-appearance: none;
    flex: 0 0 auto;
    padding: 12px 16px;
    margin: 0;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none;
    color: #64748b !important;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    position: relative;
}

.raketoria-sg-modal .raketoria-tab-btn:hover {
    color: #0f172a !important;
}

.raketoria-sg-modal .raketoria-tab-btn:focus-visible {
    outline: 2px solid var(--rw-primary, #044b38);
    outline-offset: -2px;
}

.raketoria-sg-modal .raketoria-tab-btn.is-active {
    color: var(--rw-primary, #044b38) !important;
    background: transparent !important;
}

.raketoria-sg-modal .raketoria-tab-btn.is-active::after {
    content: '';
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: -1px;
    height: 3px;
    border-radius: 3px 3px 0 0;
    background: var(--rw-primary, #044b38);
}

.raketoria-sg-modal .raketoria-modal-body {
    padding: 24px 28px 28px;
    overflow-y: auto;
}

.raketoria-sg-modal .raketoria-table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
}

.raketoria-sg-modal .raketoria-size-table {
    width: 100%;
    min-width: 460px;
    border-collapse: collapse;
    font-size: 13.5px;
}

.raketoria-sg-modal .raketoria-size-table th,
.raketoria-sg-modal .raketoria-size-table td {
    padding: 12px 16px;
    text-align: left;
    white-space: nowrap;
    border-bottom: 1px solid #eef2f7;
}

.raketoria-sg-modal .raketoria-size-table th {
    background: #f8fafc;
    color: #334155;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.raketoria-sg-modal .raketoria-size-table tbody tr:last-child td {
    border-bottom: 0;
}

.raketoria-sg-modal .raketoria-size-table tbody tr:hover td {
    background: #f8fafc;
}

/* How to measure steps */
.raketoria-sg-modal .raketoria-measure-guide {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.raketoria-sg-modal .raketoria-measure-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
}

.raketoria-sg-modal .raketoria-measure-num {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--rw-primary, #044b38);
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
}

.raketoria-sg-modal .raketoria-measure-details {
    min-width: 0;
}

.raketoria-sg-modal .raketoria-measure-details h4 {
    margin: 2px 0 4px;
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
}

.raketoria-sg-modal .raketoria-measure-details p {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.55;
    color: #475569;
}

@media (max-width: 640px) {
    .raketoria-sg-modal {
        padding: 12px !important;
        align-items: flex-end !important;
    }

    .raketoria-sg-modal .raketoria-modal-dialog {
        border-radius: 18px !important;
        max-height: calc(100vh - 24px) !important;
    }

    .raketoria-sg-modal .raketoria-modal-header {
        padding: 20px 60px 14px 18px;
    }

    .raketoria-sg-modal .raketoria-modal-title {
        font-size: 18px;
    }

    .raketoria-sg-modal .raketoria-modal-close {
        top: 14px !important;
        right: 14px !important;
    }

    .raketoria-sg-modal .raketoria-modal-tabs {
        padding: 0 10px;
    }

    .raketoria-sg-modal .raketoria-modal-body {
        padding: 18px 16px 22px;
    }

    .raketoria-sg-modal .raketoria-measure-guide {
        grid-template-columns: minmax(0, 1fr);
    }
}


/* ==========================================================================
   v1.3.0 - TRACK ORDER (widget + result)
   ========================================================================== */
.raketoria-track-wrap {
    background: #f7f8fa;
    border-radius: 16px;
    padding: 20px 20px 56px;
    font-family: var(--rw-font-family);
    color: #111827;
    box-sizing: border-box;
}

.raketoria-track-wrap *,
.raketoria-track-wrap *::before,
.raketoria-track-wrap *::after {
    box-sizing: border-box;
}

.raketoria-track-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    padding: 40px 24px 44px;
    text-align: center;
}

.rw-track-heading {
    margin: 0 0 10px;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: #111111;
}

.rw-track-subheading {
    margin: 0 auto 28px;
    max-width: 560px;
    font-size: 14px;
    line-height: 1.55;
    color: #4b5563;
}

.rw-track-form {
    max-width: 680px;
    margin: 0 auto;
    text-align: left;
}

.rw-track-field {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 6px;
    background: #ffffff;
    border: 1px solid #dcdfe4;
    border-radius: 14px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.rw-track-field:focus-within {
    border-color: #111111;
    box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.07);
}

.rw-track-field + .rw-track-field {
    margin-top: 10px;
}

.rw-track-email-row[hidden],
.rw-track-message[hidden] {
    display: none !important;
}

.rw-track-field-icon {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f0f0;
    border-radius: 10px;
    color: #111111;
}

.rw-track-input {
    flex: 1 1 auto;
    min-width: 0;
    height: 46px;
    padding: 0 6px !important;
    background: transparent !important;
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    font-size: 15px;
    color: #111827;
    font-family: inherit;
}

.rw-track-input::placeholder {
    color: #8b8f97;
}

.rw-track-submit {
    appearance: none;
    -webkit-appearance: none;
    flex: 0 0 auto;
    position: relative;
    height: 46px;
    padding: 0 26px;
    background: #111111 !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 10px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

.rw-track-submit:hover {
    background: #2a2a2a !important;
}

.rw-track-submit:active {
    transform: translateY(1px);
}

.rw-track-submit:disabled {
    cursor: progress;
    opacity: 0.85;
}

.rw-track-spinner {
    display: none;
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: rwSpin 0.7s linear infinite;
}

.rw-track-submit.is-loading .rw-track-submit-label {
    display: none;
}

.rw-track-submit.is-loading .rw-track-spinner {
    display: inline-block;
    vertical-align: middle;
}

.rw-track-message {
    margin: 12px 4px 0;
    font-size: 13.5px;
    line-height: 1.5;
    text-align: center;
}

.rw-track-message.is-error {
    color: #b91c1c;
}

.rw-track-message.is-info {
    color: #475569;
}

/* Result */
.rw-track-result-holder {
    max-width: 680px;
    margin: 0 auto;
    text-align: left;
}

.rw-track-result {
    margin-top: 28px;
    padding: 22px;
    background: #fbfbfc;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
}

.rw-track-result-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 22px;
}

.rw-track-result-num {
    display: block;
    font-size: 18px;
    font-weight: 800;
    color: #111111;
}

.rw-track-result-date {
    display: block;
    margin-top: 2px;
    font-size: 13px;
    color: #6b7280;
}

.rw-track-exception {
    margin: 0 0 18px;
    padding: 12px 14px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 10px;
    font-size: 13.5px;
    color: #991b1b;
}

/* Timeline */
.rw-track-steps {
    list-style: none;
    margin: 0 0 22px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(var(--rw-steps, 4), minmax(0, 1fr));
}

.rw-track-step {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
    font-size: 12.5px;
    font-weight: 600;
    color: #9ca3af;
}

.rw-track-step::before {
    content: '';
    position: absolute;
    top: 13px;
    right: 50%;
    width: 100%;
    height: 3px;
    background: #e5e7eb;
    z-index: 0;
}

.rw-track-step:first-child::before {
    display: none;
}

.rw-track-step.is-done::before,
.rw-track-step.is-current::before {
    background: var(--rw-primary, #044b38);
}

.rw-track-step-dot {
    position: relative;
    z-index: 1;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ffffff;
    border: 3px solid #e5e7eb;
    color: #ffffff;
}

.rw-track-step.is-done .rw-track-step-dot {
    background: var(--rw-primary, #044b38);
    border-color: var(--rw-primary, #044b38);
}

.rw-track-step.is-current .rw-track-step-dot {
    border-color: var(--rw-primary, #044b38);
    box-shadow: 0 0 0 4px rgba(4, 75, 56, 0.15);
}

.rw-track-step.is-done,
.rw-track-step.is-current {
    color: #111827;
}

/* Shipment, items, updates */
.rw-track-shipment {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding: 14px 16px;
    margin-bottom: 18px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
}

.rw-track-k {
    display: block;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6b7280;
}

.rw-track-v {
    display: block;
    margin-top: 2px;
    font-size: 15px;
    color: #111111;
    word-break: break-all;
}

.rw-track-items {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid #eceff3;
}

.rw-track-items li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #eceff3;
    font-size: 14px;
    color: #1f2937;
}

.rw-track-qty {
    flex: 0 0 auto;
    color: #6b7280;
    font-weight: 600;
}

.rw-track-total {
    display: flex;
    justify-content: space-between;
    padding-top: 12px;
    font-size: 15px;
}

.rw-track-updates {
    margin-top: 20px;
}

.rw-track-updates h4 {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 700;
    color: #111111;
}

.rw-track-updates ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.rw-track-updates li {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 0 10px 14px;
    border-left: 3px solid var(--rw-primary, #044b38);
    margin-bottom: 8px;
    background: #ffffff;
    border-radius: 0 8px 8px 0;
    font-size: 13.5px;
    color: #374151;
}

.rw-track-update-date {
    font-size: 12px;
    color: #9ca3af;
}

@media (max-width: 640px) {
    .raketoria-track-wrap {
        padding: 12px 12px 28px;
        border-radius: 14px;
    }

    .raketoria-track-card {
        padding: 28px 16px 30px;
        border-radius: 16px;
    }

    .rw-track-heading {
        font-size: 26px;
    }

    .rw-track-field {
        flex-wrap: wrap;
        gap: 10px;
        padding: 10px;
    }

    .rw-track-input {
        flex: 1 1 calc(100% - 60px);
    }

    .rw-track-submit {
        width: 100%;
        flex: 1 1 100%;
    }

    .rw-track-email-row .rw-track-input {
        flex: 1 1 calc(100% - 60px);
    }

    .rw-track-result {
        padding: 16px;
    }

    /* Vertical timeline on phones */
    .rw-track-steps {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .rw-track-step {
        flex-direction: row;
        align-items: center;
        gap: 12px;
        padding: 8px 0;
        text-align: left;
    }

    .rw-track-step::before {
        top: auto;
        right: auto;
        bottom: 50%;
        left: 12px;
        width: 3px;
        height: 100%;
    }

    .rw-track-step.is-done::before,
    .rw-track-step.is-current::before {
        background: var(--rw-primary, #044b38);
    }
}


/* ==========================================================================
   v1.4.0  RESPONSIVE & DESIGN HARDENING LAYER
   Loaded last on purpose. Fixes: grid blow-out on narrow screens, 100vw/100vh
   mobile bugs (horizontal scroll, address-bar jump), modal/drawer sizing,
   tap targets, iOS input zoom, long-word overflow, notched-phone safe areas.
   ========================================================================== */

/* ---- 1. Box model + media never exceed their container ------------------- */
.raketoria-product-page-wrapper,
.raketoria-cart-page-wrapper,
.raketoria-checkout-wrapper,
.raketoria-orders-page-wrapper,
.raketoria-shop-page-wrapper,
.raketoria-modal,
.raketoria-cart-drawer,
.raketoria-sg-modal {
    box-sizing: border-box;
    max-width: 100%;
}
.raketoria-product-page-wrapper *,
.raketoria-cart-page-wrapper *,
.raketoria-checkout-wrapper *,
.raketoria-orders-page-wrapper *,
.raketoria-shop-page-wrapper *,
.raketoria-modal *,
.raketoria-cart-drawer *,
.raketoria-sg-modal * {
    box-sizing: border-box;
}
.raketoria-product-page-wrapper img,
.raketoria-cart-page-wrapper img,
.raketoria-checkout-wrapper img,
.raketoria-orders-page-wrapper img,
.raketoria-shop-page-wrapper img,
.raketoria-modal img,
.raketoria-cart-drawer img {
    max-width: 100%;
    height: auto;
}

/* ---- 2. Grid blow-out: plain "1fr" can't shrink below its content --------
   Every multi-column grid gets minmax(0, 1fr) tracks so long titles, tables
   or inputs can never push the page wider than the screen. */
.raketoria-desc-specs-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); }
.raketoria-trust-badges { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.raketoria-cart-trust-row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.raketoria-recommendations-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.raketoria-checkout-bottom-trust-row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.raketoria-account-trust-row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.raketoria-brands-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.raketoria-shop-hero-banner { grid-template-columns: minmax(0, 1fr) minmax(0, 480px); }
.raketoria-qv-content { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }
.raketoria-qv-specs-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rw-price-inputs-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.raketoria-account-grid { grid-template-columns: 260px minmax(0, 1fr) !important; }
.raketoria-shop-layout-grid { grid-template-columns: 260px minmax(0, 1fr); }

.raketoria-product-main-grid > *,
.raketoria-desc-specs-grid > *,
.raketoria-cart-layout-grid > *,
.raketoria-checkout-grid > *,
.raketoria-account-grid > *,
.raketoria-shop-layout-grid > *,
.raketoria-shop-hero-banner > *,
.raketoria-qv-content > *,
.raketoria-cols-2 > * { min-width: 0; }

/* Long product names / emails / order notes wrap instead of overflowing */
.raketoria-product-title,
.raketoria-cart-item-row,
.raketoria-checkout-wrapper,
.raketoria-orders-page-wrapper,
.rw-shop-product-card,
.raketoria-drawer-body,
.raketoria-modal-dialog { overflow-wrap: anywhere; word-break: normal; }

/* ---- 3. Fixed overlays: use inset instead of 100vw / 100vh ---------------
   100vw includes the scrollbar (-> sideways scroll on desktop) and 100vh
   ignores the mobile browser toolbar (-> buttons hidden under it). */
.raketoria-lightbox,
.raketoria-modal-backdrop,
.raketoria-modal {
    inset: 0 !important;
    width: auto !important;
    height: auto !important;
}
.raketoria-cart-drawer {
    height: 100vh;
    height: 100dvh;
    max-width: min(var(--rw-drawer-width), 100%);
}
.raketoria-drawer-footer { padding-bottom: max(16px, env(safe-area-inset-bottom)); }

.raketoria-modal-dialog {
    max-height: calc(100vh - 40px) !important;
    max-height: calc(100dvh - 40px) !important;
    -webkit-overflow-scrolling: touch;
}
.raketoria-modal { overscroll-behavior: contain; }

/* ---- 4. Header search bar: 270px fixed width broke small phones --------- */
.rw-header-search-bar {
    width: min(270px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
}

/* ---- 5. Tables always scroll inside their own box, never the page ------- */
.raketoria-table-responsive,
.raketoria-sg-modal .raketoria-size-table-wrap,
.raketoria-size-table-wrapper {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.raketoria-sg-modal .raketoria-size-table { min-width: min(460px, 100%); }

/* ---- 6. Editor notice used by the new Elementor widgets ----------------- */
.rw-editor-notice {
    padding: 16px 18px;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    background: #f8fafc;
    color: #475569;
    font-size: 13px;
    text-align: center;
}

/* ---- 7. Keyboard focus that is actually visible ------------------------- */
.raketoria-cart-drawer :focus-visible,
.raketoria-modal :focus-visible,
.raketoria-cart-page-wrapper :focus-visible,
.raketoria-checkout-wrapper :focus-visible,
.raketoria-orders-page-wrapper :focus-visible,
.raketoria-shop-page-wrapper :focus-visible,
.raketoria-product-page-wrapper :focus-visible,
.rw-header-actions :focus-visible {
    outline: 2px solid var(--rw-accent, #10b981);
    outline-offset: 2px;
}

/* ---- 8. Respect "reduce motion" ----------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    .raketoria-cart-drawer,
    .raketoria-modal,
    .raketoria-modal-backdrop,
    .raketoria-modal-dialog,
    .rw-shop-toast { transition: none !important; animation: none !important; }
}

/* ======================= Breakpoint: tablet (<= 1100px) ================== */
@media (max-width: 1100px) {
    .raketoria-shop-hero-banner { grid-template-columns: minmax(0, 1fr) minmax(0, 340px); }
    .raketoria-recommendations-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .raketoria-brands-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ======================= Breakpoint: tablet (<= 991px) =================== */
@media (max-width: 991px) {
    .raketoria-desc-specs-grid,
    .raketoria-shop-hero-banner,
    .raketoria-shop-layout-grid,
    .raketoria-account-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .raketoria-cart-trust-row,
    .raketoria-checkout-bottom-trust-row,
    .raketoria-account-trust-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .raketoria-recommendations-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ======================= Breakpoint: phone (<= 640px) ==================== */
@media (max-width: 640px) {
    .raketoria-trust-badges,
    .raketoria-cart-trust-row,
    .raketoria-checkout-bottom-trust-row,
    .raketoria-account-trust-row,
    .raketoria-qv-content { grid-template-columns: minmax(0, 1fr); }
    .raketoria-qv-specs-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .raketoria-recommendations-grid,
    .raketoria-brands-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    /* iOS Safari zooms the whole page when an input is < 16px */
    .raketoria-checkout-wrapper input:not([type="checkbox"]):not([type="radio"]),
    .raketoria-checkout-wrapper select,
    .raketoria-checkout-wrapper textarea,
    .raketoria-cart-page-wrapper input,
    .raketoria-orders-page-wrapper input,
    .raketoria-orders-page-wrapper select,
    .raketoria-orders-page-wrapper textarea,
    .rw-header-search-input,
    .rw-track-form input,
    .raketoria-track-wrap input,
    .raketoria-drawer-body input { font-size: 16px !important; }

    /* Comfortable 44px touch targets */
    .raketoria-qty-btn,
    .raketoria-drawer-close,
    .raketoria-modal-close,
    .raketoria-lightbox-close,
    .rw-header-action-btn,
    .raketoria-quickview-btn,
    .raketoria-size-guide-trigger { min-width: 44px; min-height: 44px; }

    /* Modals become bottom sheets */
    .raketoria-modal { padding: 0 !important; align-items: flex-end !important; }
    .raketoria-modal-dialog {
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 !important;
        border-radius: 18px 18px 0 0 !important;
        max-height: 92vh !important;
        max-height: 92dvh !important;
        padding-bottom: env(safe-area-inset-bottom) !important;
    }
    .raketoria-cart-drawer { max-width: 100%; }

    .rw-shop-toast {
        left: 12px !important;
        right: 12px !important;
        bottom: max(12px, env(safe-area-inset-bottom)) !important;
        max-width: none !important;
        transform: none;
        text-align: center;
    }
    .rw-header-search-bar { width: calc(100vw - 32px) !important; }
}

/* ======================= Breakpoint: small phone (<= 380px) ============== */
@media (max-width: 380px) {
    .raketoria-recommendations-grid,
    .raketoria-brands-grid,
    .raketoria-qv-specs-bar { grid-template-columns: minmax(0, 1fr); }
    .raketoria-drawer-header,
    .raketoria-drawer-body { padding-left: 14px; padding-right: 14px; }
    .raketoria-product-title { font-size: 21px; }
}

/* v1.4.1 pagination states */
.rw-shop-pagination .rw-page-pill { cursor: pointer; user-select: none; }
.rw-shop-pagination .rw-page-pill.is-disabled { opacity: .4; cursor: not-allowed; pointer-events: none; }
.rw-shop-pagination .rw-page-dots { align-self: center; padding: 0 2px; color: #94a3b8; }
@media (max-width: 480px) {
    .rw-shop-pagination { flex-wrap: wrap; justify-content: center; gap: 6px; }
}

/* =====================================================================
 * Split Single Product widgets (Gallery / Summary / Tabs / Breadcrumbs)
 * + inserted Elementor template sections + Related Products
 * ===================================================================== */
.raketoria-product-page-wrapper.rw-sp-part .raketoria-container {
    max-width: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}
.raketoria-product-page-wrapper.rw-sp-part .raketoria-product-main-grid {
    display: block;
    margin-bottom: 0;
}
.raketoria-product-page-wrapper.rw-sp-part--breadcrumbs .raketoria-breadcrumbs {
    margin-bottom: 0;
}
.raketoria-product-page-wrapper.rw-sp-part--tabs .raketoria-tabs-container {
    margin-top: 0;
}
.rw-inserted-section {
    width: 100%;
    margin: 16px 0;
}
.rw-inserted-section > .elementor,
.rw-inserted-section .elementor-section-wrap {
    width: 100%;
}
.rw-related-products .rw-related-heading {
    margin: 0 0 20px;
    font-size: 24px;
    font-weight: 700;
    color: #0f172a;
}
.rw-related-products .raketoria-shop-products-grid {
    display: grid;
    gap: 24px;
}
@media (max-width: 900px) {
    .raketoria-shop-products-grid.rw-cols-3,
    .raketoria-shop-products-grid.rw-cols-4,
    .raketoria-shop-products-grid.rw-cols-5 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* =====================================================================
 * Split Cart / Checkout / My Account / Shop widgets
 * Each part sits inside the user's own Elementor container, so the
 * built-in max-width / padding / 2-column grid must not apply to it.
 * ===================================================================== */
.rw-cart-part .raketoria-cart-container,
.rw-co-part .raketoria-checkout-container,
.rw-acc-part .raketoria-orders-container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.rw-shop-part .raketoria-shop-container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.rw-cart-part .raketoria-cart-layout-grid,
.rw-acc-part .raketoria-account-grid,
.rw-shop-part--filters .raketoria-shop-layout-grid,
.rw-shop-part--products .raketoria-shop-layout-grid {
    display: block !important;
    margin-bottom: 0;
}
.rw-cart-part .raketoria-cart-table-col,
.rw-cart-part .raketoria-cart-summary-col,
.rw-acc-part .raketoria-account-sidebar,
.rw-acc-part .raketoria-account-main-content,
.rw-shop-part .raketoria-shop-filter-sidebar,
.rw-shop-part .raketoria-shop-main-content {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
}
.rw-acc-part,
.rw-shop-part {
    width: 100%;
    max-width: 100%;
}
.rw-cart-part--trust .raketoria-cart-trust-row,
.rw-cart-part--recommended .raketoria-cart-recommendations-section,
.rw-co-part--trust .raketoria-checkout-bottom-trust-row,
.rw-acc-part--track .raketoria-track-order-card,
.rw-acc-part--trust .raketoria-account-trust-row {
    margin-top: 0;
}


/* =========================================================================
 * v1.6.2 - Shop UI fixes: price slider, filter heading hover, equal-height
 * cards, mobile wishlist bar, max 15px side gap
 * ========================================================================= */

/* ---- Filter heading: no theme hover / focus / selection colour ---------- */
.raketoria-shop-filter-sidebar .rw-filter-accordion-header,
.raketoria-shop-filter-sidebar .rw-filter-accordion-header:hover,
.raketoria-shop-filter-sidebar .rw-filter-accordion-header:focus,
.raketoria-shop-filter-sidebar .rw-filter-accordion-header:focus-visible,
.raketoria-shop-filter-sidebar .rw-filter-accordion-header:active {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    border: 0 !important;
    color: #0f172a !important;
    text-decoration: none !important;
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    user-select: none;
}
.raketoria-shop-filter-sidebar .rw-filter-accordion-header .rw-filter-name,
.raketoria-shop-filter-sidebar .rw-filter-accordion-header:hover .rw-filter-name {
    background: transparent !important;
    color: #0f172a !important;
}
.raketoria-shop-filter-sidebar .rw-filter-accordion-header .rw-accordion-icon,
.raketoria-shop-filter-sidebar .rw-filter-accordion-header:hover .rw-accordion-icon {
    background: transparent !important;
    color: #64748b !important;
}
.raketoria-shop-filter-sidebar .rw-filter-accordion-header::selection,
.raketoria-shop-filter-sidebar .rw-filter-accordion-header *::selection {
    background: transparent;
}

/* ---- Price range slider: one clean track, native thumbs aligned on it ---- */
.rw-price-slider-wrap {
    position: relative;
    padding: 4px 0 6px;
}
.rw-price-slider-wrap .rw-price-summary-label {
    height: 20px;
    line-height: 20px;
    margin: 0 0 14px;
    white-space: nowrap;
    overflow: hidden;
}
.rw-price-slider-wrap .rw-slider-track {
    height: 4px;
    margin: 0 8px 18px;
    background: #e2e8f0;
}
/* the custom dots duplicated the native thumbs */
.rw-price-slider-wrap .rw-slider-handle {
    display: none !important;
}
.rw-price-slider-wrap .rw-slider-input {
    position: absolute;
    left: 0;
    top: 32px;              /* 4 padding + 20 label + 14 gap - 8 (half thumb) + 2 (half track) */
    width: 100%;
    height: 16px;
    margin: 0;
    padding: 0;
    background: transparent !important;
    -webkit-appearance: none;
    appearance: none;
    pointer-events: none;
    accent-color: var(--rw-primary, #044b38);
}
.rw-price-slider-wrap .rw-slider-input::-webkit-slider-runnable-track {
    height: 16px;
    background: transparent !important;
    border: 0;
}
.rw-price-slider-wrap .rw-slider-input::-moz-range-track {
    height: 16px;
    background: transparent !important;
    border: 0;
}
.rw-price-slider-wrap .rw-slider-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    pointer-events: auto;
    width: 16px;
    height: 16px;
    margin-top: 0;
    border-radius: 50%;
    background: var(--rw-primary, #044b38) !important;
    border: 2px solid #ffffff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    cursor: pointer;
}
.rw-price-slider-wrap .rw-slider-input::-moz-range-thumb {
    pointer-events: auto;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--rw-primary, #044b38) !important;
    border: 2px solid #ffffff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    cursor: pointer;
}

/* ---- Product cards: equal height, equal image box, tidy text ------------- */
.raketoria-shop-products-grid {
    align-items: stretch;
}
.raketoria-shop-products-grid .rw-shop-product-card,
.rw-shop-product-card {
    align-self: stretch !important;
    height: 100%;
}
.rw-card-image-outer {
    flex: 0 0 auto;
}
.rw-card-image-wrap {
    height: 180px !important;
    margin-bottom: 10px;
}
.rw-card-image-wrap .rw-card-img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.rw-card-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: calc(1.35em * 2);
    overflow-wrap: break-word;
    word-break: normal;
}
.rw-card-subtitle {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rw-card-price-row {
    flex-wrap: wrap;
    row-gap: 2px;
    padding-top: 8px;
}
.rw-card-price-row .woocommerce-Price-amount,
.rw-card-price-row del,
.rw-card-price-row ins {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}

/* ---- Max 15px side gap ---------------------------------------------------- */
.raketoria-shop-page-wrapper:not(.rw-shop-part) {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.raketoria-shop-page-wrapper:not(.rw-shop-part) .raketoria-shop-container {
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* ---- Mobile --------------------------------------------------------------- */
@media (max-width: 600px) {
    .raketoria-shop-layout-grid {
        gap: 16px;
    }
    .raketoria-shop-products-grid,
    .raketoria-shop-products-grid.rw-cols-2,
    .raketoria-shop-products-grid.rw-cols-3,
    .raketoria-shop-products-grid.rw-cols-4,
    .raketoria-shop-products-grid.rw-cols-5 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }
    .rw-shop-product-card {
        padding: 10px;
    }
    .rw-card-image-wrap {
        height: 130px !important;
    }
    .rw-card-title {
        font-size: 13px;
    }
    .rw-card-price-row,
    .rw-card-price-row ins,
    .rw-card-price-row ins .woocommerce-Price-amount,
    .rw-card-price-row > .woocommerce-Price-amount,
    .rw-card-price-row > span.amount {
        font-size: 14px !important;
    }
    .rw-card-price-row del,
    .rw-card-price-row del .woocommerce-Price-amount,
    .rw-card-price-row del span.amount {
        font-size: 12px !important;
    }

    /* Wishlist bar: line 1 = text, line 2 = button */
    .rw-wishlist-filter-bar {
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        padding: 10px 12px !important;
        font-size: 13px !important;
    }
    .rw-wishlist-filter-bar .rw-wishlist-filter-text {
        display: block;
        line-height: 1.35;
    }
    .rw-wishlist-filter-bar .rw-clear-wishlist-filter-btn {
        align-self: flex-start;
        white-space: nowrap;
    }
}

/* =========================================================================
 * v1.6.3 - Quick View: qty + Add to cart must stay inside the modal
 * ========================================================================= */
.raketoria-qv-summary,
.raketoria-qv-add-to-cart {
    min-width: 0;
    max-width: 100%;
}
.raketoria-qv-modal .raketoria-qv-form,
.raketoria-qv-form {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 12px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.raketoria-qv-form .raketoria-qty-wrapper {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 130px;
}
.raketoria-qv-form .raketoria-qty-input {
    width: 44px !important;
    min-width: 0 !important;
    max-width: 44px !important;
    flex: 0 0 44px !important;
}
.raketoria-qv-form .raketoria-qv-submit-btn,
.raketoria-qv-modal .single_add_to_cart_button {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
    padding: 0 14px !important;
    overflow: hidden;
}
@media (max-width: 420px) {
    .raketoria-qv-form { gap: 8px; }
    .raketoria-qv-form .raketoria-qty-wrapper { max-width: 112px; }
}

/* =========================================================================
 * v1.6.4 - Single product slider arrows, checkout payment badges
 * ========================================================================= */

/* ---- Gallery arrows: always visible, perfectly round, theme-proof -------- */
.raketoria-gallery-arrow,
.raketoria-gallery-arrow:hover,
.raketoria-gallery-arrow:focus,
.raketoria-gallery-arrow:active {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    max-width: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1px solid #d1d5db !important;
    color: #0f172a !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.15) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    outline: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.raketoria-gallery-arrow:hover {
    background: #f1f5f9 !important;
}
.raketoria-gallery-arrow svg,
.raketoria-thumb-arrow svg {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px;
    fill: none !important;
    stroke: currentColor !important;
    color: inherit !important;
    pointer-events: none;
    opacity: 1 !important;
    visibility: visible !important;
}
.raketoria-gallery-arrow svg *,
.raketoria-thumb-arrow svg * {
    stroke: currentColor !important;
    fill: none !important;
}
.raketoria-thumb-arrow,
.raketoria-thumb-arrow:hover,
.raketoria-thumb-arrow:focus {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #475569 !important;
    padding: 4px !important;
    outline: none !important;
}

/* ---- Checkout: payment method badges must not wrap letter by letter ------ */
.raketoria-payment-header-label {
    flex-wrap: wrap;
    gap: 10px;
}
.raketoria-payment-header-label .rw-card-left {
    flex: 1 1 auto;
    min-width: 0;
}
.rw-payment-logos {
    flex: 0 0 auto;
    flex-wrap: nowrap !important;
}
.rw-pay-badge {
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    writing-mode: horizontal-tb !important;
    flex: 0 0 auto;
    min-width: 0;
    line-height: 1.3;
}
.badge-mc {
    min-width: 30px;
}
@media (max-width: 480px) {
    .raketoria-payment-header-label .rw-payment-logos {
        width: 100%;
        padding-left: 2px;
    }
}

/* =========================================================================
 * v1.6.6 - Grip / variation pills use the Add to Cart colour (no theme blue)
 * ========================================================================= */
.raketoria-swatch-pill,
.raketoria-swatch-pill:focus,
.raketoria-swatch-pill:active {
    background: #ffffff !important;
    color: var(--rw-text, #0f172a) !important;
    border: 1px solid var(--rw-border-input, #d1d5db) !important;
    box-shadow: none !important;
    outline: none !important;
    -webkit-tap-highlight-color: transparent;
}
.raketoria-swatch-pill.is-selected,
.raketoria-swatch-pill.is-selected:focus,
.raketoria-swatch-pill.is-selected:active {
    background: #ffffff !important;
    border: 2px solid var(--rw-primary) !important;
    color: var(--rw-primary) !important;
}
.raketoria-swatch-pill:hover,
.raketoria-swatch-pill.is-selected:hover {
    background: var(--rw-primary) !important;
    border-color: var(--rw-primary) !important;
    color: #ffffff !important;
}

/* Zoom button: icon always visible, round, theme-proof */
.raketoria-zoom-btn,
.raketoria-zoom-btn:hover,
.raketoria-zoom-btn:focus {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1px solid #d1d5db !important;
    color: #0f172a !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.15) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    outline: none !important;
}
.raketoria-zoom-btn svg {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    fill: none !important;
    stroke: currentColor !important;
    pointer-events: none;
}
.raketoria-zoom-btn svg * {
    stroke: currentColor !important;
}

/* =========================================================================
 * v1.6.7 - Quick view quantity stepper: both - and + visible and working
 * ========================================================================= */
.raketoria-qv-form .raketoria-qty-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    width: 124px !important;
    max-width: 124px !important;
    height: 48px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    overflow: hidden !important;
}
.raketoria-qv-form .raketoria-qty-wrapper .raketoria-qty-btn,
.raketoria-qv-form .raketoria-qty-wrapper .raketoria-qty-btn:focus,
.raketoria-qv-form .raketoria-qty-wrapper .raketoria-qty-btn:active {
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #0f172a !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    outline: none !important;
    cursor: pointer;
}
.raketoria-qv-form .raketoria-qty-wrapper .raketoria-qty-btn:hover {
    background: var(--rw-primary, #044b38) !important;
    color: #ffffff !important;
}
.raketoria-qv-form .raketoria-qty-wrapper .raketoria-qty-input {
    flex: 1 1 auto !important;
    width: 48px !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    text-align: center !important;
}


/* ===== Product Condition (New / Very good / Good) ===== */
.rw-card-badges-left {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.rw-card-brand,
.rw-loop-brand {
    display: block;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    color: #0f172a;
    margin: 0 0 2px;
}

/* Consistent condition pill across product cards, loops and quick views */
.rw-condition-badge {
    display: inline-block;
    box-sizing: border-box;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.35;
    color: #075e46;
    background: #f0f5f2;
    border: 0;
    border-radius: 4px;
    padding: 4px 8px;
    text-transform: none;
    white-space: normal;
}

/* Keep the same compact badge appearance on listing cards */
.rw-card-condition,
.rw-loop-condition {
    display: inline-block;
    width: fit-content;
    font-size: 12px;
    margin: 0 0 6px;
    vertical-align: middle;
}

.raketoria-condition-row {
    display: flex;
    align-items: center;
    margin: -4px 0 10px;
}

.rw-qv-condition {
    display: block;
    margin: -4px 0 10px;
}

/* ===== Clean theme product loops: no Add to cart / Select options / Quick View buttons ===== */
body.rw-clean-loop ul.products li.product .button,
body.rw-clean-loop ul.products li.product .added_to_cart,
body.rw-clean-loop ul.products li.product .raketoria-quickview-btn {
    display: none !important;
}

/* Shop top bar + bottom bar: keep labels on ONE line ("Sort by", "Show 48 per page") */
.rw-shop-top-actions-right {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
}
.rw-shop-results-count,
.rw-shop-sort-wrap,
.rw-sort-label,
.rw-per-page-select-wrap,
.rw-per-page-select-wrap > span {
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    flex-shrink: 0 !important;
    width: auto !important;
    max-width: none !important;
}
.rw-shop-sort-wrap,
.rw-per-page-select-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
}


/* v1.7.2: Product condition alignment and mobile card spacing */
.rw-card-content {
    min-width: 0;
}
.rw-card-title {
    margin-bottom: 6px !important;
}
.rw-card-condition,
.rw-loop-condition {
    display: inline-flex !important;
    align-items: center;
    align-self: flex-start;
    box-sizing: border-box;
    min-height: 23px;
    max-width: 100%;
    width: fit-content;
    margin: 0 0 9px !important;
    padding: 4px 8px !important;
    line-height: 1.25 !important;
    vertical-align: top;
}
.rw-card-subtitle {
    min-height: 16px;
    margin: 0 0 8px !important;
    line-height: 1.35 !important;
}
.rw-card-price-row {
    margin-top: auto !important;
    padding-top: 8px !important;
}
@media (max-width: 600px) {
    .rw-card-title { margin-bottom: 7px !important; }
    .rw-card-condition,
    .rw-loop-condition {
        min-height: 23px;
        margin-bottom: 10px !important;
        padding: 4px 7px !important;
        font-size: 11px !important;
        line-height: 1.3 !important;
    }
    .rw-card-subtitle { margin-bottom: 9px !important; }
    .rw-card-price-row { padding-top: 9px !important; }
}
