/* ==========================================================================
    ARCHITECTURAL LAYOUT STYLES FOR THE PREMIUM PRODUCT DETAILS OVERVIEW
   ========================================================================== */

.product-details-master-section {
    padding: 50px 0 90px 0;
    background-color: #ffffff; /* Page base matches clean white layout rules */
}

.product-details-container {
    display: grid; 
    grid-template-columns: 1.1fr 0.9fr; 
    gap: 50px;
    align-items: flex-start;
}

/* ==========================================================================
    🖼️ LEFT COLUMN: PREMIUM INTEGRATED GALLERY SYSTEM
   ========================================================================== */
.product-gallery-wrapper {
    display: flex;
    gap: 20px;
    position: sticky;
    top: 180px; /* Aligns cleanly with your fixed site header body offset rules */
}

/* Vertical Thumbnail Strip Track Selector */
 .thumbnail-nav-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.thumbnail-viewport {
    height: 450px; /* (100px height + 12px gap) * 5 items = 560px + margin */
    overflow: hidden;
    position: relative;
}

.thumbnail-strip-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: transform 0.3s ease;
}

.thumb-nav-btn {
    background: #f3f4f6;
    border: none;
    width: 100px;
    height: 30px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 12px;
}

.thumb-nav-btn:hover { background: #e5e7eb; }

.thumb-pill {
    width: 100px;
    height: 100px;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    background-color: #f9fafb;
    overflow: hidden;
    cursor: pointer;
    padding: 4px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.2s ease;
}

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

.thumb-pill:hover,
.thumb-pill.active {
    border-color: var(--gold-border);
    box-shadow: 0 4px 10px rgba(163, 127, 51, 0.12);
 }

/* Main Preview Showcase Box Canvas */
.main-preview-showcase {
    flex-grow: 1;
    height: 540px;
    background-color: #C5B4A6; /* Soft natural mid-tone premium background derived from image canvas specs */
    border-radius: 24px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* --- 1. The Container (The Canvas) --- */
.showcase-img-canvas {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0; /* Remove padding if you want it truly edge-to-edge */
    overflow: hidden; /* This prevents the image from leaking out */
    background-color: #f9fafb; /* Consistent background */
}

/* --- 2. The Image (The Content) --- */
.showcase-img-canvas img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* This is the magic: fills the area proportionally */
    object-position: center; /* Ensures the middle of the product is always visible */
    display: block;
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

 
/* Updated Badge Rows (Now placed above title) */
.badge-row-tags {
    display: flex;
    flex-direction: row; /* Changed from column to row */
    gap: 8px;
    margin-bottom: 12px; /* Adds breathing room between badges and the H1 title */
    /* Removed position: absolute, top, and left */
}
 
.tag-badge {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.5px;
    padding: 4px 12px;
    text-transform: uppercase;
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 22px;
    /* This creates the cutout effect */
    background-image: radial-gradient(circle at 6px center, transparent 3px, currentColor 3px);
    background-size: 6px 6px;
    background-repeat: repeat-y;
    background-position: right center; /* Focuses the cut on the right side */
    padding-right: 14px; /* Gives space for the cut */
}

.sales-badge {
    color: #CC0022; /* Use color instead of background-color */
    background-color: #CC0022;
}

.new-badge {
    color: #007a78;
    background-color: #007a78;
}
.sales-badge {
    background-color: #CC0022; /* Pure voucher alert coupon red */
    color: #ffffff;
}

.new-badge {
    background-color: #007a78; /* Clean soft organic contrast green */
    color: #ffffff;
}

#mainShowcaseImg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    
    transition: opacity 0.4s ease-in-out, transform 0.4s ease;
    opacity: 1;
}

 .fade-out {
    opacity: 0;
    transform: scale(0.95); 
}


/* Gallery Kinetic Navigation Elements */
.gallery-nav-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #ffffff;
    border: none;
    color: var(--primary-black);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(5, 5, 5, 0.15);
    transition: background 0.3s ease, color 0.3s ease, transform 0.2s ease;
}

.gallery-nav-arrow:hover {
    background: var(--gradient-gold-linear);
    color: #000000;
}

.arrow-left { left: 20px; }
.arrow-right { right: 20px; }

/* ==========================================================================
    📦 RIGHT COLUMN: PREMIUM PURCHASE CONFIGURATION PANEL
   ========================================================================== */
