:root{--ep-purple:#5b18d3;--ep-purple2:#7625e6;--ep-orange:#f47408;--ep-gold:#ffad18;--ep-line:#eadcf9;--ep-ink:#17152c;--ep-muted:#625c70;--ep-page:min(1280px,calc(100% - 32px));}
body.ep-page{background:linear-gradient(180deg,#fff 0%,#fffdf9 72%,#fff 100%);color:var(--ep-ink);font-family:Inter,Arial,sans-serif}
.ep-shell{width:var(--ep-page);max-width:1280px;margin-inline:auto}
.ep-hero{height:288px;margin-top:18px;position:relative;border:1.5px solid var(--ep-gold);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 7px 22px rgba(255,157,0,.12),0 0 25px rgba(255,194,63,.08)}
.ep-hero-image{position:absolute;inset:0}.ep-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.ep-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.98) 25%,rgba(255,255,255,.84) 34%,rgba(255,255,255,.14) 52%,rgba(255,255,255,0) 72%)}
.ep-hero-copy{position:absolute;left:25px;top:18px;width:46%;z-index:2}.ep-breadcrumb{display:flex;gap:9px;align-items:center;font-size:8px;color:#6c6575;margin-bottom:25px}.ep-breadcrumb a{color:#514b59}.ep-breadcrumb span{color:var(--ep-orange);font-size:14px}.ep-breadcrumb strong{font-weight:700;color:#26212f}.ep-hero h1{font-family:"DM Serif Display",Georgia,serif;font-size:39px;line-height:1;margin:0 0 18px;font-weight:400;letter-spacing:-.5px}.ep-hero h1 span{color:var(--ep-purple)}.ep-hero h1{color:var(--ep-orange)}.ep-hero-copy p{font-size:12px;line-height:1.65;margin:0;color:#17152c;max-width:390px}
.ep-hero-stats{position:absolute;left:15px;bottom:5px;width:510px;height:83px;background:rgba(255,255,255,.98);border:1px solid #eee0fa;border-radius:10px;box-shadow:0 5px 16px rgba(66,29,125,.08);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;z-index:3}.ep-hero-stats>div{display:grid;grid-template-columns:43px 1fr;grid-template-rows:1fr 1fr;align-items:center;padding:8px 12px;border-right:1px solid #eadff4}.ep-hero-stats>div:last-child{border-right:0}.ep-stat-icon{grid-row:1/3;display:grid;place-items:center;width:35px;height:35px;border:1.5px solid #9b54e9;border-radius:50%;color:var(--ep-purple);font-size:21px}.ep-hero-stats b{font-size:18px;color:var(--ep-purple);align-self:end}.ep-hero-stats small{font-size:9px;color:#26212f;align-self:start}
.ep-catalog{display:grid;grid-template-columns:220px minmax(0,1fr);gap:25px;margin-top:11px;align-items:start}.ep-filter-card{border:1px solid #eadff5;border-radius:9px;background:#fff;padding:15px 13px 12px;box-shadow:0 5px 16px rgba(70,30,130,.06)}.ep-filter-card h2{font-size:16px;color:var(--ep-purple);margin:0 0 16px;font-weight:800}.ep-filter-card h2 span{font-size:25px;margin-right:6px}.ep-filter-card label{display:block;font-size:11px;font-weight:800;margin:13px 0 7px;color:#1f1830}.ep-search{height:35px;border:1px solid #ddd0ef;border-radius:7px;display:flex;overflow:hidden}.ep-search input{min-width:0;flex:1;border:0;outline:0;padding:0 9px;font-size:9px;color:#343040}.ep-search button{width:34px;border:0;background:#fff;color:var(--ep-purple);font-size:22px}.ep-categories{display:grid;gap:2px}.ep-cat{width:100%;height:29px;border:0;background:#fff;border-radius:7px;display:grid;grid-template-columns:24px 1fr 25px;align-items:center;text-align:left;padding:0 5px;color:#17152c;cursor:pointer}.ep-cat:hover,.ep-cat.active{background:#f0e5ff;color:#27104f;box-shadow:inset 0 0 0 1px #caa2f6}.ep-cat-icon{width:20px;height:20px;border:1px solid #d0b4f8;border-radius:50%;display:grid;place-items:center;color:var(--ep-purple);font-size:12px}.ep-cat em{font-style:normal;font-size:9px}.ep-cat b{justify-self:end;min-width:22px;text-align:center;font-size:8px;color:#4d19b7;border:1px solid #cdb0f4;border-radius:7px;padding:3px 3px}.ep-filter-card select{width:100%;height:35px;border:1px solid #ddd0ef;border-radius:7px;background:#fff;color:#5b5564;padding:0 10px;font-size:9px;outline:0}.ep-range{position:relative;padding:4px 0 0}.ep-range input{position:absolute;left:0;right:0;top:0;width:100%;appearance:none;background:transparent;pointer-events:none}.ep-range input::-webkit-slider-runnable-track{height:2px;background:#7625e6}.ep-range input::-webkit-slider-thumb{appearance:none;width:10px;height:10px;border-radius:50%;background:#ff8e9c;border:0;margin-top:-4px;pointer-events:auto}.ep-range div{display:flex;justify-content:space-between;font-size:8px;color:#4f485a;padding-top:10px}.ep-apply,.ep-reset{width:100%;height:30px;border-radius:6px;font-size:9px;font-weight:800;cursor:pointer}.ep-apply{margin-top:15px;border:1px solid #6520d4;background:linear-gradient(135deg,#6c18d2,#7c24e9);color:#fff;box-shadow:0 6px 15px rgba(101,32,212,.2)}.ep-reset{margin-top:7px;border:1px solid #b78df0;background:#fff;color:#5b18d3}
.ep-results{min-width:0}.ep-results-head{height:36px;display:flex;align-items:center;justify-content:space-between}.ep-results-head h2{margin:0;color:var(--ep-purple);font-size:17px}.ep-results-head h2 span{color:#272131;font-weight:500}.ep-results-head label{display:flex;align-items:center;gap:10px;font-size:9px;color:#322c3c}.ep-results-head select{width:112px;height:32px;border:1px solid #ddd0ef;border-radius:7px;background:#fff;padding:0 8px;font-size:9px;color:#4e4858}.ep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 12px}.ep-puja-card{border:1.5px solid var(--ep-gold);border-radius:9px;background:#fff;overflow:hidden;box-shadow:0 5px 16px rgba(255,157,0,.12),0 0 20px rgba(255,196,67,.05);transition:.22s}.ep-puja-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(255,157,0,.19)}.ep-card-image{height:187px;position:relative;background:#16062d;overflow:hidden}.ep-card-image img{width:100%;height:100%;object-fit:cover}.ep-heart{position:absolute;right:9px;top:8px;width:25px;height:25px;border:0;background:rgba(15,4,30,.25);color:#fff;font-size:23px;line-height:1;border-radius:50%;cursor:pointer;text-shadow:0 1px 4px #000}.ep-heart.saved{color:#ff6d83}.ep-badge{position:absolute;left:7px;top:7px;background:#ff7900;color:#fff;border-radius:5px;padding:5px 8px;font-size:8px;font-weight:900}.ep-badge.special{background:#6620d3}.ep-card-body{padding:9px 10px 10px}.ep-card-body h3{margin:0;color:#17152c;font-size:15px;line-height:1.2}.ep-card-body>p{margin:4px 0 9px;font-size:10px;color:#4c4656}.ep-meta{display:flex;justify-content:space-between;gap:5px;font-size:8px;color:#3e3948;white-space:nowrap}.ep-meta span:first-child{color:#4a3c56}.ep-rating{margin-top:10px;font-size:9px;color:#211a2e;display:flex;align-items:center}.ep-rating>span{font-size:17px;color:#f77c00;margin-right:4px}.ep-rating small{font-size:9px;color:#332d3a}.ep-rating strong{margin-left:auto;font-size:14px;color:#17152c}.ep-book{display:flex;height:32px;margin-top:10px;align-items:center;justify-content:center;border:1px solid #b980f0;border-radius:6px;color:#6518d5;font-size:9px;font-weight:900;background:#fff}.ep-load{display:block;width:285px;height:32px;margin:15px auto 0;border:1px solid #d0b1f5;border-radius:7px;background:#fff;color:#5c1bc5;font-size:10px;font-weight:800;cursor:pointer}.ep-load span{font-size:17px;margin-left:10px}.ep-load.done{color:#f27600;border-color:#ffc56a}
.ep-trust{height:92px;margin-top:16px;border:1.5px solid var(--ep-gold);border-radius:9px;background:#fff;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 6px 18px rgba(255,157,0,.12);overflow:hidden}.ep-trust>div{display:grid;grid-template-columns:45px 1fr;grid-template-rows:auto auto;align-content:center;padding:12px 17px;border-right:1px solid #f0dfc3}.ep-trust>div:last-child{border-right:0}.ep-trust span{grid-row:1/3;display:grid;place-items:center;color:#5c1bc5;font-size:28px}.ep-trust b{font-size:11px;color:#1b1627}.ep-trust small{font-size:8px;line-height:1.4;color:#575061}
@media(max-width:900px){.ep-hero{height:300px}.ep-hero-copy{width:52%}.ep-hero-stats{width:54%;height:78px}.ep-catalog{grid-template-columns:190px 1fr;gap:14px}.ep-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ep-card-image{height:165px}.ep-trust{height:auto;grid-template-columns:repeat(2,1fr)}.ep-trust>div:nth-child(2){border-right:0}.ep-trust>div:nth-child(n+3){border-top:1px solid #f0dfc3}}
@media(max-width:620px){:root{--ep-page:calc(100% - 20px)}.ep-hero{height:330px}.ep-hero-image:after{background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.82) 55%,rgba(255,255,255,.15))}.ep-hero-copy{left:17px;top:15px;width:65%}.ep-breadcrumb{margin-bottom:17px}.ep-hero h1{font-size:30px}.ep-hero-copy p{font-size:10px}.ep-desktop{display:none}.ep-hero-stats{left:10px;bottom:9px;width:calc(100% - 20px);height:72px}.ep-hero-stats>div{grid-template-columns:30px 1fr;padding:6px}.ep-stat-icon{width:27px;height:27px;font-size:16px}.ep-hero-stats b{font-size:13px}.ep-hero-stats small{font-size:7px}.ep-catalog{grid-template-columns:1fr;margin-top:12px}.ep-filter-card{order:0}.ep-results{order:1}.ep-grid{grid-template-columns:1fr}.ep-card-image{height:220px}.ep-results-head{margin-top:4px}.ep-trust{grid-template-columns:1fr}.ep-trust>div{border-right:0!important;border-bottom:1px solid #f0dfc3}.ep-trust>div:last-child{border-bottom:0}}


/* MOBILE FOOTER: Explore page only — removes page-specific footer stretching.
   Desktop and every other page remain untouched. */
@media(max-width:820px){
  body.ep-page > .tm-site-footer{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
  body.ep-page > .tm-site-footer > .tm-site-footer-inner{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
}

/* Explore V3 scoped interaction/pagination enhancements. */
.ep-puja-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.ep-puja-card:hover,.ep-puja-card:focus-within{transform:translateY(-4px);border-color:#ff9d00;box-shadow:0 12px 30px rgba(255,157,0,.24),0 0 24px rgba(118,37,230,.12);}
.ep-card-image img{transition:transform .3s ease;}
.ep-puja-card:hover .ep-card-image img,.ep-puja-card:focus-within .ep-card-image img{transform:scale(1.035);}
.ep-book{background:#ff9d00!important;border-color:#ff9d00!important;color:#111!important;text-decoration:none!important;box-shadow:0 5px 12px rgba(255,157,0,.18);transition:transform .18s ease,box-shadow .18s ease,background .18s ease;}
.ep-book:hover,.ep-book:focus-visible{background:#ffb52e!important;color:#111!important;transform:translateY(-1px);box-shadow:0 8px 18px rgba(255,157,0,.28);}
.ep-range{height:52px;position:relative;padding:0;margin-top:2px;--ep-min-pct:0%;--ep-max-pct:100%;}
.ep-range-track,.ep-range-fill{position:absolute;left:0;right:0;top:9px;height:5px;border-radius:999px;}
.ep-range-track{background:#eadff5;}
.ep-range-fill{left:var(--ep-min-pct);right:calc(100% - var(--ep-max-pct));background:#ff9d00;box-shadow:0 0 7px rgba(255,157,0,.28);}
.ep-range input{position:absolute;left:0;top:0;width:100%;height:24px;margin:0;appearance:none;background:transparent;pointer-events:none;z-index:2;}
.ep-range input::-webkit-slider-runnable-track{height:5px;background:transparent;}
.ep-range input::-moz-range-track{height:5px;background:transparent;}
.ep-range input::-webkit-slider-thumb{appearance:none;width:15px;height:15px;margin-top:-5px;border-radius:50%;background:#fff;border:2px solid #ff9800;box-shadow:0 1px 5px rgba(0,0,0,.12);pointer-events:auto;cursor:pointer;}
.ep-range input::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #ff9800;box-shadow:0 1px 5px rgba(0,0,0,.12);pointer-events:auto;cursor:pointer;}
.ep-range-values{position:absolute!important;left:0;right:0;top:27px!important;display:flex;justify-content:space-between;font-size:8px!important;color:#4f485a!important;padding:0!important;}
.ep-pagination{display:flex;justify-content:center;align-items:center;gap:6px;width:100%;box-sizing:border-box;margin:13px auto 1px;min-height:32px;}
.ep-pagination button{min-width:31px;height:31px;border:1px solid #d8c0f2;border-radius:7px;background:#fff;color:#5c1bc5;font-size:10px;font-weight:800;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;}
.ep-pagination button:hover:not(:disabled),.ep-pagination button.active{background:#4b13b5;color:#fff;border-color:#4b13b5;box-shadow:0 5px 13px rgba(75,19,181,.25);}
.ep-pagination button.active{transform:translateY(-1px);}
.ep-pagination button:disabled{opacity:.45;cursor:not-allowed;}
.ep-page-gap{font-size:11px;color:#766b83;padding:0 2px;}
.ep-empty{border:1px dashed #d8c0f2;border-radius:9px;padding:35px 15px;text-align:center;color:#665b70;font-size:12px;background:#fff;}
.ep-heart{transition:transform .18s ease,color .18s ease,background .18s ease;}
.ep-heart:hover{transform:scale(1.08);background:rgba(15,4,30,.45);}


/* Explore V3.3: pagination cache-bust + resilient active-state styling. Scoped to Explore only. */
body.ep-page .ep-pagination{display:flex!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important;gap:6px!important;width:100%!important;min-height:32px!important;margin:13px auto 1px!important;padding:0!important;box-sizing:border-box!important;}
body.ep-page .ep-pagination button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:31px!important;width:31px!important;height:31px!important;padding:0!important;margin:0!important;border:1px solid #d8c0f2!important;border-radius:7px!important;background:#fff!important;color:#5c1bc5!important;font:800 10px/1 Inter,Arial,sans-serif!important;cursor:pointer!important;box-sizing:border-box!important;transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;}
body.ep-page .ep-pagination button:hover:not(:disabled),body.ep-page .ep-pagination button.active,body.ep-page .ep-pagination button[aria-current="page"]{background:#4b13b5!important;color:#fff!important;border-color:#4b13b5!important;box-shadow:0 5px 13px rgba(75,19,181,.25)!important;}
body.ep-page .ep-pagination button.active,body.ep-page .ep-pagination button[aria-current="page"]{transform:translateY(-1px)!important;}
body.ep-page .ep-pagination button:disabled{opacity:.45!important;cursor:not-allowed!important;}
body.ep-page .ep-pagination .ep-page-gap{display:inline-flex!important;align-items:center!important;height:31px!important;font-size:11px!important;color:#766b83!important;padding:0 2px!important;}


/* Explore V3.5: uniform card body + comma-to-star description points. Explore page only. */
body.ep-page .ep-puja-card{display:flex;flex-direction:column;align-self:stretch;}
body.ep-page .ep-card-body{display:flex;flex:1;min-height:0;flex-direction:column;padding:9px 10px 10px;}
body.ep-page .ep-card-body h3{height:36px;min-height:36px;max-height:36px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;}
body.ep-page .ep-description-points{height:38px;min-height:38px;max-height:38px;overflow:hidden;margin:4px 0 7px;font-size:9px;line-height:12px;color:#4c4656;display:flex;flex-direction:column;gap:1px;}
body.ep-page .ep-description-points span{display:flex;align-items:flex-start;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
body.ep-page .ep-description-points i{font-style:normal;flex:0 0 auto;margin-right:4px;color:#ff9d00;font-size:10px;line-height:12px;text-shadow:0 0 5px rgba(255,157,0,.65);}
body.ep-page .ep-meta{min-height:16px;}
body.ep-page .ep-rating{min-height:20px;}
body.ep-page .ep-book{width:100%;box-sizing:border-box;margin-top:auto;}
@media(max-width:620px){body.ep-page .ep-card-body h3{height:38px;min-height:38px;max-height:38px;}body.ep-page .ep-description-points{height:40px;min-height:40px;max-height:40px;}}

/* ================================================================
   Explore Pujas — MOBILE-ONLY REFERENCE LAYOUT
   Desktop rules above are intentionally untouched.
   ================================================================ */
@media (max-width: 767px) {
  body.ep-page {
    --ep-page: calc(100% - 72px);
  }

  body.ep-page .ep-shell {
    width: var(--ep-page);
    max-width: none;
  }

  body.ep-page .ep-hero {
    height: 238px;
    min-height: 238px;
    margin-top: 14px;
    border-radius: 9px;
    overflow: hidden;
  }

  body.ep-page .ep-hero-image img {
    object-position: 68% center;
  }

  body.ep-page .ep-hero-copy {
    left: 16px;
    top: 14px;
    width: 52%;
  }

  body.ep-page .ep-breadcrumb {
    margin-bottom: 13px;
    font-size: 8px;
  }

  body.ep-page .ep-hero h1 {
    font-size: 29px;
    line-height: 1.08;
    margin-bottom: 11px;
  }

  body.ep-page .ep-hero-copy p {
    font-size: 10px;
    line-height: 1.55;
    max-width: 305px;
  }

  body.ep-page .ep-hero-stats {
    left: 10px;
    bottom: 9px;
    width: calc(100% - 20px);
    height: 61px;
    border-radius: 8px;
  }

  body.ep-page .ep-hero-stats > div {
    grid-template-columns: 28px 1fr;
    gap: 5px;
    padding: 5px 8px;
  }

  body.ep-page .ep-stat-icon {
    width: 27px;
    height: 27px;
    font-size: 15px;
  }

  body.ep-page .ep-hero-stats b { font-size: 12px; }
  body.ep-page .ep-hero-stats small { font-size: 7px; }

  /* Keep the filter and catalogue side-by-side, matching the supplied
     684px reference instead of collapsing the catalogue below the filter. */
  body.ep-page .ep-catalog {
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    margin-top: 12px;
  }

  body.ep-page .ep-filter-card {
    position: sticky;
    top: 10px;
    padding: 14px 11px 12px;
    border-radius: 8px;
  }

  body.ep-page .ep-filter-card h2 {
    font-size: 15px;
    margin-bottom: 14px;
  }

  /* The reference puts Search Pujas in the catalogue column, not inside
     the filter rail. The mobile-only JS moves this node. */
  body.ep-page .ep-results > .ep-mobile-search {
    display: flex;
    height: 42px;
    margin: 0 0 12px;
  }

  body.ep-page .ep-results > .ep-mobile-search input {
    font-size: 11px;
    padding-left: 13px;
  }

  body.ep-page .ep-results > .ep-mobile-search button {
    width: 43px;
    font-size: 24px;
  }

  body.ep-page .ep-filter-card > .ep-search {
    display: none;
  }

  body.ep-page .ep-filter-card label:first-of-type {
    display: none;
  }

  body.ep-page .ep-filter-card label {
    font-size: 9px;
    margin: 12px 0 6px;
  }

  body.ep-page .ep-cat {
    height: 29px;
    grid-template-columns: 22px 1fr 23px;
    padding: 0 3px;
  }

  body.ep-page .ep-cat em { font-size: 8px; }
  body.ep-page .ep-cat b { font-size: 8px; min-width: 20px; padding: 2px; }
  body.ep-page .ep-cat-icon { width: 18px; height: 18px; font-size: 10px; }
  body.ep-page .ep-filter-card select { height: 34px; font-size: 8px; }
  body.ep-page .ep-apply,
  body.ep-page .ep-reset { height: 30px; font-size: 8px; }

  body.ep-page .ep-results-head {
    height: 36px;
    margin: 0;
  }

  body.ep-page .ep-results-head h2 { font-size: 16px; }
  body.ep-page .ep-results-head label { font-size: 8px; gap: 6px; }
  body.ep-page .ep-results-head select { width: 100px; height: 31px; font-size: 8px; }

  /* One compact card per row in the right-hand mobile catalogue. */
  body.ep-page .ep-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  body.ep-page .ep-puja-card {
    min-width: 0;
    width: 100%;
    border-radius: 8px;
  }

  body.ep-page .ep-card-image {
    height: 92px;
  }

  body.ep-page .ep-card-body {
    padding: 8px 9px 9px;
  }

  body.ep-page .ep-card-body h3 {
    height: 32px;
    min-height: 32px;
    max-height: 32px;
    font-size: 12px;
    line-height: 1.25;
  }

  body.ep-page .ep-description-points {
    height: 30px;
    min-height: 30px;
    max-height: 30px;
    margin: 3px 0 5px;
    font-size: 8px;
    line-height: 10px;
    gap: 0;
  }

  body.ep-page .ep-description-points span {
    height: 10px;
    line-height: 10px;
  }

  body.ep-page .ep-description-points i {
    font-size: 9px;
    line-height: 10px;
    margin-right: 3px;
    text-shadow: 0 0 5px rgba(255,157,0,.9);
  }

  body.ep-page .ep-meta {
    min-height: 14px;
    font-size: 7px;
  }

  body.ep-page .ep-rating {
    min-height: 18px;
    margin-top: 6px;
    font-size: 8px;
  }

  body.ep-page .ep-rating > span { font-size: 14px; }
  body.ep-page .ep-rating small { font-size: 8px; }
  body.ep-page .ep-rating strong { font-size: 11px; }

  body.ep-page .ep-book {
    height: 31px;
    margin-top: 7px;
    font-size: 8px;
    border-radius: 6px;
  }

  body.ep-page .ep-pagination {
    justify-content: center !important;
    margin-top: 13px !important;
    padding-bottom: 2px;
  }

  body.ep-page .ep-pagination button {
    min-width: 34px !important;
    width: 34px !important;
    height: 34px !important;
    font-size: 10px !important;
  }

  body.ep-page .ep-trust {
    grid-template-columns: 1fr 1fr;
    margin-top: 18px;
  }

  body.ep-page .ep-trust > div {
    min-height: 90px;
    padding: 12px 8px;
  }
}

@media (max-width: 560px) {
  body.ep-page { --ep-page: calc(100% - 24px); }
  body.ep-page .ep-catalog { grid-template-columns: 154px minmax(0,1fr); gap: 10px; }
  body.ep-page .ep-filter-card { padding-left: 8px; padding-right: 8px; }
  body.ep-page .ep-hero-copy { width: 59%; }
  body.ep-page .ep-hero h1 { font-size: 25px; }
  body.ep-page .ep-hero-copy p { font-size: 9px; }
  body.ep-page .ep-results-head label { display: none; }
  body.ep-page .ep-card-image { height: 82px; }
}

/* V4 mobile reference: horizontal compact Puja rows. Desktop is not affected. */
@media (max-width: 767px){
  body.ep-page .ep-grid{display:grid;grid-template-columns:1fr;gap:10px}
  body.ep-page .ep-puja-card{display:grid;grid-template-columns:96px minmax(0,1fr);min-height:104px;height:104px;border-radius:9px;box-shadow:0 5px 15px rgba(255,157,0,.10);transform:none!important}
  body.ep-page .ep-card-image{height:100%;min-height:104px;width:96px}
  body.ep-page .ep-card-image img{object-fit:cover}
  body.ep-page .ep-heart{right:6px;top:6px;width:24px;height:24px;font-size:21px}
  body.ep-page .ep-badge{left:4px;top:4px;padding:3px 5px;font-size:6px}
  body.ep-page .ep-card-body{min-width:0;padding:8px 9px 7px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 30px auto;column-gap:7px;align-content:stretch}
  body.ep-page .ep-card-body h3{grid-column:1/2;grid-row:1;height:17px;min-height:17px;max-height:17px;font-size:11px;line-height:17px;white-space:nowrap;text-overflow:ellipsis;display:block}
  body.ep-page .ep-description-points{grid-column:1/2;grid-row:2;height:30px;min-height:30px;max-height:30px;margin:2px 0 0;font-size:8px;line-height:10px;gap:0}
  body.ep-page .ep-description-points span{height:10px;line-height:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.ep-page .ep-description-points i{font-size:9px;line-height:10px;margin-right:3px}
  body.ep-page .ep-meta{grid-column:1/2;grid-row:3;align-self:end;min-height:11px;font-size:6px;gap:3px}
  body.ep-page .ep-rating{grid-column:1/2;grid-row:3;align-self:end;min-height:15px;margin-top:0;font-size:7px;transform:translateY(-1px)}
  body.ep-page .ep-rating strong{font-size:10px}
  body.ep-page .ep-rating small{font-size:7px}
  body.ep-page .ep-rating>span{font-size:12px}
  body.ep-page .ep-book{grid-column:2;grid-row:1/4;align-self:center;width:78px;height:34px;margin:0;font-size:7px;border-radius:6px}
  body.ep-page .ep-results-head{height:33px}
  body.ep-page .ep-results-head h2{font-size:15px}
  body.ep-page .ep-results > .ep-mobile-search{height:40px;margin-bottom:9px}
  body.ep-page .ep-pagination{margin-top:11px!important}
}
@media (max-width: 560px){
  body.ep-page{--ep-page:calc(100% - 20px)}
  body.ep-page .ep-catalog{grid-template-columns:154px minmax(0,1fr);gap:10px}
  body.ep-page .ep-puja-card{grid-template-columns:88px minmax(0,1fr);height:100px;min-height:100px}
  body.ep-page .ep-card-image{width:88px;min-height:100px}
  body.ep-page .ep-card-body{padding:7px 8px}
  body.ep-page .ep-card-body h3{font-size:10px}
  body.ep-page .ep-description-points{font-size:7px}
  body.ep-page .ep-book{width:70px;height:31px;font-size:6px}
}

/* R23 — Explore card price placement + mobile readability. Explore page only.
   Desktop: move price to the right of the first benefit line and enlarge it.
   Mobile: keep the price visible without competing with the Book Now button. */
body.ep-page .ep-card-body{position:relative;}
body.ep-page .ep-description-points{position:relative;}
body.ep-page .ep-benefit-point:first-child{padding-right:78px;}
body.ep-page .ep-inline-price{display:block;position:absolute;right:10px;top:40px;z-index:2;white-space:nowrap;margin:0;color:#17152c;font-size:17px;font-weight:800;line-height:1.2;}

@media (max-width:767px){
  body.ep-page .ep-catalog{grid-template-columns:142px minmax(0,1fr);gap:9px;}
  body.ep-page .ep-filter-card{padding-left:7px;padding-right:7px;}
  body.ep-page .ep-cat{grid-template-columns:21px minmax(0,1fr) 22px;padding-left:2px;padding-right:2px;}
  body.ep-page .ep-cat em{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  body.ep-page .ep-puja-card{grid-template-columns:88px minmax(0,1fr);}
  body.ep-page .ep-card-body{padding-left:8px;padding-right:7px;}
  body.ep-page .ep-card-body h3{height:34px;min-height:34px;max-height:34px;font-size:11px;line-height:17px;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;text-overflow:clip;}
  body.ep-page .ep-description-points{height:30px;min-height:30px;max-height:30px;margin:2px 0 0;display:flex;flex-direction:column;gap:0;}
  body.ep-page .ep-description-points .ep-benefit-point{width:100%;grid-column:auto!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  body.ep-page .ep-benefit-point:first-child{padding-right:52px;}
  /* R23.1: price belongs to the first benefit row, not the title row. */
  body.ep-page .ep-inline-price{top:7px;right:8px;font-size:11px;line-height:12px;}
  body.ep-page .ep-meta{font-size:6px;}
  body.ep-page .ep-rating{display:none;}
}
@media (max-width:560px){
  body.ep-page .ep-catalog{grid-template-columns:138px minmax(0,1fr);gap:8px;}
  body.ep-page .ep-puja-card{grid-template-columns:84px minmax(0,1fr);height:100px;min-height:100px;}
  body.ep-page .ep-card-image{width:84px;min-height:100px;}
  body.ep-page .ep-card-body{padding-left:7px;padding-right:6px;}
  body.ep-page .ep-card-body h3{font-size:11px;line-height:17px;}
  body.ep-page .ep-benefit-point:first-child{padding-right:52px;}
  body.ep-page .ep-inline-price{top:7px;right:8px;font-size:11px;line-height:12px;}
}

/* R23.3 — Mobile-only full Puja name. Keep the existing card width/layout;
   give the title up to three compact lines and preserve the detail/price rows. */
@media (max-width:767px){
  body.ep-page .ep-card-body{grid-template-rows:39px 30px auto;}
  body.ep-page .ep-card-body h3{height:39px;min-height:39px;max-height:39px;font-size:10px;line-height:13px;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;text-overflow:clip;}
}
@media (max-width:560px){
  body.ep-page .ep-card-body{grid-template-rows:39px 30px auto;}
  body.ep-page .ep-card-body h3{height:39px;min-height:39px;max-height:39px;font-size:10px;line-height:13px;}
}

/* R25.10 — Desktop-only Explore price/title alignment.
   This is intentionally scoped above the mobile/tablet rules; mobile positioning is unchanged. */
@media (min-width:901px){
  body.ep-page .ep-card-body h3{padding-right:92px;box-sizing:border-box;}
  body.ep-page .ep-inline-price{top:6px;right:10px;}
}
