/* ==========================================================================
   Page: product  (site/products/show.blade.php)
   --------------------------------------------------------------------------
   Bento: gallery card + info card on top; description and list cards below
   (sizes/options as pills, uses/features as checked lists); lemon "made to
   order" card. The thumbnails swap the main photo (js/modules/product-gallery.js).
   ========================================================================== */

.pdp { padding-top: var(--s-2); }

.pdp__crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-1); margin-bottom: var(--s-4); padding: 0; list-style: none; color: var(--ink-faint); font-size: var(--fs-xs); font-weight: 600; }
.pdp__crumbs li { display: inline-flex; align-items: center; gap: var(--s-1); }
.pdp__crumbs a:hover { color: var(--navy); }
.pdp__crumbs [aria-current] { color: var(--navy); }

/* ── Top: gallery + info ─────────────────────────────────────────────────── */
.pdp__top { grid-template-columns: 1.15fr 1fr; align-items: stretch; }

.pdp__gallery { padding: 10px; }
.pdp__main {
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: var(--r-lg);
    aspect-ratio: 1 / 0.9;
    background: var(--card-soft);
}
.pdp__main img { width: 100%; height: 100%; object-fit: cover; }
.pdp__placeholder { width: 96px; color: var(--line); }
.pdp__thumbs { display: flex; gap: var(--s-2); overflow-x: auto; margin-top: 10px; scrollbar-width: none; }
.pdp__thumb {
    flex-shrink: 0;
    width: 76px;
    height: 76px;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: var(--r-md);
    background: var(--card-soft);
    transition: border-color var(--t-fast) var(--ease);
}
.pdp__thumb img { width: 100%; height: 100%; object-fit: cover; }
.pdp__thumb.is-active { border-color: var(--navy); }

.pdp__info { display: flex; flex-direction: column; align-items: flex-start; }
.pdp__title { margin-top: var(--s-4); font-size: var(--fs-xl); }
.pdp__summary { margin-top: var(--s-3); color: var(--ink-soft); font-size: var(--fs-md); }

.pdp__facts { align-self: stretch; display: grid; gap: 0; margin-block: var(--s-6); border-top: 1px solid var(--line); }
.pdp__facts div { display: grid; grid-template-columns: 9rem 1fr; gap: var(--s-3); padding-block: var(--s-3); border-bottom: 1px solid var(--line); font-size: var(--fs-sm); }
.pdp__facts dt { color: var(--ink-faint); font-weight: 600; }
.pdp__facts dd { font-weight: 600; }

.pdp__actions { align-self: stretch; display: grid; gap: var(--s-2); margin-top: auto; }
.pdp__actions-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--s-2); }

/* ── Details ─────────────────────────────────────────────────────────────── */
.pdp__details { grid-template-columns: repeat(3, 1fr); margin-top: var(--gap); }
.pdp__about { grid-column: span 2; grid-row: span 2; }
.pdp__about p { margin-top: var(--s-3); color: var(--ink-soft); }
.pdp__h2 { font-size: var(--fs-lg); }
.pdp__h3 { display: flex; align-items: center; gap: var(--s-2); font-size: var(--fs-md); }
.pdp__h3 .icon { width: 34px; height: 34px; padding: 8px; border-radius: 50%; background: var(--card-soft); }

.pdp__pills { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-4); }
.pdp__pills li { padding: 0.35em 0.95em; border-radius: var(--r-pill); background: var(--card-soft); font-size: var(--fs-sm); font-weight: 600; }
.pdp__checks { display: grid; gap: var(--s-2); margin-top: var(--s-4); font-size: var(--fs-sm); }
.pdp__checks li { display: flex; align-items: flex-start; gap: var(--s-2); }
.pdp__checks .icon { flex-shrink: 0; width: 20px; height: 20px; margin-top: 0.2em; padding: 4px; border-radius: 50%; background: var(--lemon); }

.pdp__custom { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s-3); }
.pdp__custom p { color: rgb(32 57 74 / 0.8); font-size: var(--fs-sm); }

@media (max-width: 991.98px) {
    .pdp__top { grid-template-columns: 1fr; }
    .pdp__details { grid-template-columns: 1fr 1fr; }
    .pdp__about { grid-column: 1 / -1; grid-row: auto; }
}
@media (max-width: 575.98px) {
    .pdp__details { grid-template-columns: 1fr; }
    .pdp__facts div { grid-template-columns: 7rem 1fr; }
}