.product-purchase-config-panel {
    display: flex;
    flex-direction: column;
}

.panel-header-meta {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 12px;
}

.main-product-title {
    font-size: 28px;
    font-weight: 700;
    color: var(--primary-black);
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.action-wishlist-toggle-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid #e5e7eb;
    background-color: #ffffff;
    color: #8e8e93;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.action-wishlist-toggle-btn:hover {
    border-color: #e11d48;
    color: #e11d48;
    background-color: #fff1f2;
}

/* Ratings */
.product-ratings-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
}

.stars-gold-wrapper {
    color: #f59e0b; /* Bright amber gold */
    font-size: 13px;
    display: flex;
    gap: 2px;
}

.total-reviews-count-txt {
    font-size: 13px;
    color: var(--text-muted);
    font-weight: 500;
}

/* Pricing Grid blocks matrix */
.product-pricing-matrix {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 25px;
}

.price-current {
    font-size: 28px;
    font-weight: 700;
    color: var(--primary-black);
}

.price-original {
    font-size: 16px;
    color: var(--text-muted);
    text-decoration: line-through;
    font-weight: 500;
}

.price-discount-pill {
    background-color: #FFF1A8; /* Glowing gold background token hint */
    color: var(--dark-gold);
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 6px;
}

.panel-divider-line {
    border: none;
    height: 1px;
    background-color: #f3f4f6;
    margin: 0 0 25px 0;
}

/* Form Fields & Variation Clusters */
.variation-selection-block {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 28px;
}

.variation-label-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
}

.variation-label-title strong {
    color: var(--primary-black);
    font-weight: 700;
}

/* Custom Swatches */
.color-swatch-options-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.swatch-radio-wrapper input {
    position: absolute;
    opacity: 0;
    width: 0; height: 0;
}

.custom-swatch-circle {
    display: block;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid #ffffff;
    box-shadow: 0 0 0 1px #e5e7eb;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.swatch-radio-wrapper:hover .custom-swatch-circle {
    transform: scale(1.06);
}

.swatch-radio-wrapper input:checked ~ .custom-swatch-circle {
    box-shadow: 0 0 0 2px var(--gold-border);
    transform: scale(1.06);
}

/* Size Pills option layout */
.variation-label-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.size-guide-modal-trigger {
    background: transparent;
    border: none;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-gold-muted);
    text-decoration: underline;
    cursor: pointer;
}

.size-pills-options-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.size-pill-radio-wrapper input {
    position: absolute;
    opacity: 0;
    width: 0; height: 0;
}

.custom-size-pill-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 65px;
    height: 38px;
    padding: 0 16px;
    border: 1px solid #e5e7eb;
    border-radius: 20px; /* Pillow shape matching curvature preference options */
    font-size: 13px;
    font-weight: 600;
    color: var(--primary-black);
    background-color: #ffffff;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.25, 1, 0.5, 1);
}

.size-pill-radio-wrapper:hover .custom-size-pill-btn {
    border-color: var(--gold-border);
    background-color: #fffdf9;
}

.size-pill-radio-wrapper input:checked ~ .custom-size-pill-btn {
    background-color: var(--primary-black); /* Clean target active accent background block matches the image setup */
    color: #ffffff;
    border-color: transparent;
}

/* Quantity selector & Purchase Actions Wrapper Row */
.quantity-and-purchase-triggers-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 35px;
    margin-bottom: 35px;
}

/* Step Incrementor Container */
.quantity-stepper-selector {
    display: inline-flex;
    align-items: center;
    border: 1px solid #e5e7eb;
    border-radius: 24px;
    height: 46px;
    padding: 0 6px;
    background-color: #ffffff;
}

.stepper-btn {
    border: none;
    background: transparent;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-black);
    font-size: 11px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.stepper-btn:hover {
    background-color: #f3f4f6;
    color: var(--dark-gold);
}

.stepper-value-input {
    width: 40px;
    border: none;
    background: transparent;
    text-align: center;
    font-family: 'Raleway', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: var(--primary-black);
    outline: none;
    -moz-appearance: textfield;
}

.stepper-value-input::-webkit-outer-spin-button,
.stepper-value-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Main Core Action Buttons */
.premium-action-trigger {
    height: 46px;
    border: none;
    border-radius: 24px;
    font-family: 'Raleway', sans-serif;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
    box-sizing: border-box;
}

