/* Shared product-card system: natural content flow; no auto margins or inherited fact heights. */
.product-panel{--card-gap:18px;display:flex;flex-direction:column;justify-content:flex-start;gap:0;padding:32px 36px;min-height:0}
.reusable-grid--single .product-panel{padding:32px 36px;min-height:0}
.product-panel>h3{font-family:Bricolage,sans-serif;font-size:clamp(28px,3vw,38px);line-height:1.1;letter-spacing:-.04em;margin:0 0 12px}
.product-panel>.product-description,.product-panel>h3+p{font-size:16px;line-height:1.55;margin:0 0 22px;color:var(--muted)}
.product-panel .product-specs{display:flex;flex-wrap:wrap;align-items:center;gap:8px 0;margin:0 0 20px;padding:0;border:0;border-radius:0;background:transparent;list-style:none;overflow:visible;min-height:0}
.product-panel .product-specs .fact,.product-panel .product-specs li{display:inline-flex;flex-direction:row;align-items:baseline;justify-content:flex-start;gap:4px;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:13px;font-weight:400;line-height:1.5}
.product-panel .product-specs .fact strong,.product-panel .product-specs .fact span{display:inline;margin:0;padding:0;color:inherit;font:inherit}
.product-panel .product-specs .fact+.fact:before,.product-panel .product-specs li+li:before{content:"·";margin:0 12px;color:#a6ad81}
.product-panel .product-format{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px;padding:16px 0 0;border-top:1px solid var(--line)}
.product-format>span,.product-format>.variant-picker__label{grid-column:1/-1;margin:0;color:var(--chocolate);font:700 13px/1.4 Bricolage,sans-serif;letter-spacing:0;text-transform:none}
.product-format>.reusable-variant-options{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.product-format button{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-width:0;min-height:62px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--chocolate);font:inherit;text-align:left;cursor:pointer}
.product-format button strong{font:700 13px/1.3 Bricolage,sans-serif}
.product-format button small{display:block;margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.35;white-space:normal}
.product-format button[aria-pressed="true"]{background:#e4d6bf;color:var(--chocolate);border-color:#8d765c;box-shadow:inset 0 0 0 1px #8d765c}
.product-format button[aria-pressed="true"] small{color:var(--muted)}
.product-format button:focus-visible{outline:2px solid var(--bindi);outline-offset:3px}
.product-panel .product-purchase{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:0}
.product-purchase .product-price__main,.product-purchase .reusable-price-from{display:flex;align-items:baseline;gap:8px;margin:0}
.product-purchase .reusable-price-from>span{display:none}
.product-panel .product-purchase strong{font:700 28px/1.2 Bricolage,sans-serif;letter-spacing:-.04em}
.product-panel .product-purchase .button{min-height:44px;padding:0 18px}
.product-panel>.quick-start-note,.product-panel>.reusable-selected-offer__description{min-height:0;margin:18px 0 0;padding:14px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;color:var(--muted);font-size:12px;font-weight:400;line-height:1.5}
.product-panel>.personal-use-note{margin:10px 0 0;padding:0;font-size:12px;line-height:1.5}
@media(max-width:700px){.product-panel,.reusable-grid--single .product-panel{padding:24px 22px}.product-panel .product-purchase{flex-wrap:wrap}.product-panel .product-purchase .button{white-space:normal;text-align:center}.product-panel .product-specs .fact+.fact:before,.product-panel .product-specs li+li:before{margin:0 8px}}
@media(max-width:380px){.product-panel .product-format,.product-format>.reusable-variant-options{grid-template-columns:1fr}.product-panel .product-purchase{flex-direction:column;align-items:stretch}}

@media(min-width:901px){.product-card,.reusable-grid--single .reusable-card{display:grid;grid-template-columns:.9fr 1.1fr}}

/* Clear, consistent product specifications. */
.product-panel .product-specs .fact,.product-panel .product-specs li{color:var(--chocolate);font-size:14px;font-weight:600}

/* Keep variant selection and purchase together at the bottom of tall cards. */
@media(min-width:901px){.product-panel .product-format{margin-top:auto}}

/* Multiple-selection card: compact choices and a separate product summary. */
.dotting-card__content{padding:30px 32px;justify-content:flex-start}
.dotting-picker{margin:0 0 24px}
.dotting-picker__label{font-size:12px;line-height:1.5;margin-bottom:12px;letter-spacing:.06em}
.dotting-theme-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.dotting-theme-option{min-height:44px;align-items:center;padding:10px 11px;border-radius:10px;font-size:12px;line-height:1.3;box-shadow:none;transform:none}
.dotting-theme-option.is-selected{background:#e8dfc9;border-color:#998568;box-shadow:inset 0 0 0 1px #998568;transform:none}
.dotting-theme-option--bundle{grid-column:1/-1;min-height:46px;background:#fff8ed}
.dotting-theme-option--bundle>span{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px}
.dotting-theme-option--bundle.is-selected{background:#fae6d7;border-color:#cf8b70;box-shadow:inset 0 0 0 1px #cf8b70}
.dotting-card__content h3{font-size:clamp(27px,2.7vw,36px);line-height:1.15;margin:0 0 10px}
.dotting-card__description{font-size:15px;line-height:1.55;margin:0 0 16px}
.dotting-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:0}
.dotting-meta>span{display:inline-flex;align-items:center;margin:0;padding:6px 10px;background:#ece6d8;border-radius:7px;color:var(--chocolate);font-size:12px;font-weight:500;line-height:1.4}
.dotting-meta>span+span:before{content:none}
.dotting-purchase-row{border-top:1px solid var(--line);margin-top:auto;padding-top:18px;gap:16px}
.dotting-price-summary strong{font-size:28px}
@media(max-width:700px){.dotting-card__content{padding:24px 22px}.dotting-theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}.dotting-theme-option{min-height:44px}.dotting-purchase-row{flex-direction:row;flex-wrap:wrap;align-items:center}.dotting-purchase-row .button{width:auto;flex:1;min-width:150px}.dotting-meta{gap:6px}.dotting-meta>span{padding:6px 8px}}
