/* =====================================================================
   PETWAL GEMS — GEMSTONE SHOWCASE, SINGLE & JEWELLERY STYLES
   Styles: public/css/gemstones.css
   Scoped strictly under .pgm
   ===================================================================== */

.pgm {
    --night: #12070a;
    --night-2: #1f0b10;
    --maroon: #8B1A1A;
    --maroon-deep: #5A0E13;
    --gold: #C59B2B;
    --gold-hi: #F6DC98;
    --gold-soft: #E2B46A;
    --gold-lo: #8A6417;
    --gold-grad: linear-gradient(135deg, #F6DC98 0%, #D9B048 38%, #C59B2B 62%, #8A6417 100%);
    --ivory: #FFF8EF;
    --cream: #FBF3E7;
    --ink: #241c19;
    --muted: #6a5d52;
    --border: #EFE3CF;
    --serif: "Cormorant Garamond", "Playfair Display", Georgia, serif;
    --sans: "Raleway", "Roboto", system-ui, sans-serif;
    --ease-out: cubic-bezier(.22, 1, .36, 1);
    --shadow-card: 0 1px 2px rgba(60, 31, 18, .04), 0 16px 40px -16px rgba(60, 31, 18, .22);
    --shadow-lift: 0 2px 4px rgba(60, 31, 18, .05), 0 30px 64px -22px rgba(110, 20, 25, .38);

    --pgm-facets-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cg fill='%23fff' stroke='%23fff' stroke-opacity='.10' stroke-width='.6'%3E%3Cpath d='M0 0L0 40L40 40Z' fill-opacity='0.050'/%3E%3Cpath d='M0 0L80 0L40 40Z' fill-opacity='0.110'/%3E%3Cpath d='M80 0L40 40L120 40Z' fill-opacity='0.020'/%3E%3Cpath d='M80 0L120 40L160 40Z' fill-opacity='0.080'/%3E%3Cpath d='M80 0L160 0L160 40Z' fill-opacity='0.140'/%3E%3Cpath d='M0 40L40 40L0 80Z' fill-opacity='0.040'/%3E%3Cpath d='M40 40L0 80L80 80Z' fill-opacity='0.090'/%3E%3Cpath d='M40 40L120 40L80 80Z' fill-opacity='0.010'/%3E%3Cpath d='M120 40L80 80L160 80Z' fill-opacity='0.120'/%3E%3Cpath d='M120 40L160 40L160 80Z' fill-opacity='0.060'/%3E%3Cpath d='M0 80L0 120L40 120Z' fill-opacity='0.030'/%3E%3Cpath d='M0 80L80 80L40 120Z' fill-opacity='0.100'/%3E%3Cpath d='M80 80L40 120L120 120Z' fill-opacity='0.070'/%3E%3Cpath d='M80 80L120 120L160 120Z' fill-opacity='0.130'/%3E%3Cpath d='M80 80L160 80L160 120Z' fill-opacity='0.020'/%3E%3Cpath d='M0 120L40 120L0 160Z' fill-opacity='0.080'/%3E%3Cpath d='M40 120L0 160L80 160Z' fill-opacity='0.050'/%3E%3Cpath d='M40 120L120 120L80 160Z' fill-opacity='0.110'/%3E%3Cpath d='M120 120L80 160L160 160Z' fill-opacity='0.030'/%3E%3Cpath d='M120 120L160 120L160 160Z' fill-opacity='0.090'/%3E%3C/g%3E%3C/svg%3E");

    font-family: var(--sans);
    color: var(--ink);
    background: var(--ivory);
    background-image: var(--pgm-facets-light);
    overflow-x: clip;
}

.pgm *, .pgm *::before, .pgm *::after { box-sizing: border-box; }
.pgm img { max-width: 100%; display: block; }
.pgm a { text-decoration: none; }

.pgm [class^="flaticon-"]::before,
.pgm [class*=" flaticon-"]::before,
.pgm [class^="flaticon-"]::after,
.pgm [class*=" flaticon-"]::after,
.pgm .fa::before,
.pgm .fa::after {
    margin: 0 !important;
    display: inline-block;
    line-height: 1;
    text-align: center;
    vertical-align: middle;
}

.pgm-section { padding: clamp(60px, 7vw, 100px) 0; position: relative; }
.pgm-section--cream { background: var(--cream); }

.pgm-head { text-align: center; max-width: 820px; margin: 0 auto clamp(32px, 4vw, 54px); }
.pgm-eyebrow {
    display: inline-flex; align-items: center; gap: 12px;
    font: 600 12px/1.2 var(--sans); letter-spacing: .22em; text-transform: uppercase;
    color: var(--maroon); margin: 0 0 14px;
}
.pgm-eyebrow__line { width: 34px; height: 1px; background: var(--gold); }
.pgm-title { font: 600 clamp(32px, 4.2vw, 50px)/1.1 var(--serif); color: var(--ink); margin: 0; }
.pgm-title em { color: var(--maroon); font-style: italic; }
.pgm-intro { font-size: 16.5px; line-height: 1.7; color: var(--muted); margin: 16px auto 0; max-width: 720px; }

/* Filter & Category Pills */
.pgm-nav-bar {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px;
    margin-bottom: 44px;
}
.pgm-nav-pill {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 22px; border-radius: 999px;
    background: #fff; border: 1px solid var(--border);
    font: 600 13px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase;
    color: var(--ink); transition: all .3s;
    box-shadow: 0 2px 8px rgba(60, 31, 18, .05);
}
.pgm-nav-pill:hover, .pgm-nav-pill.is-active {
    background: var(--maroon); border-color: var(--maroon); color: #fff;
    transform: translateY(-2px); box-shadow: 0 8px 20px -6px rgba(139, 26, 26, .5);
}
.pgm-nav-pill i { color: var(--gold); }
.pgm-nav-pill.is-active i { color: var(--gold-hi); }

/* Buttons */
.pgm-btn {
    position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 46px; padding: 0 22px; border-radius: 999px; border: 0; cursor: pointer;
    font: 600 13px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase;
    isolation: isolate; overflow: hidden; white-space: nowrap; text-decoration: none !important;
    transition: transform .35s var(--ease-out), box-shadow .35s var(--ease-out), filter .3s;
}
.pgm-btn:hover { filter: brightness(1.06) saturate(1.08); transform: translateY(-2px); }
.pgm-btn--gold {
    color: #3b0d10 !important; text-shadow: 0 1px 0 rgba(255, 245, 215, .55);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, 0) 45%, rgba(90, 55, 0, 0) 60%, rgba(90, 55, 0, .3) 100%),
        linear-gradient(115deg, #8A6417 0%, #D9B048 16%, #FFF1C4 30%, #C59B2B 45%, #F6DC98 60%, #A77A1E 78%, #EBCB6E 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .9), inset 0 -2px 1px rgba(110, 70, 10, .45),
        0 3px 0 #8A6417, 0 14px 28px -10px rgba(197, 155, 43, .8);
}
.pgm-btn--maroon {
    color: #fff !important;
    background:
        linear-gradient(180deg, rgba(255, 200, 200, .32) 0%, rgba(255, 255, 255, 0) 45%, rgba(0, 0, 0, 0) 60%, rgba(30, 0, 0, .35) 100%),
        linear-gradient(115deg, #4a0b10 0%, #8B1A1A 22%, #cf4a4f 36%, #8B1A1A 52%, #b52d34 70%, #5a0f14 100%);
    box-shadow: 0 3px 0 #4a0b10, 0 14px 28px -10px rgba(139, 26, 26, .75);
}
.pgm-btn--wa {
    color: #fff !important;
    background:
        linear-gradient(180deg, rgba(210, 255, 225, .35) 0%, rgba(255, 255, 255, 0) 45%, rgba(0, 0, 0, 0) 60%, rgba(0, 35, 15, .35) 100%),
        linear-gradient(115deg, #0b5d2c 0%, #1FAF54 22%, #7ce8a4 36%, #1FAF54 52%, #16a049 70%, #0a4f25 100%);
    box-shadow: 0 3px 0 #0b5d2c, 0 14px 28px -10px rgba(31, 175, 84, .75);
}
.pgm-btn--ghost {
    color: var(--maroon) !important; background: #fff;
    box-shadow: inset 0 0 0 1px var(--gold-soft), 0 3px 10px rgba(60, 31, 18, .06);
}

/* =====================================================================
   GEMSTONE CARDS GRID
   ===================================================================== */
.pgm-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
    margin-bottom: 50px;
}
@media (max-width: 1199px) { .pgm-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 991px) { .pgm-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .pgm-grid { grid-template-columns: 1fr; } }

.pgm-card {
    display: flex; flex-direction: column; border-radius: 20px; overflow: hidden;
    background: #fff;
    border: 1px solid transparent;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(145deg, rgba(246, 220, 152, .95), var(--border) 32%, var(--border) 68%, rgba(197, 155, 43, .85)) border-box;
    box-shadow: var(--shadow-card);
    transition: transform .4s var(--ease-out), box-shadow .4s;
    position: relative;
}
.pgm-card:hover { transform: translateY(-7px); box-shadow: var(--shadow-lift); }

.pgm-card__stage {
    position: relative; height: 210px; display: flex; align-items: center; justify-content: center;
    background: radial-gradient(circle at center, rgba(246, 220, 152, .3) 0%, rgba(255, 248, 239, .6) 55%, transparent 75%);
    overflow: hidden; padding: 20px;
}
.pgm-card__img {
    max-height: 155px; max-width: 155px; object-fit: contain;
    transition: transform .5s var(--ease-out);
    filter: drop-shadow(0 14px 18px rgba(60, 31, 18, .22));
}
.pgm-card:hover .pgm-card__img { transform: scale(1.08) rotate(3deg); }

.pgm-card__tag {
    position: absolute; top: 12px; left: 14px;
    padding: 4px 10px; border-radius: 999px;
    font: 600 10.5px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase;
    background: rgba(18, 7, 10, .85); color: var(--gold-hi); backdrop-filter: blur(4px);
    border: 1px solid rgba(246, 220, 152, .35);
}

.pgm-card__body { padding: 18px 20px 22px; flex: 1; display: flex; flex-direction: column; text-align: center; }
.pgm-card__title { font: 600 21px/1.25 var(--serif); color: var(--ink); margin: 0 0 4px; }
.pgm-card__hi { font-size: 14.5px; color: var(--maroon); font-weight: 500; margin: 0 0 8px; }
.pgm-card__planet {
    font-size: 12.5px; font-weight: 600; color: var(--muted); margin: 0 0 16px;
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
}
.pgm-card__planet i { color: var(--gold); }
.pgm-card__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: auto; }
.pgm-card__actions .pgm-btn { min-height: 38px; padding: 0 10px; font-size: 11px; }

/* =====================================================================
   SINGLE GEMSTONE DETAILS (STICKY IMAGE & CONTENT)
   ===================================================================== */
.pgm-single__grid {
    display: grid; grid-template-columns: 4.8fr 7.2fr; gap: clamp(32px, 4vw, 56px);
    align-items: start;
}
@media (max-width: 991px) { .pgm-single__grid { grid-template-columns: 1fr; } }

/* Sticky Gemstone Visual Box */
.pgm-single__sticky {
    display: flex; flex-direction: column; gap: 20px;
}
@media (min-width: 992px) {
    .pgm-single__sticky {
        position: -webkit-sticky;
        position: sticky;
        top: 115px;
        align-self: start;
        z-index: 4;
    }
}
.pgm-single__stage {
    position: relative; border-radius: 24px; padding: 40px 30px;
    display: flex; align-items: center; justify-content: center;
    background:
        radial-gradient(circle at center, rgba(246, 220, 152, .35) 0%, rgba(255, 248, 239, .8) 55%, #fff 85%);
    border: 1px solid rgba(197, 155, 43, .3);
    box-shadow: var(--shadow-lift);
}
.pgm-single__stage img {
    max-height: 250px; max-width: 250px; object-fit: contain;
    filter: drop-shadow(0 20px 24px rgba(60, 31, 18, .26));
    transition: transform .6s var(--ease-out);
}
.pgm-single__stage:hover img { transform: scale(1.06); }

.pgm-single__badge {
    position: absolute; top: 16px; left: 16px;
    padding: 6px 14px; border-radius: 999px;
    font: 600 11px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase;
    background: rgba(18, 7, 10, .88); color: var(--gold-hi); backdrop-filter: blur(6px);
    border: 1px solid rgba(246, 220, 152, .4);
}

.pgm-single__action-box {
    border-radius: 20px; padding: 22px; background: #fff;
    border: 1px solid rgba(197, 155, 43, 0.25); box-shadow: var(--shadow-card);
    display: flex; flex-direction: column; gap: 14px;
}
.pgm-single__action-title {
    font: 600 16px/1.2 var(--sans); color: var(--ink); margin: 0; display: flex; align-items: center; gap: 8px;
}
.pgm-single__action-title i { color: var(--gold); }
.pgm-single__action-btns { display: flex; flex-direction: column; gap: 10px; }
.pgm-single__action-btns .pgm-btn { width: 100%; }

.pgm-single__trust {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    font-size: 13px; font-weight: 600; color: var(--muted); padding-top: 6px; border-top: 1px dashed var(--border);
}
.pgm-single__trust i { color: var(--maroon); }

/* Gemstone Right Column Specifications & Content */
.pgm-single__main { display: flex; flex-direction: column; gap: 30px; }

.pgm-box {
    border-radius: 22px; padding: 30px; background: #fff;
    border: 1px solid rgba(197, 155, 43, 0.22); box-shadow: var(--shadow-card);
}
.pgm-box h2, .pgm-box h3 { font: 600 24px/1.25 var(--serif); color: var(--ink); margin: 0 0 16px; }
.pgm-box p { font-size: 15.5px; line-height: 1.8; color: #433932; margin: 0; }
.pgm-box p + p { margin-top: 14px; }

/* Specifications Table */
.pgm-spec-table {
    width: 100%; border-collapse: separate; border-spacing: 0;
    margin: 18px 0 6px; border: 1px solid var(--border); border-radius: 14px; overflow: hidden;
}
.pgm-spec-table th, .pgm-spec-table td {
    padding: 13px 18px; font-size: 14.5px; line-height: 1.5; border-bottom: 1px solid var(--border);
}
.pgm-spec-table tr:last-child th, .pgm-spec-table tr:last-child td { border-bottom: 0; }
.pgm-spec-table th {
    background: #faf6ef; color: var(--ink); font-weight: 600; width: 36%;
}
.pgm-spec-table td {
    background: #fff; color: #433932;
}

/* Care & Vedic Note */
.pgm-card-deck {
    display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
}
@media (max-width: 767px) { .pgm-card-deck { grid-template-columns: 1fr; } }

.pgm-deck-pod {
    border-radius: 18px; padding: 24px; background: #fff;
    border: 1px solid rgba(197, 155, 43, .22); box-shadow: var(--shadow-card);
}
.pgm-deck-pod h3 {
    font: 600 19px/1.2 var(--serif); color: var(--ink); margin: 0 0 14px;
    display: flex; align-items: center; gap: 8px;
}
.pgm-deck-pod h3 i { color: var(--gold); }
.pgm-deck-pod ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.pgm-deck-pod li {
    display: flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.6; color: #433932;
}
.pgm-deck-pod li i { color: var(--maroon); margin-top: 4px; flex-shrink: 0; font-size: 13px; }

/* Jewellery in stock */
.pgm-jewel-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
}
@media (max-width: 1199px) { .pgm-jewel-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 991px) { .pgm-jewel-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .pgm-jewel-grid { grid-template-columns: 1fr; } }

.pgm-jewel-card {
    display: flex; flex-direction: column; border-radius: 20px; overflow: hidden;
    background: #fff; border: 1px solid var(--border); box-shadow: var(--shadow-card);
    transition: transform .35s var(--ease-out), box-shadow .35s;
    position: relative;
}
.pgm-jewel-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lift); }
.pgm-jewel-card__stage {
    position: relative; height: 210px; display: flex; align-items: center; justify-content: center;
    background: #faf6ef; overflow: hidden; padding: 18px;
}
.pgm-jewel-card__img {
    max-height: 160px; max-width: 160px; object-fit: contain;
    transition: transform .5s var(--ease-out);
}
.pgm-jewel-card:hover .pgm-jewel-card__img { transform: scale(1.08); }
.pgm-jewel-card__body {
    padding: 18px 20px; flex: 1; display: flex; flex-direction: column;
}
.pgm-jewel-card__title { font: 600 18px/1.3 var(--serif); color: var(--ink); margin: 0 0 10px; }
.pgm-jewel-card__meta {
    list-style: none; padding: 0; margin: 0 0 16px; display: flex; flex-wrap: wrap; gap: 8px 14px;
    font-size: 12.5px; color: var(--muted); font-weight: 500;
}
.pgm-jewel-card__meta li { display: inline-flex; align-items: center; gap: 5px; }
.pgm-jewel-card__meta i { color: var(--maroon); font-size: 12px; }
.pgm-jewel-card__action { margin-top: auto; }
.pgm-jewel-card__action .pgm-btn { width: 100%; min-height: 42px; font-size: 12px; }

/* Filter Hidden State */
.pgm-jewel-card.is-hidden { display: none !important; }

/* =====================================================================
   GEMSTONE ENQUIRY FORM & STICKY ASIDE
   ===================================================================== */
.pg-enq { padding: clamp(60px, 7vw, 90px) 0; }
.pg-enq__grid {
    display: grid; grid-template-columns: 4.5fr 7.5fr; gap: clamp(32px, 4vw, 54px);
    align-items: start;
}
@media (max-width: 991px) { .pg-enq__grid { grid-template-columns: 1fr; } }

.pg-enq__gem {
    border-radius: 24px; padding: 32px 28px; background: #fff;
    border: 1px solid rgba(197, 155, 43, .3); box-shadow: var(--shadow-lift);
    display: flex; flex-direction: column; align-items: center; text-align: center;
}
@media (min-width: 992px) {
    .pg-enq__gem {
        position: -webkit-sticky;
        position: sticky;
        top: 115px;
        align-self: start;
        z-index: 4;
    }
}
.pg-enq__stage {
    position: relative; width: 170px; height: 170px; display: grid; place-items: center;
    border-radius: 50%; background: radial-gradient(circle, rgba(246, 220, 152, .4) 0%, rgba(255, 248, 239, .8) 60%, transparent 75%);
    margin-bottom: 16px;
}
.pg-enq__stage img { width: 140px; height: 140px; object-fit: cover; object-position: center; border-radius: 50%; filter: drop-shadow(0 12px 16px rgba(60, 31, 18, .2)); }
.pg-enq__name { font: 600 24px/1.2 var(--serif); color: var(--ink); margin: 10px 0 6px; }
.pg-enq__planet { font-size: 13px; font-weight: 600; color: var(--muted); margin: 0 0 12px; }
.pg-enq__blurb { font-size: 14px; line-height: 1.6; color: #5a4f44; margin: 0 0 18px; }
.pg-enq__points { list-style: none; padding: 0; margin: 0 0 18px; text-align: left; display: grid; gap: 8px; width: 100%; }
.pg-enq__points li { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; line-height: 1.5; color: #433932; }
.pg-enq__points li i { color: var(--maroon); margin-top: 3px; }
.pg-enq__signs { font-size: 12.5px; color: var(--muted); margin: 0 0 16px; }
.pg-enq__back { font-size: 13px; font-weight: 600; color: var(--maroon); display: inline-flex; align-items: center; gap: 6px; }

.pg-enq__card {
    border-radius: 24px; padding: clamp(28px, 4vw, 44px); background: #fff;
    border: 1px solid rgba(197, 155, 43, .22); box-shadow: var(--shadow-card);
}
.pg-enq__eyebrow {
    font: 600 12px/1.2 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--maroon);
    margin: 0 0 12px; display: flex; align-items: center; gap: 10px;
}
.pg-enq__eyebrow span { width: 30px; height: 1px; background: var(--gold); }
.pg-enq__title { font: 600 clamp(28px, 3.6vw, 40px)/1.2 var(--serif); color: var(--ink); margin: 0 0 10px; }
.pg-enq__title em { color: var(--maroon); font-style: italic; }
.pg-enq__lead { font-size: 15px; line-height: 1.6; color: var(--muted); margin: 0 0 24px; }

.pg-enq__form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
@media (max-width: 575px) { .pg-enq__form { grid-template-columns: 1fr; } }
.pg-enq__span { grid-column: 1 / -1; }
.pg-enq__field { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; color: var(--ink); }
.pg-enq__field input, .pg-enq__field select, .pg-enq__field textarea {
    padding: 12px 16px; border-radius: 12px; border: 1px solid var(--border);
    font-size: 14.5px; font-family: inherit; color: var(--ink); background: #fdfbf7;
    transition: border-color .3s, box-shadow .3s, background .3s;
}
.pg-enq__field input:focus, .pg-enq__field select:focus, .pg-enq__field textarea:focus {
    outline: 0; border-color: var(--gold); background: #fff; box-shadow: 0 0 0 3px rgba(197, 155, 43, .18);
}
.pg-enq__group { font: 600 14px/1 var(--sans); color: var(--maroon); margin: 10px 0 0; padding-top: 14px; border-top: 1px dashed var(--border); }
.pg-enq__btn--submit {
    min-height: 50px; width: 100%; border-radius: 999px; border: 0; cursor: pointer;
    font: 600 14px/1 var(--sans); letter-spacing: .08em; text-transform: uppercase;
    color: #3b0d10 !important;
    background: linear-gradient(115deg, #8A6417 0%, #D9B048 16%, #FFF1C4 30%, #C59B2B 45%, #F6DC98 60%, #A77A1E 78%, #EBCB6E 100%);
    box-shadow: 0 3px 0 #8A6417, 0 14px 28px -10px rgba(197, 155, 43, .8);
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    transition: transform .35s, filter .35s;
}
.pg-enq__btn--submit:hover { transform: translateY(-2px); filter: brightness(1.06); }