.buy-now-btn {
    flex-grow: 1.1;
    background: var(--gradient-gold-linear);
    color: #000000;
}

.buy-now-btn:hover {
    background: var(--surface-dark); /* Sleek obsidian/dark charcoal default foundation */
    color: var(--bright-gold);  
}

.add-to-cart-btn {
    flex-grow: 1;
   background: var(--surface-dark); /* Sleek obsidian/dark charcoal default foundation */
    color: var(--bright-gold);  
}

.add-to-cart-btn .btn-icon-img {
    width: 16px; height: 16px;
    object-fit: contain;
    
 }

.add-to-cart-btn:hover {
   background: var(--gradient-gold-linear);
    color: #000000;
}

.add-to-cart-btn:hover .btn-icon-img {
       filter: brightness(0); /* This effectively makes the PNG icon black */

}

/* Secondary Meta Blocks Footer */
.panel-footer-metadata-stack {
    display: flex;
    flex-direction: column;
    gap: 12px;
    border-top: 1px solid #f3f4f6;
    padding-top: 25px;
}

.meta-row-item {
    display: flex;
    font-size: 13px;
    line-height: 1.4;
}

.meta-label {
    font-weight: 600;
    color: var(--primary-black);
    width: 120px;
    flex-shrink: 0;
}

.meta-value.text-muted {
    color: #6b7280;
    font-weight: 500;
}

 @media screen and (max-width: 992px) {
    .product-gallery-wrapper {
        display: flex !important;
        flex-direction: column !important; /* Main Image උඩ, Thumbnails යට */
        gap: 15px !important;
        position: static !important;
    }

 .showcase-img-canvas {
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;  
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background-color: #f9fafb;
}

#mainShowcaseImg {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* image එක box එකටම fit වෙනවා */
    object-position: center !important;
    display: block;
}

    /* Thumbnail container එකට යටින් ඉඩ දෙමු */
    .thumbnail-nav-wrapper {
        order: 2; /* Main image එකට පස්සේ එන්න */
        width: 100% !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .thumbnail-nav-wrapper::-webkit-scrollbar {
        display: none;
    }

    /* Thumbnail strip එකේ පින්තූර පේළියට තියමු */
    .thumbnail-strip-container {
        display: flex !important;
        flex-direction: row !important;
        width: 100% !important;
        gap: 10px !important;
        transform: none !important;
    }

    /* එක pill එකක් screen එකේ ප්‍රමාණයට අනුව adjust වෙන්න */
    .thumb-pill {
        flex: 0 0 calc(20% - 8px) !important; /* එක පාර 5ක් පේන්න */
        width: calc(20% - 8px) !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
    }

    /* Arrow buttons මේ view එකට අවශ්‍ය නැති නිසා hide කරමු */
    .thumb-nav-btn {
        display: none !important;
    }
    
    .thumbnail-viewport {
        width: 100% !important;
        height: auto !important;
    }
}


/* ==========================================================================
    📱 PREMIUM MOBILE RESPONSIVE LAYOUT CONSTRAINTS (DRAWER OVERRIDES)
   ========================================================================== */

@media screen and (max-width: 992px) {
    .product-details-container {
        grid-template-columns: 1fr; /* Stacks column sections safely into vertical layouts flow */
        gap: 40px;
    }
    
    .product-gallery-wrapper {
        position: relative;
        top: 0;
    }
}

