/* Ksymena boutique: shared fitting-room, package and WooCommerce presentation. */
.ksymena-vto, .ksymena-vto-dialog {
    --vto-ink: #302b26; --vto-muted: #73685b; --vto-accent: #8a6b34;
    --vto-pale: #f7f2e9; --vto-line: #e5dccb;
    --ks-vto-text: #302b26; --ks-vto-muted: #73685b; --ks-vto-accent: #8a6b34;
    --ks-vto-border: #e5dccb; --ks-vto-surface: #f9f6f0;
    font-family: 'Montserrat', sans-serif; font-weight: 400; color: #302b26;
}
.ksymena-vto *, .ksymena-vto-dialog * {box-sizing: border-box;}
.ksymena-vto h1, .ksymena-vto h2, .ksymena-vto h3, .ksymena-vto-dialog h2, .ksymena-vto-dialog h3 {font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; color: #302b26; letter-spacing: -.02em; line-height: 1.12;}
.ksymena-vto h1 {font-size: clamp(40px, 5vw, 64px);}
.ksymena-vto h2 {font-size: clamp(27px, 3vw, 36px);}
.ksymena-vto h3 {font-size: 26px;}
.ksymena-vto p {line-height: 1.75;}
.ksymena-vto-eyebrow {font-size: 11px; font-weight: 600; letter-spacing: .17em; color: #876b3e;}
.ksymena-vto .ksymena-vto-button, .ksymena-vto-dialog .button {border-radius: 4px; font-size: 13px; font-weight: 600; letter-spacing: .015em; gap: 12px; padding: 15px 23px;}
.ksymena-vto :is(a,button,input,select):focus-visible, .ksymena-vto-dialog :is(a,button):focus-visible {outline: 3px solid #89691d; outline-offset: 4px;}
.ksymena-vto .ksymena-vto-text-link {color: #745728; text-underline-offset: 5px; text-decoration: underline; font-size: 13px; font-weight: 500;}
.ksymena-vto-landing .ksymena-vto-hero {grid-template-columns: 1.15fr .85fr; gap: 48px;}
.ksymena-vto-landing .ksymena-vto-lead {font-size: 16px; margin-top: 20px; max-width: 480px;}
.ksymena-vto-landing .ksymena-vto-preview {min-height: 0; border-radius: 150px 150px 6px 6px; box-shadow: none; max-height: 430px;}
.ksymena-vto-landing .ksymena-vto-preview img {width: 100%; height: 430px; object-fit: cover; object-position: center 28%; display: block;}
.ksymena-vto-privacy-pill {background: #f7f2e9; border: 1px solid #e5dccb; color: #73603e; border-radius: 4px; font-size: 12px;}
.ksymena-vto-landing .ksymena-vto-steps {grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; margin: 48px 0;}
.ksymena-vto-landing .ksymena-vto-steps > div {border: 0; border-top: 1px solid #d9caaa; border-radius: 0; padding: 22px 0 0; box-shadow: none;}
.ksymena-vto-landing .ksymena-vto-steps > div > span {background: transparent; width: auto; height: auto; color: #997d4f; font-size: 13px; font-weight: 500;}
.ksymena-vto-landing .ksymena-vto-steps h2 {font-size: 27px; margin-bottom: 9px;}
.ksymena-vto-landing .ksymena-vto-steps p {font-size: 13px;}
.ksymena-vto-landing .ksymena-vto-card {border-radius: 8px; box-shadow: none; padding: clamp(22px,3vw,36px);}
.ksymena-vto-landing .ksymena-vto-app {gap: 24px;}
.ksymena-vto-landing .ksymena-vto-wallet {display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 32px; background: #f7f2e9; border: 1px solid #c9af7c; padding: 32px;}
.ksymena-vto-wallet h2 {margin: 4px 0 8px;}
.ksymena-vto-wallet .ksymena-vto-success-note {font-size: 15px; font-weight: 600; color: #65512e; margin: 0 0 8px;}
.ksymena-vto-balance {display: grid; grid-template-columns: repeat(2,minmax(115px,1fr)); gap: 24px; text-align: center;}
.ksymena-vto-balance > div + div {border-left: 1px solid #d7c7a8; padding-left: 24px;}
.ksymena-vto-balance strong {display: block; font: 500 72px/1 'Cormorant Garamond',Georgia,serif; color: #775a2b;}
.ksymena-vto-balance span {display: block; max-width: 120px; margin: 6px auto 0; font-size: 12px; line-height: 1.5; color: #574b3d;}
.ksymena-vto-consent {background: #faf8f4; border: 1px solid #e5dccb; border-radius: 6px; margin: 0; font-size: 13px; padding: 24px;}
.ksymena-vto-consent p {color: #73685b; margin: 9px 0 0; font-size: 12px;}
.ksymena-vto-consent a {color: #745728; text-decoration: underline;}
.ksymena-vto-consent input, .ksymena-vto-options-row input {accent-color: #8a6b34;}
.ksymena-vto-section-heading > span {border: 1px solid #e5dccb; background: #f9f6f0; border-radius: 4px; font-weight: 500;}
.ksymena-vto-landing .ksymena-vto-upload-tile {border-radius: 6px; background: #faf8f4;}
.ksymena-vto-catalog-callout {display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; padding: 24px; border: 1px solid #d9caaa; background: #f9f6ef; border-radius: 6px; margin-bottom: 30px;}
.ksymena-vto-catalog-callout > div {flex: 1 1 260px;}
.ksymena-vto-catalog-callout h3 {margin: 0 0 7px;}
.ksymena-vto-catalog-callout p {font-size: 13px; margin: 0; color: #73685b;}
.ksymena-vto-favorites-title {margin: 0 0 16px;}
.ksymena-vto-favorites-empty {font-size: 14px; background: #faf8f4; padding: 22px; border: 1px dashed #d9caaa; border-radius: 6px;}
.ksymena-vto-favorites {display: grid; grid-template-columns: repeat(auto-fill,minmax(140px,1fr)); gap: 16px; margin-bottom: 30px;}
.ksymena-vto-favorite {appearance: none; display: flex; flex-direction: column; padding: 6px 6px 12px; border: 1px solid #e5dccb; border-radius: 6px; background: #fff; cursor: pointer; color: #302b26; text-align: center; font: inherit; min-width: 0;}
.ksymena-vto-favorite:hover {border-color: #a48856; background: #faf7ef;}
.ksymena-vto-favorite[aria-pressed=true] {border: 2px solid #8a6b34; padding: 5px 5px 11px; background: #f7f2e9;}
.ksymena-vto-favorite img {width: 100%; aspect-ratio: 3/4; object-fit: cover; border-radius: 3px;}
.ksymena-vto-favorite > span {padding: 10px 4px 3px; font-size: 14px; font-weight: 600; overflow-wrap: anywhere;}
.ksymena-vto-favorite small {font-size: 11px; color: #745728;}
.ksymena-vto-selected-dress {display: grid; grid-template-columns: 180px minmax(0,1fr); align-items: start; gap: 24px; margin-top: 26px; padding-top: 26px; border-top: 1px solid #e5dccb;}
.ksymena-vto-selected-dress > div {min-width: 0;}
.ksymena-vto-selected-dress h3 {margin: 5px 0 10px; font-size: 27px;}
.ksymena-vto-selected-dress p {font-size: 12px; color: #73685b; margin: 0;}
.ksymena-vto-landing .ksymena-vto-dress-preview {border-radius: 5px; border: 1px solid #e5dccb;}
.ksymena-vto-landing .ksymena-vto-dress-preview img {max-height: 290px; object-fit: contain; background: #f9f6f0;}
.ksymena-vto-dress-gallery {grid-template-columns: repeat(auto-fill,minmax(65px,1fr)); gap: 7px;}
.ksymena-vto-dress-choice img {height: 105px;}
.ksymena-vto-options-row {margin: 24px 0 18px; font-size: 13px;}
.ksymena-vto-packs > h3 {margin: 0 0 16px;}
.ksymena-vto-pack-grid {gap: 12px;}
.ksymena-vto-pack {padding: 19px 10px; border-radius: 5px; background: #fff; border-color: #d9caaa; gap: 2px; transition: border-color .15s, background .15s;}
.ksymena-vto-pack:hover, .ksymena-vto-pack[aria-current=page] {border-color: #8a6b34; background: #f7f1e5;}
.ksymena-vto-pack[aria-current=page] {box-shadow: inset 0 0 0 1px #8a6b34;}
.ksymena-vto-pack strong {font: 500 42px/1.1 'Cormorant Garamond',Georgia,serif;}
.ksymena-vto-pack span {font-size: 12px;}
.ksymena-vto-pack b {font-size: 17px; margin-top: 9px; font-weight: 600;}
.ksymena-vto-pack small {font-size: 10px; color: #745728; margin-top: 9px;}
.ksymena-vto-packs > p {color: #73685b; font-size: 12px; margin-top: 12px;}
.ksymena-vto-pack-page {max-width: 1180px; padding: 35px 32px 80px; margin: 0 auto;}
.ksymena-vto-pack-breadcrumb {font-size: 12px; color: #73685b; margin: 0 0 36px; display: flex; gap: 12px; flex-wrap: wrap;}
.ksymena-vto-pack-breadcrumb a {color: #745728;}
.ksymena-vto-pack-hero {display: grid; grid-template-columns: .85fr 1.15fr; align-items: start; gap: clamp(32px,5vw,70px);}
.ksymena-vto-pack-art {aspect-ratio: 4/5; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 35px; color: #745728; background: radial-gradient(ellipse at 25% 15%,#fffaf0,#ede1cb); border: 1px solid #d6c49e; outline: 1px solid #c8b48a; outline-offset: -16px; border-radius: 160px 160px 4px 4px; text-align: center;}
.ksymena-vto-pack-art .ksymena-vto-pack-logo {width: 190px; height: 85px; object-fit: contain; margin: 10px 0 15px;}
.ksymena-vto-pack-wordmark {font: 32px Georgia,serif; letter-spacing: .15em;}
.ksymena-vto-pack-art-line {height: 1px; width: 46px; background: #b39867; margin: 5px 0 14px;}
.ksymena-vto-pack-art > strong {font: 500 clamp(94px,10vw,140px)/1 'Cormorant Garamond',Georgia,serif;}
.ksymena-vto-pack-art-label {font-size: 12px; text-transform: uppercase; letter-spacing: .13em; margin: 8px 0 20px;}
.ksymena-vto-pack-art p {font: 500 26px/1.25 'Cormorant Garamond',Georgia,serif; margin: 0;}
.ksymena-vto-pack-copy h1 {font-size: clamp(45px,5vw,68px); margin: 10px 0 20px;}
.ksymena-vto-pack-copy h1 em {font-weight: 400; color: #8a6b34;}
.ksymena-vto-pack-intro {font-size: 14px; color: #73685b;}
.ksymena-vto-pack-copy .ksymena-vto-packs h3 {font-size: 25px; margin: 28px 0 14px;}
.ksymena-vto-pack-purchase {border-top: 1px solid #e5dccb; margin-top: 24px; padding-top: 22px;}
.ksymena-vto-pack-price {display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 6px; margin-bottom: 20px; font-size: 13px;}
.ksymena-vto-pack-price > strong {font: 500 36px/1 'Cormorant Garamond',Georgia,serif;}
.ksymena-vto-pack-price small {grid-column: 1/-1; color: #73685b; font-size: 11px;}
.ksymena-vto-pack-page form.cart {display: flex; align-items: stretch; gap: 10px; margin: 0;}
.ksymena-vto-pack-page form.cart .quantity {margin: 0!important; flex: 0 0 64px;}
.ksymena-vto-pack-page form.cart .qty {height: 52px!important; width: 64px!important; border: 1px solid #d6c49e!important; border-radius: 4px!important; background: #fff!important; color: #302b26!important; font: 16px 'Montserrat',sans-serif!important; padding: 8px!important;}
.ksymena-vto-pack-page .single_add_to_cart_button, .ksymena-vto-pack-page .woocommerce-message .button {background: #8a6b34!important; color: #fff!important; border: 1px solid #8a6b34!important; border-radius: 4px!important; padding: 14px 20px!important; min-height: 52px; font: 600 13px/1.5 'Montserrat',sans-serif!important; letter-spacing: .02em; cursor: pointer; flex: 1;}
.ksymena-vto-pack-page .single_add_to_cart_button::after {display: none!important;}
.ksymena-vto-pack-page .single_add_to_cart_button:hover {background: #705525!important;}
.ksymena-vto-pack-page .woocommerce-message {border: 1px solid #d6c49e!important; background: #f7f2e9!important; color: #302b26!important; font-size: 14px; margin-bottom: 24px;}
.ksymena-vto-pack-payment-note {font-size: 11px; color: #73685b; margin: 12px 0 20px;}
.ksymena-vto-pack-benefits {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; border-top: 1px solid #d9caaa; margin: 64px 0 50px; padding-top: 32px;}
.ksymena-vto-pack-benefits span {color: #987b48; font-size: 12px;}
.ksymena-vto-pack-benefits h2 {font-size: 27px; margin: 14px 0 10px;}
.ksymena-vto-pack-benefits p {font-size: 13px; color: #73685b;}
.ksymena-vto-pack-faq {max-width: 780px; margin: auto;}
.ksymena-vto-pack-faq > h2 {margin-bottom: 22px;}
.ksymena-vto-pack-faq details {border-top: 1px solid #e5dccb; padding: 20px 0;}
.ksymena-vto-pack-faq summary {cursor: pointer; font-size: 14px; font-weight: 500;}
.ksymena-vto-pack-faq details p {font-size: 13px; margin: 14px 0 0; color: #73685b;}
.ksymena-vto-dialog [data-vto-access-status]:not(:empty) {background: #f7f2e9; border-left: 3px solid #9c7b43; padding: 18px; font-size: 17px; font-weight: 600; line-height: 1.7;}
/* Woo Blocks keep their native state, validation and payment integration. */
body.ksymena-cart-page, body.ksymena-checkout-page {background: #faf8f4!important;}
body.ksymena-cart-page #main-content, body.ksymena-checkout-page #main-content {background: #faf8f4!important;}
body.ksymena-cart-page .wp-block-woocommerce-cart, body.ksymena-checkout-page .wp-block-woocommerce-checkout {max-width: 1180px!important; padding-top: 30px!important;}
body.ksymena-cart-page .wc-block-cart-items, body.ksymena-cart-page .wc-block-cart__totals, body.ksymena-checkout-page .wp-block-woocommerce-checkout-fields-block, body.ksymena-checkout-page .wp-block-woocommerce-checkout-totals-block {background: #fff!important; border: 1px solid #e2d8c5!important; border-radius: 8px!important; box-shadow: 0 8px 30px #48371105!important;}
body.ksymena-cart-page table.wc-block-cart-items {overflow: hidden; border-collapse: separate!important; border-spacing: 0!important; padding: 12px 24px!important;}
body.ksymena-cart-page .wc-block-cart-items__header th {padding: 18px 0!important; font: 500 11px 'Montserrat',sans-serif!important; letter-spacing: .12em!important; color: #89754f!important;}
body.ksymena-cart-page .wc-block-cart-item__image img, body.ksymena-checkout-page .wc-block-components-order-summary-item__image img {background: #f7f2e8!important; border: 1px solid #e2d8c5!important; padding: 10px!important; object-fit: contain!important; border-radius: 6px!important; min-height: 75px;}
body.ksymena-cart-page .wc-block-components-product-name, body.ksymena-checkout-page .wc-block-components-product-name {font-family: 'Cormorant Garamond',Georgia,serif!important; font-size: 24px!important; font-weight: 500!important; line-height: 1.2!important; color: #302b26!important;}
body.ksymena-cart-page .wc-block-components-product-metadata {font-size: 12px!important; color: #73685b!important; line-height: 1.65!important;}
body.ksymena-cart-page .wc-block-components-quantity-selector {border: 1px solid #d5c6aa!important; border-radius: 4px!important; min-height: 42px!important;}
body.ksymena-cart-page .wc-block-cart__submit-button, body.ksymena-checkout-page .wc-block-components-checkout-place-order-button {background: #8a6b34!important; color: #fff!important; border: 1px solid #8a6b34!important; border-radius: 4px!important; font: 600 13px/1.5 'Montserrat',sans-serif!important; min-height: 54px!important; letter-spacing: .035em!important;}
body.ksymena-cart-page .wc-block-cart__totals {padding: 26px!important;}
body.ksymena-cart-page .wc-block-cart__totals-title {font: 500 29px/1.2 'Cormorant Garamond',Georgia,serif!important; text-transform: none!important; letter-spacing: 0!important;}
body.ksymena-checkout-page .wc-block-components-text-input input, body.ksymena-checkout-page .wc-block-components-combobox-control input {border-color: #d5c6aa!important; border-radius: 4px!important; background: #fffdf9!important;}
@media(max-width: 780px) {
    .ksymena-vto-landing .ksymena-vto-wallet {grid-template-columns: 1fr; gap: 22px; padding: 25px;}
    .ksymena-vto-balance {grid-template-columns: 1fr 1fr; border-top: 1px solid #d7c7a8; padding-top: 20px;}
    .ksymena-vto-balance span {max-width: none;}
    .ksymena-vto-pack-hero {grid-template-columns: 1fr; gap: 35px;}
    .ksymena-vto-pack-art {max-width: 360px; width: 100%; margin: 0 auto; aspect-ratio: 5/4; border-radius: 100px 100px 4px 4px; padding: 28px;}
    .ksymena-vto-pack-art .ksymena-vto-pack-logo {height: 55px; width: 150px; margin: 5px 0;}
    .ksymena-vto-pack-art > strong {font-size: 85px;}
    .ksymena-vto-pack-art p {display: none;}
    .ksymena-vto-pack-art-label {margin-bottom: 5px;}
    .ksymena-vto-pack-benefits {gap: 22px;}
    .ksymena-vto-selected-dress {grid-template-columns: 130px minmax(0,1fr); gap: 18px;}
}
@media(max-width: 600px) {
    .ksymena-vto-landing {padding: 28px 16px;}
    .ksymena-vto-landing .ksymena-vto-hero {grid-template-columns: 1fr; gap: 25px;}
    .ksymena-vto-landing .ksymena-vto-preview {display: none;}
    .ksymena-vto-landing .ksymena-vto-steps {grid-template-columns: 1fr; gap: 16px; margin: 28px 0;}
    .ksymena-vto-landing .ksymena-vto-steps > div {padding-top: 16px;}
    .ksymena-vto-landing .ksymena-vto-steps > div > span {float: left; margin: 4px 12px 0 0;}
    .ksymena-vto-landing .ksymena-vto-steps h2 {font-size: 25px;}
    .ksymena-vto-landing .ksymena-vto-steps p {margin: 0;}
    .ksymena-vto-landing .ksymena-vto-card {padding: 22px 16px;}
    .ksymena-vto-consent {padding: 18px;}
    .ksymena-vto-catalog-callout {padding: 18px;}
    .ksymena-vto-catalog-callout .ksymena-vto-button {width: 100%;}
    .ksymena-vto-favorites {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px;}
    .ksymena-vto-selected-dress {grid-template-columns: 1fr;}
    .ksymena-vto-landing .ksymena-vto-dress-preview {max-width: 170px;}
    .ksymena-vto-pack-page {padding: 24px 20px 50px;}
    .ksymena-vto-pack-breadcrumb {margin-bottom: 25px; font-size: 11px;}
    .ksymena-vto-pack-grid {grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px;}
    .ksymena-vto-pack {padding: 15px 5px;}
    .ksymena-vto-pack small {font-size: 9px;}
    .ksymena-vto-pack strong {font-size: 36px;}
    .ksymena-vto-pack-benefits {grid-template-columns: 1fr; margin: 40px 0; gap: 18px;}
    .ksymena-vto-pack-benefits h2 {margin: 8px 0;}
    body.ksymena-cart-page table.wc-block-cart-items {padding: 8px 12px!important;}
    body.ksymena-cart-page .wc-block-components-product-name, body.ksymena-checkout-page .wc-block-components-product-name {font-size: 21px!important;}
}
@media(max-width: 600px) {
    body.ksymena-cart-page .wc-block-cart-items__row {grid-template-columns: 70px minmax(0,1fr)!important; column-gap: 12px!important;}
    body.ksymena-cart-page .wc-block-cart-item__image {grid-column: 1!important; grid-row: 1 / 3!important; padding: 12px 0!important; width: 70px!important;}
    body.ksymena-cart-page .wc-block-cart-item__product {grid-column: 2!important; grid-row: 1!important; padding: 12px 0!important; width: auto!important;}
    body.ksymena-cart-page .wc-block-cart-item__total {grid-column: 2!important; grid-row: 2!important; padding: 0 0 12px!important; width: auto!important; justify-content: flex-start!important; gap: 8px;}
    body.ksymena-cart-page .wc-block-cart-item__total::before {content: 'Łącznie'; font-size: 12px; color: #73685b;}
    body.ksymena-cart-page .wc-block-components-product-metadata {display: block!important; -webkit-line-clamp: unset!important; overflow: visible!important;}
}

/* Compact landing: remove Divi's duplicate page title and stacked outer spacing. */
body.ksymena-vto-page:not(.woocommerce-account) #main-content > .container {width: calc(100% - 64px); max-width: 1240px; margin: 0 auto!important; padding-top: 0!important;}
body.ksymena-vto-page:not(.woocommerce-account) article > .entry-title {display: none;}
body.ksymena-vto-page:not(.woocommerce-account) #left-area {width: 100%; padding: 0;}
body.ksymena-vto-page:not(.woocommerce-account) #main-content > .container::before {display: none;}
body.ksymena-vto-page:not(.woocommerce-account) #sidebar {display: none;}
.ksymena-vto-landing {max-width: 1240px; width: 100%; padding: 24px 0 44px;}
.ksymena-vto-landing .ksymena-vto-hero {min-height: 0; grid-template-columns: minmax(0,1.3fr) minmax(240px,.7fr); gap: 40px;}
.ksymena-vto-landing .ksymena-vto-hero h1 {font-size: clamp(36px,4vw,52px); line-height: 1.08; max-width: 650px; margin: 10px 0 12px; padding: 0;}
.ksymena-vto-landing .ksymena-vto-lead {font-size: 15px; margin: 0 0 12px; max-width: 590px;}
.ksymena-vto-landing .ksymena-vto-privacy-pill {margin-top: 0; padding: 6px 10px; font-size: 11px;}
.ksymena-vto-landing .ksymena-vto-preview {height: 300px; max-height: 300px; border-radius: 100px 100px 5px 5px;}
.ksymena-vto-landing .ksymena-vto-preview img {height: 300px; object-position: center 12%;}
.ksymena-vto-landing .ksymena-vto-steps {margin: 22px 0; gap: 28px;}
.ksymena-vto-landing .ksymena-vto-steps > div {padding-top: 12px;}
.ksymena-vto-landing .ksymena-vto-steps > div > span {margin-bottom: 8px;}
.ksymena-vto-landing .ksymena-vto-steps h2 {font-size: 25px; margin: 0 0 7px; padding: 0;}
.ksymena-vto-landing .ksymena-vto-steps p {font-size: 12px; padding: 0; line-height: 1.6;}
.ksymena-vto-landing .ksymena-vto-app {margin-top: 20px; gap: 20px; align-items: start;}
.ksymena-vto-landing .ksymena-vto-wallet {padding: 22px 26px;}
.ksymena-vto-consent {padding: 18px 22px;}
.ksymena-vto-landing .ksymena-vto-section-heading {margin-bottom: 16px;}
#ksymena-vto-photos, #ksymena-vto-dresses, #ksymena-vto-more-packs {scroll-margin-top: 110px;}
@media(min-width: 1100px) {
    body.ksymena-vto-page:not(.woocommerce-account) .ksymena-vto-app {grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr);}
    body.ksymena-vto-page:not(.woocommerce-account) .ksymena-vto-app > * {grid-column: 1/-1;}
    body.ksymena-vto-page:not(.woocommerce-account) #ksymena-vto-photos {grid-column: 1;}
    body.ksymena-vto-page:not(.woocommerce-account) #ksymena-vto-dresses {grid-column: 2;}
    body.ksymena-vto-page:not(.woocommerce-account) .ksymena-vto-selected-dress {grid-template-columns: 100px minmax(0,1fr); gap: 16px;}
    body.ksymena-vto-page:not(.woocommerce-account) .ksymena-vto-selected-dress h3 {font-size: 23px;}
    body.ksymena-vto-page:not(.woocommerce-account) .ksymena-vto-dress-choice img {height: 88px;}
    body.ksymena-vto-page:not(.woocommerce-account) .ksymena-vto-catalog-callout {padding: 18px; gap: 14px; margin-bottom: 24px;}
}
/* Independent of Woo's generic .button / Divi arrow styles. */
body.woocommerce .ksymena-vto-product-button.button {
    display: inline-flex!important; align-items: center; justify-content: center; gap: 12px;
    width: auto!important; min-width: 295px; max-width: 100%; min-height: 56px; height: auto;
    padding: 15px 25px!important; margin: 14px 0 0!important;
    border: 1px solid #c8b48a!important; border-radius: 3px!important;
    background: #f5f0e5!important; color: #75603c!important;
    font: 600 13px/1.4 'Montserrat',sans-serif!important; letter-spacing: .055em;
    text-transform: uppercase; text-decoration: none; cursor: pointer; box-shadow: none;
    transition: background .18s,color .18s,border-color .18s;
}
body.woocommerce .ksymena-vto-product-button.button::before {
    content: ''; display: block!important; flex: 0 0 22px; width: 22px; height: 22px;
    position: static!important; margin: 0!important; opacity: 1!important;
    background: currentColor; mask: url('../icons/fitting.svg') center/contain no-repeat;
    -webkit-mask: url('../icons/fitting.svg') center/contain no-repeat;
}
body.woocommerce .ksymena-vto-product-button.button::after {display: none!important; content: none!important;}
body.woocommerce .ksymena-vto-product-button.button:hover {background: #e9dfca!important; color: #4d3b20!important; border-color: #b59b65!important;}
body.woocommerce .ksymena-vto-product-button.button:focus-visible {outline: 3px solid #89691d; outline-offset: 4px;}
.ksymena-vto-dialog a.button {display: inline-flex; align-items: center; justify-content: center; background: #8a6b34!important; border: 1px solid #8a6b34!important; color: #fff!important; min-height: 50px; text-decoration: none;}
.ksymena-vto-dialog a.button::after {display: none!important;}
/* Square crown mark: use the full square artwork, not the cropped wordmark. */
body.ksymena-cart-page .wc-block-cart-item__image img[src*='ksymena-konsultacja-logo-k'],
body.ksymena-checkout-page .wc-block-components-order-summary-item__image img[src*='ksymena-konsultacja-logo-k'] {aspect-ratio: 1; width: 100%!important; height: auto!important; min-height: 0; padding: 0!important; object-fit: contain!important;}
.ksymena-vto-pack-art .ksymena-vto-pack-logo {width: 108px; height: 108px; margin: 5px 0 12px; border-radius: 3px;}
@media(max-width: 780px) {
    body.ksymena-vto-page:not(.woocommerce-account) #main-content > .container {width: calc(100% - 32px);}
    .ksymena-vto-landing {padding-top: 20px;}
    .ksymena-vto-landing .ksymena-vto-hero {gap: 24px; grid-template-columns: minmax(0,1.3fr) minmax(160px,.7fr);}
    .ksymena-vto-landing .ksymena-vto-preview, .ksymena-vto-landing .ksymena-vto-preview img {height: 240px;}
    .ksymena-vto-pack-art .ksymena-vto-pack-logo {width: 74px; height: 74px;}
}
@media(max-width: 600px) {
    .ksymena-vto-landing {padding: 22px 0 32px;}
    .ksymena-vto-landing .ksymena-vto-hero {grid-template-columns: 1fr; gap: 0;}
    .ksymena-vto-landing .ksymena-vto-hero h1 {font-size: 35px; line-height: 1.08; margin: 9px 0 12px;}
    .ksymena-vto-landing .ksymena-vto-lead {font-size: 13px; line-height: 1.7;}
    .ksymena-vto-landing .ksymena-vto-steps {grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 22px 0 18px;}
    .ksymena-vto-landing .ksymena-vto-steps > div {padding-top: 10px;}
    .ksymena-vto-landing .ksymena-vto-steps > div > span {float: none; display: block; margin: 0 0 7px; font-size: 11px;}
    .ksymena-vto-landing .ksymena-vto-steps h2 {font-size: 20px; margin: 0;}
    .ksymena-vto-landing .ksymena-vto-steps p {display: none;}
    .ksymena-vto-landing .ksymena-vto-wallet {padding: 20px; gap: 16px;}
    .ksymena-vto-wallet h2 {font-size: 28px;}
    .ksymena-vto-wallet .ksymena-vto-success-note {font-size: 13px;}
    .ksymena-vto-balance {padding-top: 15px; gap: 18px;}
    .ksymena-vto-balance strong {font-size: 56px;}
    .ksymena-vto-balance span {font-size: 11px;}
    body.woocommerce .ksymena-vto-product-button.button {width: 100%!important; min-width: 0; min-height: 52px; padding: 14px 18px!important; font-size: 12px!important;}
}
/* Matching portrait and full-body guides instead of font-dependent symbols. */
.ksymena-vto-landing .ksymena-vto-photo-frame {background: linear-gradient(145deg,#fffdf8,#f3ecdf);}
.ksymena-vto-landing .ksymena-vto-photo-outline {display: grid; place-items: center; width: 100%; height: 100%; font-size: 0;}
.ksymena-vto-landing .ksymena-vto-photo-frame .ksymena-vto-photo-icon {position: static; display: block; width: auto; height: 108px; max-width: 76%; max-height: 82%; object-fit: contain; border-radius: 0;}
.ksymena-vto-photo-frame:has([data-vto-photo-preview]:not([hidden])) .ksymena-vto-photo-outline {display: none;}
@media(max-width: 600px) {.ksymena-vto-landing .ksymena-vto-photo-frame .ksymena-vto-photo-icon {height: 92px;}}
