/* ======================================================
   Sarekam CSS — product-detail.css
   Extracted from index.html | Phase 1 Refactor
   DO NOT add styles from other sections to this file.
   ====================================================== */

        .svc-sheet-backdrop {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,0.52);
            z-index: 5000;
            transition: opacity 0.3s;
        }
        .svc-sheet-backdrop.active { display: block; }

        .svc-detail-sheet {
            position: fixed;
            left: 0; right: 0; bottom: 0;
            background: #fff;
            border-radius: 22px 22px 0 0;
            box-shadow: 0 -8px 36px rgba(0,0,0,0.18);
            z-index: 5001;
            max-height: 90vh;
            display: flex;
            flex-direction: column;
            transform: translateY(100%);
            transition: transform 0.38s cubic-bezier(0.32, 0.72, 0, 1);
            overflow: hidden;
        }
        .svc-detail-sheet.open { transform: translateY(0); }

        /* Top bar of sheet */
        .svc-sheet-topbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 10px 16px 6px;
            border-bottom: 1px solid #f0f0f0;
            flex-shrink: 0;
        }
        .svc-sheet-collapse-btn {
            width: 34px; height: 34px;
            border: none; background: #f5f5f5;
            border-radius: 50%; cursor: pointer;
            display: flex; align-items: center; justify-content: center;
            transition: background 0.15s;
        }
        .svc-sheet-collapse-btn:hover { background: #e8e8e8; }
        .svc-sheet-collapse-btn svg { width: 18px; height: 18px; color: #444; }
        .svc-sheet-topbar-right {
            display: flex; align-items: center; gap: 6px;
        }
        .svc-delivery-time {
            display: flex; align-items: center; gap: 4px;
            font-size: 11px; font-weight: 600; color: #333;
            background: #f5f5f5; border-radius: 8px; padding: 5px 9px;
        }
        .svc-rating-badge {
            display: flex; align-items: center; gap: 3px;
            font-size: 12px; font-weight: 700; color: #1a1a1a;
            background: #f5f5f5; border-radius: 8px; padding: 5px 9px;
        }
        .svc-star { color: #00A86B; font-size: 12px; }
        .svc-rating-count { color: #9e9e9e; font-weight: 400; font-size: 10px; }
        .svc-icon-btn {
            width: 32px; height: 32px;
            border: none; background: #f5f5f5;
            cursor: pointer;
            display: flex; align-items: center; justify-content: center;
            border-radius: 50%;
            transition: background 0.15s;
        }
        .svc-icon-btn:hover { background: #e8e8e8; }
        .svc-icon-btn svg { width: 17px; height: 17px; color: #444; }
        .svc-icon-btn.bookmarked svg { color: #1A73E8; fill: #1A73E8; }

        /* Scrollable body Ã¢â‚¬â€ mobile: single column */
        .svc-sheet-scroll {
            overflow-y: auto;
            flex: 1;
            padding: 14px 16px 28px;
            scroll-behavior: smooth;
        }
        .svc-sheet-scroll::-webkit-scrollbar { width: 0; }

        /* Column divs: normal block on mobile so children stack */
        .svc-col-left,
        .svc-col-right {
            display: block;
        }

        /* Service banner image */
        /* Ã¢â€â‚¬Ã¢â€â‚¬ Screen 4 Image Slider Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ */
        .svc-detail-banner {
            width: 100%;
            aspect-ratio: 4 / 3;
            border-radius: 0;
            overflow: hidden;
            margin-bottom: 0;
            background: #f0f0f0;
            position: relative;
            flex-shrink: 0;
        }
        .svc-detail-banner-img {
            width: 100%; height: 100%;
            object-fit: cover;
        }
        .svc-detail-banner-fallback {
            width: 100%; height: 100%;
            display: flex; align-items: center; justify-content: center;
            font-size: 4rem;
            background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);
            color: #7c3aed;
            opacity: 0.7;
        }

        /* Slider track */
        #s4-slider-track {
            display: flex;
            width: 100%;
            height: 100%;
            transition: transform 0.38s cubic-bezier(0.25, 0.8, 0.25, 1);
            will-change: transform;
        }
        .slide-item {
            flex: 0 0 100%;
            width: 100%;
            height: 100%;
            position: relative;
            overflow: hidden;
        }
        .slide-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            border-radius: 0;
            aspect-ratio: unset !important;
        }

        /* Prev / Next arrows */
        .pd-slider-nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 34px; height: 34px;
            background: rgba(255,255,255,0.88);
            backdrop-filter: blur(6px);
            border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            font-size: 14px;
            color: #1c1c1c;
            cursor: pointer;
            z-index: 10;
            box-shadow: 0 2px 10px rgba(0,0,0,0.15);
            transition: background 0.15s, transform 0.15s;
            user-select: none;
            -webkit-tap-highlight-color: transparent;
        }
        .pd-slider-nav:active { background: rgba(255,255,255,1); transform: translateY(-50%) scale(0.93); }
        .pd-slider-prev { left: 10px; }
        .pd-slider-next { right: 10px; }

        /* Dot indicators */
        .s4-dots-row {
            position: absolute;
            bottom: 10px; left: 0; right: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 5px;
            z-index: 5;
            pointer-events: none;
        }
        .dot {
            width: 6px; height: 6px;
            border-radius: 50%;
            background: rgba(255,255,255,0.55);
            transition: all 0.25s ease;
            flex-shrink: 0;
        }
        .dot.active {
            background: #ffffff;
            width: 18px;
            border-radius: 3px;
            box-shadow: 0 1px 4px rgba(0,0,0,0.3);
        }

        /* Image counter badge top-right */
        .s4-img-counter {
            position: absolute;
            top: 10px; right: 10px;
            background: rgba(0,0,0,0.45);
            backdrop-filter: blur(4px);
            color: #fff;
            font-size: 11px;
            font-weight: 700;
            padding: 3px 9px;
            border-radius: 20px;
            z-index: 10;
            letter-spacing: 0.3px;
        }

        /* Title card */
        .svc-detail-title-card {
            border: 1px solid #e8e8e8;
            border-radius: 16px;
            padding: 14px 16px;
            margin-bottom: 14px;
            background: #fff;
            box-shadow: 0 2px 8px rgba(0,0,0,0.02);
        }
        .svc-detail-title {
            font-size: 22px;
            font-weight: 800;
            color: #1a1a1a;
            letter-spacing: -0.4px;
            line-height: 1.25;
            margin-bottom: 10px;
        }
        .svc-price-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        .svc-price-current {
            font-size: 22px;
            font-weight: 800;
            color: #1a1a1a;
        }

        /* ADD Button */
        .svc-add-btn {
            background: #fff;
            color: #1a1a1a;
            border: 1.5px solid #d3d3d3;
            border-radius: 10px;
            padding: 9px 26px;
            font-size: 13px;
            font-weight: 800;
            cursor: pointer;
            letter-spacing: 0.5px;
            font-family: 'Manrope', sans-serif;
            transition: all 0.15s ease;
            box-shadow: 0 2px 6px rgba(0,0,0,0.06);
        }
        .svc-add-btn:hover { background: #f5f5f5; border-color: #c0c0c0; }
        .svc-add-btn:active { transform: scale(0.96); }
        .svc-add-btn.in-cart {
            background: #E6F4EA;
            color: #0A8A2F;
            border-color: #0A8A2F;
            box-shadow: none;
        }

        /* Toggle details */
        .svc-toggle-details {
            text-align: center;
            margin-bottom: 14px;
        }
        .svc-toggle-details button {
            background: none; border: none; cursor: pointer;
            color: #1A73E8; font-size: 13px; font-weight: 700;
            display: inline-flex; align-items: center; gap: 5px;
            font-family: 'Manrope', sans-serif;
            transition: opacity 0.15s;
        }
        .svc-toggle-details button:hover { opacity: 0.75; }

        /* Feature pills */
        .svc-features-row {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 8px;
            margin-bottom: 16px;
        }
        .svc-feature-item {
            display: flex; flex-direction: column;
            align-items: center; gap: 4px;
            padding: 10px 4px;
            border: 1px solid #e8e8e8;
            border-radius: 12px;
            background: #fafafa;
            cursor: pointer;
            transition: background 0.15s, border-color 0.15s;
        }
        .svc-feature-item:hover { background: #f0f0f0; border-color: #d0d0d0; }
        .svc-feature-icon {
            width: 30px; height: 30px;
            display: flex; align-items: center; justify-content: center;
        }
        .svc-feature-icon svg { width: 24px; height: 24px; color: #444; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
        .svc-feature-label {
            font-size: 11px; font-weight: 800; color: #1a1a1a;
            text-align: center;
        }
        .svc-feature-sublabel {
            font-size: 10px; color: #9e9e9e; text-align: center;
        }

        /* Spec divider */
        .svc-divider { height: 1px; background: #e8e8e8; margin: 0 -16px 14px; }

        /* Highlights table */
        .svc-section-header {
            display: flex; justify-content: space-between; align-items: center;
            margin-bottom: 10px;
        }
        .svc-section-title {
            font-size: 15px; font-weight: 800; color: #1a1a1a;
        }
        .svc-section-toggle {
            background: none; border: none; cursor: pointer;
            color: #9e9e9e;
            display: flex; align-items: center;
            transition: color 0.15s;
        }
        .svc-section-toggle:hover { color: #555; }
        .svc-section-toggle svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; }

        .svc-spec-table {
            border: 1px solid #e8e8e8;
            border-radius: 12px;
            overflow: hidden;
            transition: max-height 0.3s ease, opacity 0.3s ease;
        }
        .svc-spec-row {
            display: flex;
            border-bottom: 1px solid #e8e8e8;
            font-size: 12.5px;
        }
        .svc-spec-row:last-child { border-bottom: none; }
        .svc-spec-key {
            width: 38%;
            padding: 10px 12px;
            font-weight: 700;
            color: #1a1a1a;
            background: #fafafa;
            border-right: 1px solid #e8e8e8;
            line-height: 1.4;
        }
        .svc-spec-val {
            flex: 1;
            padding: 10px 12px;
            color: #6b6b6b;
            line-height: 1.4;
            display: flex; align-items: center;
        }
        .svc-call-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, #10b981 0%, #059669 100%);
            color: #fff !important;
            text-decoration: none;
            padding: 6px 12px;
            font-size: 11px;
            font-weight: 700;
            border-radius: 6px;
            font-family: 'Manrope', sans-serif;
            transition: all 0.15s;
            box-shadow: 0 2px 8px rgba(16,185,129,0.25);
            border: none; cursor: pointer;
        }
        .svc-call-btn:hover { box-shadow: 0 4px 12px rgba(16,185,129,0.4); }
        .svc-call-btn:active { transform: scale(0.96); }

        /* Feature detail modal (tab popup) */
        .svc-feat-modal-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,0.6);
            z-index: 6000;
            display: none;
            align-items: flex-end;
            justify-content: center;
        }
        .svc-feat-modal-overlay.active { display: flex; }
        .svc-feat-modal-container {
            width: 100%;
            max-width: 500px;
            display: flex;
            flex-direction: column;
            align-items: center;
            animation: svcModalSlideUp 0.3s cubic-bezier(0.32, 0.72, 0, 1) both;
        }
        @keyframes svcModalSlideUp {
            from { transform: translateY(100%); }
            to { transform: translateY(0); }
        }
        .svc-feat-close-btn {
            width: 40px; height: 40px;
            background: #333;
            border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            color: #fff; border: none; cursor: pointer;
            margin-bottom: 10px;
            box-shadow: 0 4px 12px rgba(0,0,0,0.22);
            transition: transform 0.15s;
        }
        .svc-feat-close-btn:active { transform: scale(0.9); }
        .svc-feat-close-btn svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 2.5; stroke-linecap: round; }
        .svc-feat-sheet {
            width: 100%;
            background: #fff;
            border-radius: 22px 22px 0 0;
            padding: 16px 0 20px;
            display: flex; flex-direction: column;
            box-shadow: 0 -4px 20px rgba(0,0,0,0.15);
        }
        /* Modal tabs */
        .svc-modal-tabs {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            border-bottom: 1px solid #e8e8e8;
            position: relative;
            padding: 0 8px;
        }
        .svc-modal-tab {
            display: flex; flex-direction: column;
            align-items: center; gap: 3px;
            padding: 10px 4px 14px;
            background: none; border: none; cursor: pointer;
            font-family: 'Manrope', sans-serif;
            color: #9e9e9e;
            position: relative; outline: none;
            transition: color 0.2s;
        }
        .svc-modal-tab.active { color: #1A73E8; }
        .svc-modal-tab-icon {
            width: 26px; height: 26px;
            display: flex; align-items: center; justify-content: center;
        }
        .svc-modal-tab-icon svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
        .svc-modal-tab-label {
            font-size: 11px; font-weight: 800; text-align: center;
        }
        .svc-modal-tab-sublabel {
            font-size: 10px; color: #9e9e9e; text-align: center;
        }
        .svc-modal-tab.active .svc-modal-tab-sublabel { color: #1A73E8; }
        .svc-modal-tab-indicator {
            position: absolute;
            bottom: 0; height: 3px;
            background: #1A73E8;
            border-radius: 3px 3px 0 0;
            transition: left 0.25s cubic-bezier(0.4,0,0.2,1), width 0.25s cubic-bezier(0.4,0,0.2,1);
        }
        /* Modal body */
        .svc-modal-body {
            padding: 18px 22px 24px;
            min-height: 130px;
        }
        .svc-modal-bullets { list-style: none; }
        .svc-modal-bullets li {
            position: relative;
            font-size: 13px;
            color: #6b6b6b;
            line-height: 1.55;
            margin-bottom: 11px;
            padding-left: 16px;
            font-weight: 500;
        }
        .svc-modal-bullets li::before {
            content: "Ã¢â‚¬Â¢";
            position: absolute; left: 0;
            color: #9e9e9e; font-size: 16px; top: -2px;
        }
    
    /* Ã¢â€â‚¬Ã¢â€â‚¬ Hide Product Details Toggle Ã¢â€â‚¬Ã¢â€â‚¬ */
    .toggle-details {
      text-align: center;
      margin-bottom: 16px;
    }
    .toggle-details button {
      background: none; border: none; cursor: pointer;
      color: var(--blue); font-size: 13px; font-weight: 600;
      display: inline-flex; align-items: center; gap: 5px;
      font-family: inherit;
      transition: opacity 0.15s;
    }
    .toggle-details button:hover { opacity: 0.75; }

    /* Ã¢â€â‚¬Ã¢â€â‚¬ Feature Pills Ã¢â€â‚¬Ã¢â€â‚¬ */
    .features-row {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 8px;
      margin-bottom: 18px;
    }
    .feature-item {
      display: flex; flex-direction: column;
      align-items: center; gap: 4px;
      padding: 10px 4px;
      border: 1px solid var(--border);
      border-radius: 12px;
      background: #fafafa;
      transition: background 0.15s;
    }
    .feature-item:hover { background: #f0f0f0; }
    .feature-icon {
      width: 32px; height: 32px;
      display: flex; align-items: center; justify-content: center;
    }
    .feature-icon svg { width: 26px; height: 26px; color: #444; }
    .feature-label {
      font-size: 11px; font-weight: 700; color: var(--text-primary);
      text-align: center;
    }
    .feature-sublabel {
      font-size: 10px; color: var(--text-muted); text-align: center;
    }

    /* Ã¢â€â‚¬Ã¢â€â‚¬ Highlights Section Ã¢â€â‚¬Ã¢â€â‚¬ */
    .section-header {
      display: flex; justify-content: space-between; align-items: center;
      margin-bottom: 10px;
    }
    .section-title {
      font-size: 15px; font-weight: 700; color: var(--text-primary);
    }
    .section-toggle {
      background: none; border: none; cursor: pointer;
      color: var(--text-secondary);
      display: flex; align-items: center;
    }
    .section-toggle svg { width: 18px; height: 18px; }

    .spec-table {
      border: 1px solid var(--border);
      border-radius: 10px;
      overflow: hidden;
    }
    .spec-row {
      display: flex;
      border-bottom: 1px solid var(--border);
      font-size: 12.5px;
    }
    .spec-row:last-child { border-bottom: none; }
    .spec-key {
      width: 38%;
      padding: 11px 12px;
      font-weight: 600;
      color: var(--text-primary);
      background: #fafafa;
      border-right: 1px solid var(--border);
      line-height: 1.4;
    }
    .spec-val {
      flex: 1;
      padding: 11px 12px;
      color: var(--text-secondary);
      line-height: 1.4;
      display: flex;
      align-items: center;
    }
    .spec-call-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(135deg, #10b981 0%, #059669 100%);
      color: #fff !important;
      text-decoration: none;
      padding: 6px 12px;
      font-size: 11px;
      font-weight: 700;
      border-radius: 6px;
      transition: background 0.2s, transform 0.1s, box-shadow 0.2s;
      box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
      border: none;
      cursor: pointer;
    }
    .spec-call-btn:hover {
      background: linear-gradient(135deg, #059669 0%, #047857 100%);
      box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
    }
    .spec-call-btn:active {
      transform: scale(0.96);
    }
    .divider { height: 1px; background: var(--border); margin: 0 -16px 14px; }

    /* Ã¢â€â‚¬Ã¢â€â‚¬ Modal Popup Overlay Ã¢â€â‚¬Ã¢â€â‚¬ */
    .modal-overlay {
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, 0.6);
      z-index: 100;
      display: none;
      align-items: flex-end;
      justify-content: center;
      transition: opacity 0.25s ease;
    }
    .modal-overlay.active {
      display: flex;
    }
    
    .modal-container {
      width: 100%;
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      animation: modalSlideUp 0.3s cubic-bezier(0.32, 0.72, 0, 1) both;
    }
    @keyframes modalSlideUp {
      from { transform: translateY(100%); }
      to { transform: translateY(0); }
    }
    
    .modal-close-btn {
      width: 44px;
      height: 44px;
      background: #333333;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #ffffff;
      border: none;
      cursor: pointer;
      margin-bottom: 12px;
      box-shadow: 0 4px 12px rgba(0,0,0,0.2);
      transition: transform 0.15s;
    }
    .modal-close-btn:active {
      transform: scale(0.9);
    }
    .modal-close-btn svg {
      width: 20px;
      height: 20px;
    }
    
    .modal-sheet {
      width: 100%;
      background: #ffffff;
      border-radius: 24px 24px 0 0;
      padding: 16px 0 12px;
      display: flex;
      flex-direction: column;
      box-shadow: 0 -4px 20px rgba(0,0,0,0.15);
    }
    
    .modal-tabs {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border-bottom: 1px solid var(--border);
      position: relative;
      padding: 0 8px;
    }
    
    .modal-tab {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 4px;
      padding: 12px 4px 16px;
      background: none;
      border: none;
      cursor: pointer;
      font-family: inherit;
      color: var(--text-secondary);
      position: relative;
      outline: none;
    }
    
    .modal-tab.active {
      color: var(--blue);
    }
    
    .modal-tab-icon {
      width: 28px;
      height: 28px;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: color 0.2s;
    }
    .modal-tab-icon svg {
      width: 24px;
      height: 24px;
      stroke: currentColor;
    }
    
    .modal-tab-label {
      font-size: 11px;
      font-weight: 700;
      text-align: center;
    }
    .modal-tab-sublabel {
      font-size: 10px;
      color: var(--text-muted);
      text-align: center;
    }
    .modal-tab.active .modal-tab-sublabel {
      color: var(--blue);
    }
    
    /* Blue underline for active tab */
    .modal-tab-indicator {
      position: absolute;
      bottom: 0;
      height: 3px;
      background: var(--blue);
      border-radius: 3px 3px 0 0;
      transition: left 0.25s cubic-bezier(0.4, 0, 0.2, 1), width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .modal-body {
      padding: 20px 24px 28px;
      min-height: 150px;
    }
    
    .modal-bullets {
      list-style-type: none;
      padding-left: 0;
      margin: 0;
    }
    
    .modal-bullets li {
      position: relative;
      font-size: 13.5px;
      color: var(--text-secondary);
      line-height: 1.5;
      margin-bottom: 12px;
      padding-left: 18px;
    }
    
    .modal-bullets li::before {
      content: "Ã¢â‚¬Â¢";
      position: absolute;
      left: 0;
      color: var(--text-muted);
      font-size: 16px;
      top: -2px;
    }


