/* Native WooCommerce product templates, styled as the Angel's wardrobe edit. */
.single-product.angels-v2 .commerce-main {padding-top:24px;padding-bottom:64px}
.single-product.woocommerce .woocommerce-breadcrumb {font-size:12px;line-height:1.7;color:#676163;margin-bottom:24px}
.single-product.woocommerce .woocommerce-breadcrumb a {color:#676163;text-underline-offset:4px}
.single-product.woocommerce div.product {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:clamp(28px,5vw,76px);align-items:start}
.single-product.woocommerce div.product::before,.single-product.woocommerce div.product::after {display:none}
.single-product.woocommerce div.product>div.images,.single-product.woocommerce div.product>div.summary {float:none;width:100%;min-width:0;margin:0 0 40px}
.single-product.woocommerce div.product>div.images {grid-column:1;grid-row:1;background:#f6f4f4;border:1px solid #eee8eb;border-radius:10px;overflow:hidden}
.single-product.woocommerce div.product>div.summary {grid-column:2;grid-row:1;padding-top:18px;position:static}
.single-product.woocommerce div.product>span.onsale {position:absolute;top:18px;left:18px;z-index:3;border-radius:4px;background:#fff;color:#9c0054;box-shadow:0 2px 12px #1b191814;font-size:12px;padding:7px 12px}
.single-product.woocommerce div.product div.images .woocommerce-product-gallery__image img {width:100%;height:auto;border-radius:0}
.single-product.woocommerce div.product div.images .woocommerce-product-gallery__trigger {top:14px;right:14px;border:1px solid #ddd5d8;background:#fff;width:40px;height:40px;z-index:4}
.single-product.woocommerce div.product div.images .flex-control-thumbs {display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;padding:12px;background:#fff;scrollbar-width:thin;overscroll-behavior-x:contain}
.single-product.woocommerce div.product div.images .flex-control-thumbs li {float:none;width:72px;flex:0 0 72px}
.single-product.woocommerce div.product div.images .flex-control-thumbs li img {height:88px;object-fit:contain;background:#f7f5f6;border-radius:4px;border:2px solid transparent;opacity:.65}
.single-product.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {border-color:var(--angels-pink);opacity:1}
.single-product .angels-product-eyebrow {margin:0 0 12px;font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#a50059}
.single-product.woocommerce div.product .product_title {font:500 clamp(28px,3.1vw,44px)/1.15 var(--body);letter-spacing:-.04em;margin:0 0 18px;color:var(--angels-ink);overflow-wrap:anywhere}
.single-product.woocommerce div.product>.summary p.price,.single-product.woocommerce div.product>.summary span.price {color:var(--angels-ink);font-size:26px;line-height:1.5;font-weight:600}
.single-product.woocommerce div.product p.price {margin:0 0 24px;padding-bottom:22px;border-bottom:1px solid #e8e2e5}
.single-product.woocommerce div.product p.price del,.single-product.woocommerce div.product span.price del {color:#756b70;font-size:16px;font-weight:400;opacity:1;margin-right:8px}
.single-product.woocommerce div.product p.price ins,.single-product.woocommerce div.product span.price ins {text-decoration:none;color:#a50059}
.single-product.woocommerce div.product .woocommerce-product-rating {margin:0 0 14px;font-size:12px}
.single-product.woocommerce div.product .woocommerce-product-details__short-description {font-size:14px;line-height:1.8;color:#5d555a;margin-bottom:22px}
.single-product.woocommerce div.product .stock {display:inline-block;border-radius:4px;padding:5px 10px;background:#f0f6f1;color:#245635;font-size:12px;font-weight:500}
.single-product.woocommerce div.product .out-of-stock {background:#fcebf1;color:#9c1746}
.single-product.woocommerce div.product form.cart {margin:24px 0;display:flex;flex-wrap:wrap;align-items:start;gap:12px}
.single-product.woocommerce div.product form.cart>* {min-width:0}
.single-product.woocommerce div.product form.cart .quantity {float:none;margin:0;flex:0 0 76px}
.single-product.woocommerce div.product .quantity .qty {width:76px;min-width:0;min-height:54px;border:1px solid #b9adb3;border-radius:5px;padding:12px 6px;font-size:16px;background:#fff;color:var(--angels-ink)}
.single-product.woocommerce div.product form.cart .single_add_to_cart_button {flex:1;min-width:0;min-height:54px;float:none;background:var(--angels-ink);color:#fff;border:1px solid var(--angels-ink);border-radius:5px;padding:14px 20px;font-size:15px;font-weight:600;letter-spacing:.015em;box-shadow:0 4px 0 #e3007926}
.single-product.woocommerce div.product form.cart .single_add_to_cart_button:hover {background:#a50059;border-color:#a50059;color:#fff}
.single-product.woocommerce div.product form.cart .single_add_to_cart_button.disabled,.single-product.woocommerce div.product form.cart .single_add_to_cart_button:disabled {background:#ede9eb;border-color:#d2c9ce;color:#695d63;box-shadow:none;opacity:1}
.single-product.woocommerce div.product form.variations_form {display:block;padding:20px;background:#faf8f9;border:1px solid #e8e2e5;border-radius:8px}
.single-product.woocommerce div.product form.cart .variations {margin:0 0 14px;border:0}
.single-product.woocommerce div.product form.cart .variations tr {display:block;margin-bottom:16px}
.single-product.woocommerce div.product form.cart .variations th,.single-product.woocommerce div.product form.cart .variations td {display:block;width:100%;padding:0;border:0;background:transparent;text-align:left}
.single-product.woocommerce div.product form.cart .variations label {display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.single-product.woocommerce div.product form.cart .variations select {width:100%;max-width:100%;min-width:0;min-height:46px;font-size:14px;border:1px solid #b9adb3;border-radius:5px;background:#fff;color:var(--angels-ink);padding:9px 12px;margin:0}
.single-product .angels-variation-choices {margin:10px 0 0;gap:8px}
.single-product .angels-variation-choices button {display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:48px;min-height:46px;border-radius:4px;padding:10px 14px;border:1px solid #b9adb3;background:#fff;color:var(--angels-ink);font-size:13px}
.single-product .angels-variation-choices button[aria-pressed=true] {background:var(--angels-ink);color:#fff;border:1px solid var(--angels-ink);box-shadow:0 3px 0 var(--angels-pink)}
.single-product .angels-variation-choices button:disabled {color:#82767d;background:#eee9ec;text-decoration:line-through;box-shadow:none}
.single-product.woocommerce div.product form.cart .reset_variations {display:inline-block;min-height:32px;padding-top:8px;font-size:12px;color:#9c0054;text-underline-offset:3px}
.single-product.woocommerce div.product .woocommerce-variation-add-to-cart {display:flex;gap:12px;flex-wrap:wrap;width:100%}
.single-product.woocommerce div.product .woocommerce-variation-price {margin-bottom:12px}
.single-product.woocommerce div.product form.grouped_form {display:block}
.single-product.woocommerce div.product form.grouped_form table {width:100%;font-size:13px}
.single-product.woocommerce div.product form.grouped_form td {padding:10px 5px}
.single-product.woocommerce div.product form.grouped_form>.button {width:100%}
.single-product .angels-product-extras {margin:24px 0;gap:12px}
.single-product .angels-product-extras:has(>.ast-heart:not([hidden])) {padding-top:4px}
.single-product.angels-v2 .angels-product-extras .ast-heart:not([hidden]) {display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:auto;min-height:48px;border-radius:5px;border-color:#b9adb3;background:#fff;color:var(--angels-ink);font-size:24px}
.single-product .angels-product-extras .ast-heart .screen-reader-text {position:static!important;width:auto;height:auto;clip:auto;clip-path:none;overflow:visible;font-size:13px;font-weight:500}
.single-product .angels-product-extras .ast-heart[aria-pressed=true] {border-color:#a50059;background:#fbe7f0;color:#a50059}
.single-product .angels-product-extras .ast-heart[hidden] {display:none}
.single-product .angels-product-extras>a {display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:13px;text-underline-offset:4px}
.single-product.woocommerce div.product .product_meta {font-size:12px;line-height:1.8;margin-top:24px;padding-top:18px;border-top:1px solid #e8e2e5;color:#756b70}
.single-product.woocommerce div.product .product_meta>span {margin-bottom:5px}
.single-product.woocommerce div.product .product_meta a {color:#51464c;text-underline-offset:3px}
.single-product.woocommerce div.product>.woocommerce-tabs,.single-product.woocommerce div.product>.related,.single-product.woocommerce div.product>.up-sells {grid-column:1/-1;min-width:0;width:100%}
.single-product.woocommerce div.product .woocommerce-tabs {margin:18px 0 24px;border-top:1px solid #e8e2e5;padding-top:20px}
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs {display:flex;gap:24px;overflow-x:auto;margin:0 0 24px;padding:0;scrollbar-width:thin}
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs::before,.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li::after {display:none}
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li {flex:none;border:0;border-bottom:3px solid transparent;border-radius:0;margin:0;background:transparent;padding:0;color:#71646b}
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li.active {border-bottom-color:var(--angels-pink);color:var(--angels-ink);background:transparent}
.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li a {padding:14px 0;font-size:14px;font-weight:600;color:inherit}
.single-product.woocommerce div.product .woocommerce-tabs .panel {border:0;border-radius:8px;background:#faf8f9;padding:28px 32px;font-size:14px;line-height:1.85;margin:0}
.single-product.woocommerce div.product .woocommerce-tabs h2,.single-product.woocommerce .related>h2,.single-product.woocommerce .up-sells>h2 {font:500 clamp(24px,3vw,32px)/1.2 var(--body);letter-spacing:-.035em;color:var(--angels-ink);margin:0 0 24px}
.single-product.woocommerce div.product .woocommerce-tabs .panel :last-child {margin-bottom:0}
.single-product.woocommerce div.product .woocommerce-product-attributes th {text-align:left}
.single-product.woocommerce .related,.single-product.woocommerce .up-sells {padding-top:36px}
.single-product .v2-purchase-bar:not([hidden]) {border-top:1px solid #e3d7de;box-shadow:0 -6px 24px #1b19180a}
.single-product .v2-purchase-submit {border-radius:5px;box-shadow:0 3px 0 #e3007933}
.single-product :is(.summary,.woocommerce-tabs,.woocommerce-product-gallery) :is(a,button,select,input):focus-visible {outline:3px solid #a50059;outline-offset:3px}
/* Progressive option buttons: native selects remain available on focus and without JS. */
.single-product .angels-variation-option {position:relative}
.single-product.woocommerce div.product form.cart .angels-variation-option.is-enhanced select:not(:focus) {position:absolute!important;width:1px!important;height:1px!important;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.single-product.woocommerce div.product form.cart .angels-variation-option.is-enhanced select:focus {position:absolute;top:10px;left:0;width:100%;height:46px;margin:0;clip-path:none;z-index:4}
.single-product .angels-variation-option.is-enhanced select:focus~.angels-variation-choices {visibility:hidden}
.single-product .angels-product-help {display:flex;flex-wrap:wrap;gap:10px 24px;border-bottom:1px solid #e8e2e5;padding-bottom:18px}
.single-product .angels-product-help a {display:inline-flex;gap:8px;align-items:center;min-height:44px;font-size:13px;text-underline-offset:4px}
.single-product .angels-product-help .icon {width:20px;height:20px}
.single-product .angels-product-sections {grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 28px;padding:18px 0;border-block:1px solid #e8e2e5;margin:0 0 12px}
.single-product .angels-product-sections a {min-height:44px;display:inline-flex;align-items:center;font-size:13px;text-underline-offset:5px;color:#54444e}
.single-product.woocommerce div.product>.angels-product-story {grid-column:1/-1;width:100%;min-width:0;padding-block:56px;border-bottom:1px solid #e8e2e5;scroll-margin-top:130px}
.single-product .angels-product-story h2 {font:500 clamp(28px,3vw,38px)/1.2 var(--body);letter-spacing:-.035em;margin:0 0 18px;color:var(--angels-ink)}
.single-product .angels-product-story h3 {font:600 18px/1.4 var(--body);margin:0 0 14px;color:var(--angels-ink)}
.single-product .angels-product-story p {font-size:14px;line-height:1.85;color:#62555d}
.single-product .angels-product-story .angels-product-eyebrow {color:#a50059}
.single-product .angels-finer-details,.single-product .angels-size-fit {display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(28px,6vw,88px)}
.single-product .angels-story-intro>p {max-width:300px}
.single-product .angels-detail-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.single-product .angels-detail-grid article {padding:24px;border:1px solid #e8e2e5;border-radius:8px;background:#fcfafb}
.single-product .angels-detail-grid p:last-child {margin-bottom:0}
.single-product .angels-fit-content {padding:30px;border:1px solid #eddae5;background:#fdf7fa;border-radius:10px;min-width:0}
.single-product .angels-fit-content .text-link {min-height:44px;font-size:14px;display:inline-flex;align-items:center;gap:8px;color:#9c0054}
.single-product .angels-fit-steps {margin:26px 0 0;padding-left:22px}
.single-product .angels-fit-steps li {padding:0 0 18px 8px;font-size:13px;line-height:1.7}
.single-product .angels-fit-steps li:last-child {padding-bottom:0}
.single-product .angels-fit-steps strong,.single-product .angels-fit-steps span {display:block}
.single-product .angels-fit-steps strong {font-weight:600;margin-bottom:5px}
.single-product .angels-fit-steps span {color:#62555d}
.single-product .angels-fit-content .ast-table-scroll {overflow-x:auto;max-width:100%}
.single-product .angels-fit-content table {width:100%;border-collapse:collapse;background:#fff}
.single-product .angels-fit-content th,.single-product .angels-fit-content td {border:1px solid #e4d6de;padding:12px;text-align:left;font-size:13px}
.single-product .angels-story-heading {margin-bottom:30px}
.single-product .angels-service-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.single-product .angels-service-grid article {display:flex;flex-direction:column;align-items:flex-start;padding:30px;border:1px solid #e8e2e5;background:#faf9f8;border-radius:8px}
.single-product .angels-service-grid article>.icon {width:34px;height:34px;margin-bottom:24px;color:#a50059}
.single-product .angels-service-grid article>a {display:inline-flex;align-items:center;gap:10px;margin-top:auto;min-height:44px;font-size:13px;color:#9c0054;text-underline-offset:4px}
.single-product .angels-service-grid article>a .icon {width:18px;height:18px}
.single-product .angels-customer-reviews #reviews {scroll-margin-top:130px;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.single-product .angels-customer-reviews #reviews>.clear {display:none}
.single-product .angels-customer-reviews #comments {float:none;width:100%}
.single-product .angels-customer-reviews #review_form_wrapper {max-width:760px;margin-top:0}
.single-product .angels-customer-reviews #review_form {padding:28px;border:1px solid #e8e2e5;border-radius:8px;background:#fcfafb}
.single-product .angels-customer-reviews .woocommerce-noreviews {padding:24px;background:#faf8f9;border:1px solid #e8e2e5;border-radius:8px}
.single-product .angels-customer-reviews #respond textarea {width:100%;min-height:150px;max-width:100%}
.single-product .angels-customer-reviews #respond input[type=text],.single-product .angels-customer-reviews #respond input[type=email] {max-width:100%;min-height:46px}
.single-product.woocommerce .angels-customer-reviews #review_form #respond .form-submit input#submit {min-height:48px;background:var(--angels-ink);color:white;border:1px solid var(--angels-ink);border-radius:5px;padding:12px 24px}
.single-product .angels-customer-reviews #review_form #respond :is(.comment-form-author,.comment-form-email)>label {display:block;margin-bottom:7px}
.single-product .angels-customer-reviews #review_form #respond :is(.comment-form-author,.comment-form-email)>input {width:100%;min-height:46px;border-radius:4px}
.single-product.woocommerce .related,.single-product.woocommerce .up-sells {padding-top:56px}
.single-product.woocommerce .related ul.products,.single-product.woocommerce .up-sells ul.products {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.single-product.woocommerce .related ul.products::before,.single-product.woocommerce .related ul.products::after,.single-product.woocommerce .up-sells ul.products::before,.single-product.woocommerce .up-sells ul.products::after {display:none}
.single-product.woocommerce .related ul.products li.product,.single-product.woocommerce .up-sells ul.products li.product {float:none;width:auto;margin:0;min-width:0}
.single-product.woocommerce :is(.related,.up-sells) ul.products li.product .price {display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;font-size:14px;line-height:1.5}
.single-product.woocommerce :is(.related,.up-sells) ul.products li.product .price del {font-size:12px;margin-right:0}
.single-product.woocommerce :is(.related,.up-sells) ul.products li.product .price ins {font-size:14px}
@media(max-width:820px) {
    .single-product .angels-finer-details,.single-product .angels-size-fit {grid-template-columns:1fr;gap:22px}
    .single-product .angels-story-intro>p {max-width:none}
    .single-product .angels-service-grid {grid-template-columns:1fr}
    .single-product .angels-service-grid article {padding:24px}
    .single-product .angels-service-grid article>.icon {margin-bottom:16px}
    .single-product .angels-customer-reviews #reviews {grid-template-columns:1fr;gap:22px}
}
@media(max-width:599px) {
    .single-product.woocommerce div.product>.angels-product-story {padding-block:36px;scroll-margin-top:92px}
    .single-product .angels-product-sections {gap:6px 20px;margin-top:10px}
    .single-product .angels-product-sections a {font-size:12px}
    .single-product .angels-detail-grid {grid-template-columns:1fr;gap:14px}
    .single-product .angels-detail-grid article,.single-product .angels-fit-content {padding:22px 18px}
    .single-product .angels-customer-reviews #review_form {padding:22px 18px}
    .single-product .angels-customer-reviews #reviews {scroll-margin-top:92px}
    .single-product.woocommerce .related,.single-product.woocommerce .up-sells {padding-top:36px}
    .single-product.woocommerce :is(.related,.up-sells) ul.products li.product .price,.single-product.woocommerce :is(.related,.up-sells) ul.products li.product .price ins {font-size:13px}
    .single-product.woocommerce :is(.related,.up-sells) ul.products li.product .price del {font-size:11px}
}
@media(max-width:820px) {
    .single-product.woocommerce div.product {grid-template-columns:minmax(0,1fr)}
    .single-product.woocommerce div.product>div.images {grid-column:1;grid-row:auto;margin-bottom:24px}
    .single-product.woocommerce div.product>div.summary {grid-column:1;grid-row:auto;padding-top:0;margin-bottom:12px}
    .single-product.woocommerce div.product .product_title {font-size:30px}
    .single-product.woocommerce div.product .woocommerce-tabs {margin-top:12px}
}
@media(max-width:599px) {
    .single-product.angels-v2 .commerce-main {padding-top:14px}
    .single-product.woocommerce .woocommerce-breadcrumb {font-size:11px;margin-bottom:14px}
    .single-product.woocommerce div.product>div.images {width:calc(100% + 36px);max-width:none;margin-inline:-18px;border:0;border-radius:0}
    .single-product.woocommerce div.product>span.onsale {left:-4px;top:14px}
    .single-product.woocommerce div.product div.images .flex-control-thumbs {padding:12px 18px;gap:8px}
    .single-product.woocommerce div.product div.images .flex-control-thumbs li {width:60px;flex-basis:60px}
    .single-product.woocommerce div.product div.images .flex-control-thumbs li img {height:76px}
    .single-product .angels-product-eyebrow {font-size:10px;margin-bottom:10px}
    .single-product.woocommerce div.product .product_title {font-size:28px;margin-bottom:12px}
    .single-product.woocommerce div.product p.price {font-size:24px;margin-bottom:18px;padding-bottom:18px}
    .single-product.woocommerce div.product .woocommerce-product-details__short-description {font-size:13px;margin-bottom:18px}
    .single-product.woocommerce div.product form.variations_form {padding:16px;margin:20px 0;border-radius:7px}
    .single-product.woocommerce div.product form.cart .variations select {font-size:16px}
    .single-product.woocommerce div.product .woocommerce-tabs ul.tabs {gap:22px;margin-bottom:18px}
    .single-product.woocommerce div.product .woocommerce-tabs ul.tabs li a {font-size:13px}
    .single-product.woocommerce div.product .woocommerce-tabs .panel {padding:22px 18px;font-size:13px}
    .single-product.woocommerce .related,.single-product.woocommerce .up-sells {padding-top:28px}
}
