.product-page { background: var(--paper); }
.breadcrumbs { padding: 22px 0; display: flex; flex-wrap: wrap; gap: 9px; color: var(--muted); font-size: 11px; }
.breadcrumbs strong { color: var(--ink); }
.pdp-section { padding: 20px 0 100px; }
.pdp-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(410px, .92fr); align-items: start; gap: clamp(50px, 6vw, 90px); }
.pdp-gallery { min-width: 0; }
.pdp-main-image { position: relative; overflow: hidden; aspect-ratio: 1.08; background: #e9e2d5; }
.pdp-main-image::after { content: ""; position: absolute; inset: 17px; border: 1px solid rgba(255,255,255,.55); pointer-events: none; }
.pdp-main-image > img { width: 100%; height: 100%; object-fit: cover; transition: opacity .2s ease; }
.pdp-image-badge { position: absolute; z-index: 2; top: 24px; left: 24px; padding: 7px 11px; background: var(--red); color: white; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.pdp-thumbnails { margin-top: 12px; display: grid; grid-template-columns: repeat(3, 95px); gap: 10px; }
.pdp-thumbnails button { padding: 0; border: 1px solid transparent; background: #eee9df; cursor: pointer; }
.pdp-thumbnails button.is-active { border-color: var(--red); }
.pdp-thumbnails img { width: 100%; height: 76px; object-fit: cover; }
.pdp-gallery-note { margin-top: 13px; display: flex; justify-content: space-between; gap: 20px; color: var(--muted); font-size: 9px; }
.pdp-summary { position: sticky; top: 116px; }
.pdp-kicker { display: flex; justify-content: space-between; gap: 20px; color: var(--red); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.pdp-summary h1 { margin: 16px 0 9px; font: 500 clamp(44px, 4.3vw, 66px)/1.03 var(--serif); letter-spacing: -.045em; }
.pdp-summary h1 small { display: block; margin-top: 10px; color: var(--red); font: 500 16px var(--sans); letter-spacing: .12em; }
.pdp-rating { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 10px; }.pdp-rating > span:first-child { color: var(--gold); font-size: 15px; letter-spacing: .05em; }.pdp-rating a { margin-left: auto; border-bottom: 1px solid var(--line); }
.pdp-price { margin: 25px 0 17px; display: flex; align-items: baseline; gap: 14px; }.pdp-price strong { color: var(--red); font: 600 30px var(--serif); }.pdp-price span { color: var(--muted); font-size: 10px; }
.pdp-lead { margin: 0; color: #4d5850; font-size: 14px; line-height: 1.8; }
.pdp-facts { margin: 24px 0; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }.pdp-facts div { padding: 13px 14px; display: grid; gap: 3px; border-right: 1px solid var(--line); }.pdp-facts div:last-child { border: 0; }.pdp-facts span { color: var(--muted); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }.pdp-facts strong { font: 500 12px var(--serif); }
.product-options { margin: 21px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; border: 0; }.product-options legend { width: 100%; margin-bottom: 9px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.product-options legend small { color: var(--muted); font-weight: 500; }.product-options label { cursor: pointer; }.product-options input { position: absolute; opacity: 0; pointer-events: none; }.product-options label > span { min-width: 103px; min-height: 53px; padding: 9px 14px; display: grid; place-content: center; border: 1px solid var(--line); text-align: center; font-size: 11px; font-weight: 800; }.product-options label > span small { color: var(--muted); font-size: 9px; font-weight: 500; }.product-options input:checked + span { border-color: var(--forest); background: var(--forest); color: white; }.product-options input:checked + span small { color: rgba(255,255,255,.65); }.compact-options label > span { min-width: 82px; min-height: 42px; padding: 7px 12px; }
.purchase-row { margin-top: 25px; display: grid; grid-template-columns: 118px 1fr; gap: 10px; }.quantity { height: 53px; display: grid; grid-template-columns: 35px 1fr 35px; border: 1px solid var(--line); }.quantity button, .quantity input { min-width: 0; border: 0; background: transparent; text-align: center; }.quantity button { cursor: pointer; font-size: 18px; }.quantity input { -moz-appearance: textfield; }.quantity input::-webkit-inner-spin-button { appearance: none; }.pdp-add { width: 100%; }
.pdp-whatsapp { margin-top: 11px; min-height: 57px; padding: 10px 14px; display: grid; grid-template-columns: 34px 1fr; align-items: center; border: 1px solid var(--forest); color: var(--forest); }.pdp-whatsapp > span { grid-row: 1/3; width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: var(--forest); color: white; }.pdp-whatsapp strong { font-size: 11px; }.pdp-whatsapp small { color: var(--muted); font-size: 9px; }
.pdp-service-list { margin: 24px 0 0; padding: 19px 0 0; display: grid; gap: 13px; border-top: 1px solid var(--line); list-style: none; }.pdp-service-list li { display: grid; grid-template-columns: 28px 1fr; gap: 7px; }.pdp-service-list li > span { color: var(--red); font: 500 10px var(--serif); }.pdp-service-list p { margin: 0; display: grid; }.pdp-service-list strong { font: 500 14px var(--serif); }.pdp-service-list small { color: var(--muted); font-size: 9px; }
.product-details { background: var(--cream); }.product-details-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(55px, 9vw, 140px); }.product-details h2 { max-width: 500px; margin: 0; font: 500 clamp(38px, 4vw, 57px)/1.06 var(--serif); letter-spacing: -.04em; }.detail-accordions { border-top: 1px solid var(--line); }.detail-accordions details { border-bottom: 1px solid var(--line); }.detail-accordions summary { padding: 23px 0; display: flex; justify-content: space-between; cursor: pointer; list-style: none; font: 500 19px var(--serif); }.detail-accordions summary::-webkit-details-marker { display: none; }.detail-accordions summary span { font: 400 23px var(--sans); transition: transform .2s ease; }.detail-accordions details[open] summary span { transform: rotate(45deg); }.detail-accordions p { margin: -3px 0 23px; color: var(--muted); font-size: 13px; }
.related-section { background: var(--forest); color: white; }.related-section .product-card { color: var(--ink); }.related-section .eyebrow { color: #e7cb83; }.related-section .arrow-link { color: white; }.related-grid { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 920px) { .pdp-grid { grid-template-columns: 1fr; }.pdp-summary { position: static; }.pdp-main-image { aspect-ratio: 1.25; }.product-details-grid { grid-template-columns: 1fr; }.related-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .breadcrumbs { padding: 16px 0; }.pdp-section { padding: 6px 0 66px; }.pdp-main-image { aspect-ratio: .95; }.pdp-main-image > img { object-position: center; }.pdp-thumbnails { grid-template-columns: repeat(3, 1fr); }.pdp-thumbnails img { height: 68px; }.pdp-gallery-note span:first-child { display: none; }.pdp-summary h1 { font-size: 43px; }.pdp-facts { grid-template-columns: 1fr; }.pdp-facts div { border-right: 0; border-bottom: 1px solid var(--line); }.purchase-row { grid-template-columns: 105px 1fr; }.pdp-add { padding-inline: 10px; font-size: 11px; }.related-grid { grid-template-columns: 1fr; } }