@media screen and (max-width: 576px) {
    .product-details-master-section {
        padding-top: 20px;
        padding-bottom: 50px;
    }

    .product-gallery-wrapper {
        flex-direction: column-reverse; /* Flips gallery layout positioning thumbnail selector track directly underneath canvas box */
        gap: 14px;
    }

    .thumbnail-strip-container {
        flex-direction: row;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .product-pricing-matrix {
        display: flex;
        flex-direction: column; /* Changes from horizontal row to vertical column */
        align-items: flex-start; /* Aligns them all to the left side */
        gap: 6px; /* Adds space between each row */
    }
    
    /* Optional: Makes the discount pill sit nicely by its own width */
    .price-discount-pill {
        display: inline-block;
        width: fit-content;
    }


    .thumb-pill {
        width: 60px; height: 65px;
        flex-shrink: 0;
    }

    .main-preview-showcase {
        height: 340px;
        border-radius: 16px;
    }

    .showcase-img-canvas {
        padding: 16px;
    }
    
    .main-product-title {
        font-size: 22px;
    }
    
    .quantity-and-purchase-triggers-row {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    
    .quantity-stepper-selector {
        justify-content: space-between;
    }
    
    .premium-action-trigger {
        width: 100%;
    }
}



.stock-status-wrapper {
    margin-bottom: 15px;
}

.stock-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.stock-badge i {
    font-size: 8px; /* Small status dot */
}

.stock-badge.in-stock {
    color: #059669; /* Green */
}

.stock-badge.out-of-stock {
    color: #DC2626; /* Red */
}

/* Styling for the new description */
.product-short-description {
    margin-bottom: 25px;
    font-size: 14px;
    line-height: 1.6;
    color: #4b5563; /* Slightly darker than text-muted for better readability */
}

/* Adjusting the meta stack to handle longer text like ingredients */
.panel-footer-metadata-stack {
    display: flex;
    flex-direction: column;
    gap: 12px;
    border-top: 1px solid #f3f4f6;
    padding-top: 25px;
}

.meta-row-item {
    display: flex;
    font-size: 13px;
    line-height: 1.5;
}

.meta-label {
    font-weight: 600;
    color: #111827; /* Darker primary color */
    width: 120px;
    flex-shrink: 0;
}

.meta-value.text-muted {
    color: #6b7280;
    font-weight: 500;
    word-break: break-word; /* Ensures long ingredients wrap nicely */
}

/* Container for the action buttons */
.header-actions-wrapper {
    display: flex;
    gap: 10px; /* Space between buttons */
}

/* Base style for the share button (reusing the wishlist button's size) */
.action-share-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid #e5e7eb;
    background-color: #ffffff;
    color: #8e8e93;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

/* Hover effect for the share button */
.action-share-btn:hover {
    border-color: #007a78; /* Matches your brand green */
    color: #007a78;
    background-color: #f0fdfa;
}

@media screen and (max-width: 576px) {
    /* Reduce the size of both action buttons */
    .action-wishlist-toggle-btn, 
    .action-share-btn {
        width: 38px !important;  /* Reduced from 44px */
        height: 38px !important; /* Reduced from 44px */
        font-size: 14px !important; /* Slightly smaller icon */
    }

    /* Optional: If you want the gap between them to be tighter on mobile */
    .header-actions-wrapper {
        gap: 6px !important;
    }
}

/* ==========================================================================
   ARCHITECTURAL LAYOUT STYLES FOR THE NEW SPECS & REVIEWS SECTION
   ========================================================================== */

.product-specs-reviews-section {
    padding: 60px 0 90px 0;
    background-color: #f9fafb; /* Light tint break away from the clean white master top panel */
    border-top: 1px solid #f3f4f6;
}

.specs-reviews-container {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr; /* Maintains exact matching grid rhythm with top gallery panel */
    gap: 50px;
    align-items: flex-start;
}

/* ==========================================================================
   LEFT COLUMN: SPECIFICATIONS & DATA BLOCK CARDS
   ========================================================================== */
.specs-details-column {
    display: flex;
    flex-direction: column;
    gap: 25px;
}
/* Custom PNG Icon Layout Sync inside Heading Blocks */
.spec-title-icon {
    width: 20px;          /* Perfect visual size matches for typography scales */
    height: 20px;
    object-fit: contain;  /* Restricts warping stretching rules */
    display: inline-block;
    vertical-align: middle;
}

.spec-block-title {
    display: flex;
    align-items: center;  /* Forces pixel-perfect center alignment */
    gap: 12px;            /* Adds uniform space between image and text */
}
.spec-block-card {
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 24px;
 }

.spec-block-title {
    font-size: 16px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
     text-transform: uppercase;
    letter-spacing: 0.3px;
}

.spec-block-title i {
    color: var(--primary-black); /* Swapped to dynamic obsidian black brand token */
    font-size: 15px;
}

.subtitle-badge {
    font-size: 10px;
    background-color: #f5f5f5; /* Adjusted background tint to complement deep black text */
    color: var(--primary-black); /* Swapped to obsidian black */
    padding: 2px 8px;
    border-radius: 4px;
    margin-left: 6px;
}

/* Storage Style */
.storage-text {
    font-size: 14px;
    line-height: 1.6;
    color: #4b5563;
}

/* Nutrient Sheet Table Matrix */
.nutrition-table-wrapper {
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid #f3f4f6;
}

.nutrition-data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    text-align: left;
}

.nutrition-data-table th, 
.nutrition-data-table td {
    padding: 12px 16px;
}

.nutrition-data-table th {
    background-color: #f3f4f6;
    color: #111827;
    font-weight: 600;
}

.nutrition-data-table td {
    color: #4b5563;
    border-bottom: 1px solid #f3f4f6;
}

.nutrition-data-table tr:last-child td {
    border-bottom: none;
}

/* Certifications Layout Blocks */
.certifications-grid-layout {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.cert-badge-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background-color: #fafafa;
    border: 1px solid #f3f4f6;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    color: #374151;
}

.cert-badge-item i {
    color: #059669; /* Trust green check status remains stable */
}

/* Tags Cloud Pool Layout */
.meta-tags-flex-pool {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pool-tag {
    font-size: 12px;
    font-weight: 500;
    color: #4b5563;
    background-color: #f3f4f6;
    padding: 6px 14px;
    border-radius: 20px;
    transition: all 0.2s ease;
}

.pool-tag:hover {
    background-color: var(--primary-black); /* Swapped to obsidian black background hover */
    color: #ffffff;
}

/* ==========================================================================
   RIGHT COLUMN: LEAVE A REVIEW SUBMISSION INTERFACE
   ========================================================================== */
.review-engine-sticky-card {
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 24px;
    padding: 35px;
     position: sticky;
    top: 120px; /* Aligns comfortably with view-scroll offsets */
}

.review-panel-main-title {
    font-size: 22px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 6px;
}

.review-panel-subtitle {
    font-size: 13px;
    color: #6b7280;
    line-height: 1.5;
    margin-bottom: 25px;
}

/* Interactive Star Selection Logic Rules */
.interactive-rating-input-row {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.rating-field-label {
    font-size: 13px;
    font-weight: 600;
    color: #4b5563;
    text-transform: uppercase;
}

.star-rating-interactive-pool {
    display: flex;
    flex-direction: row-reverse; /* Reverses order for pure CSS selector matching highlights */
    justify-content: flex-end;
}

.star-rating-interactive-pool input {
    display: none;
}

.star-rating-interactive-pool label {
    font-size: 20px;
    color: #e5e7eb;
    cursor: pointer;
    padding: 0 3px;
    transition: color 0.2s ease;
}

.star-rating-interactive-pool label:hover,
.star-rating-interactive-pool label:hover ~ label,
.star-rating-interactive-pool input:checked ~ label {
    color: #f59e0b; /* Golden Amber highlight active properties */
}

/* Form Fields Structures */
.form-input-group-wrapper {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 18px;
}

.form-field-structural-label {
    font-size: 12px;
    font-weight: 600;
    color: #4b5563;
}

.review-text-field-input,
.review-textarea-field-input {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 16px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;    font-family: 'Raleway', 'Noto Sans Sinhala', sans-serif;

    font-size: 14px;
    color: #111827;
    background-color: #fafafa;
    outline: none;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.review-text-field-input:focus,
.review-textarea-field-input:focus {
    border-color: var(--primary-black); /* Swapped to active obsidian black layout boundary focus */
    background-color: #ffffff;
}

.review-textarea-field-input {
    resize: vertical;
}

/* Form Core Trigger Button Button Overrides */
.submit-review-action-btn {
    width: 100%;
    margin-top: 10px;
    background-color: var(--primary-black); /* Swapped core button brand color block */
    color: #ffffff;
}

.submit-review-action-btn:hover {
    background-color: #262626; /* Smooth hover transition contrast accent */
    color: #ffffff;
}

/* ==========================================================================
   📱 MOBILE RESPONSIVE ADAPTATIONS
   ========================================================================== */
@media screen and (max-width: 992px) {
    .specs-reviews-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .review-engine-sticky-card {
        position: static;
        padding: 24px;
    }
}

@media screen and (max-width: 576px) {
    .product-specs-reviews-section {
        padding: 40px 0 60px 0;
    }
    
    .certifications-grid-layout {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}


/* ==========================================================================
   SUBMITTED REVIEWS LIST MATRIX RULES
   ========================================================================== */

.review-panel-divider {
    border: none;
    height: 1px;
    background-color: #e5e7eb;
    margin: 30px 0 20px 0;
}

.submitted-reviews-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.submitted-feed-title {
    font-size: 14px;
    font-weight: 700;
    color: #111827;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.submitted-feed-counter {
    font-size: 11px;
    color: #6b7280;
    font-weight: 500;
}

/* Specific Height Constraints container with hidden modern scroll track */
.submitted-reviews-scroll-area {
    max-height: 400px;
    overflow-y: auto;
    padding-right: 4px;
    scrollbar-width: thin;
    scrollbar-color: #e5e7eb transparent;
}

/* Custom Scrollbar styling context for webkit layouts */
.submitted-reviews-scroll-area::-webkit-scrollbar {
    width: 4px;
}

.submitted-reviews-scroll-area::-webkit-scrollbar-track {
    background: transparent;
}

.submitted-reviews-scroll-area::-webkit-scrollbar-thumb {
    background-color: #e5e7eb;
    border-radius: 10px;
}

/* Individual Review Cards */
.review-feed-item {
    background-color: #fafafa;
    border: 1px solid #f3f4f6;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 12px;
}

.review-feed-item:last-child {
    margin-bottom: 0;
}

.review-item-meta {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 6px;
}

.reviewer-identity {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

 /* Inline alignment wrapper for the identity components */
.reviewer-inline-row {
    display: flex;
    align-items: center;
    gap: 8px; /* Adds space directly between the name and the badge */
    flex-wrap: wrap; /* Prevents overflow issues on narrow mobile layouts */
}

.reviewer-name {
    font-size: 13px;
    font-weight: 600;
    color: #111827;
    line-height: 1; /* Eliminates vertical box collision offsets */
}

.review-verified-badge {
    font-size: 10px;
    font-weight: 600;
    color: #059669; /* Dynamic trust green color token */
    display: inline-flex;
    align-items: center;
    gap: 4px;
    line-height: 1;
}

.review-item-date {
    font-size: 11px;
    color: #9ca3af;
    font-weight: 500;
}

.review-item-stars {
    color: #f59e0b; /* Golden Star Color */
    font-size: 11px;
    display: flex;
    gap: 2px;
    margin-bottom: 8px;
}

.review-item-text {
    font-size: 13px;
    line-height: 1.5;
    color: #4b5563;
    margin: 0;
    word-break: break-word;
}



/* Premium Product Benefits Tick List */
.product-key-benefits-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 25px;
}

.benefit-tick-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.benefit-tick-icon {
    color: var(--primary-black); /* Clean premium gold color token */
    font-size: 14px;
    margin-top: 3px; /* Pixel-perfect vertical baseline alignment with text */
    flex-shrink: 0;
}

.benefit-tick-text {
    font-size: 13.5px;
    font-weight: 500;
    color: #374151; /* Soft readable charcoal gray */
    line-height: 1.4;
}

/* Buy Now specific processing override configurations */
.buy-now-btn.loading-processing {
    pointer-events: none; /* Block secondary click registers instantly */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.buy-now-btn.loading-processing .atomic-spinner {
    border: 2px solid rgba(255, 255, 255, 0.25);
    border-top-color: #ffffff; /* Bright crisp white contrast over high-end button fields */
}

/* Review Button Loading Styles */
.submit-review-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px; /* Spinner එක සහ Text එක අතර පරතරය */
}

.submit-review-action-btn .atomic-spinner {
    display: none;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: spin-accelerate-loop 0.8s linear infinite;
    flex-shrink: 0;
}

.submit-review-action-btn.loading-processing .atomic-spinner {
    display: inline-block;
}

.submit-review-action-btn.loading-processing {
    pointer-events: none;
    opacity: 0.85;
}

/* Review Text Clamping Matrix */
.review-text-container {
    position: relative;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

.review-text-container.is-clamped .review-item-text {
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Limit strictly to 3 visual lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 6px;
    color: var(--text-muted);
}

/* Premium styled contextual toggle button */
.read-more-toggle {
    background: none;
    border: none;
    color: var(--accent-gold); 
    font-family: 'Raleway', 'Noto Sans Sinhala', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.3px;
    cursor: pointer;
    padding: 0;
    margin-top: 4px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: color 0.2s ease, transform 0.2s ease;
}

.read-more-toggle:hover {
    color: var(--primary-black);
    text-decoration: none; /* Removed underline for a more modern Apple-style UI */
}

/* Optional premium micro-interaction */
.read-more-toggle::after {
    content: '→';
    font-size: 11px;
    transition: transform 0.2s ease;
}

.read-more-toggle:hover::after {
    transform: translateX(3px);
}