/* =====================================================================
   Jill Magdalene — WooCommerce styles
   Built on the same tokens / type scale as styles.css
   ===================================================================== */

.jill-wc-content a, .jill-single-product a, .jill-shop a { color: var(--accent); text-decoration: none; transition: color .3s }
.jill-wc-content a:hover, .jill-single-product a:hover, .jill-shop a:hover { color: var(--fg) }
.product-card a.p-btn { color: var(--light) }
.product-card a.p-btn:hover { color: var(--bg) }

.jill-wc-page, .jill-shop, .jill-single-product { min-height: 70vh }
.jill-wc-page .shop-intro { margin-bottom: 48px }
.jill-wc-page .sec-rule { margin-bottom: 0 }
.jill-shop-desc p { font-family: 'Cormorant Garamond', serif; font-size: 21px; font-weight: 300; font-style: italic; color: var(--muted); line-height: 1.85 }

.jill-cart, .jill-checkout, .jill-account { background: var(--bg) }

/* ---------- headings inside WooCommerce content ---------- */
.woocommerce h2, .woocommerce h3,
.woocommerce-page .jill-wc-content h2, .woocommerce-page .jill-wc-content h3 {
    font-family: 'Cinzel', serif; font-weight: 600; color: var(--fg);
    font-size: 24px; letter-spacing: 1px; line-height: 1.3; margin-bottom: 24px;
}
.woocommerce-page .jill-wc-content p,
.woocommerce-page .woocommerce-MyAccount-content p {
    font-family: 'Cormorant Garamond', serif; font-size: 19px; line-height: 1.8; color: var(--silver); margin-bottom: 18px;
}
.woocommerce-page .jill-wc-content ul { list-style: none }
.woocommerce mark, .woocommerce-page mark { background: none; color: var(--accent) }

/* ---------- buttons ---------- */
.woocommerce .button, .woocommerce-page .button,
.woocommerce button.button, .woocommerce input.button,
.woocommerce-page button[type="submit"], .woocommerce #respond input#submit {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    padding: 16px 32px; background: transparent; border: 1px solid var(--border);
    font-family: 'Cinzel', serif; font-size: 15px; letter-spacing: 3px; line-height: 1.2;
    color: var(--light); text-transform: uppercase; text-decoration: none; cursor: pointer;
    position: relative; overflow: hidden; z-index: 1; transition: all .35s ease; border-radius: 0;
}
.woocommerce .button::before, .woocommerce-page .button::before,
.woocommerce-page button[type="submit"]::before, .woocommerce #respond input#submit::before {
    content: ''; position: absolute; inset: 0; background: var(--accent);
    transform: translateY(102%); transition: transform .35s ease; z-index: -1;
}
.woocommerce .button:hover, .woocommerce-page .button:hover,
.woocommerce-page button[type="submit"]:hover, .woocommerce #respond input#submit:hover {
    color: var(--bg); border-color: var(--accent);
}
.woocommerce .button:hover::before, .woocommerce-page .button:hover::before,
.woocommerce-page button[type="submit"]:hover::before { transform: translateY(0) }

/* primary actions: filled like the newsletter button */
.woocommerce .button.alt, .woocommerce-page .button.alt,
.woocommerce a.checkout-button, .woocommerce #place_order,
.woocommerce .single_add_to_cart_button {
    background: var(--accent); border-color: var(--accent); color: var(--bg); font-weight: 700;
}
.woocommerce .button.alt::before, .woocommerce a.checkout-button::before,
.woocommerce #place_order::before, .woocommerce .single_add_to_cart_button::before { background: var(--accent2) }
.woocommerce .button.alt:hover, .woocommerce a.checkout-button:hover,
.woocommerce #place_order:hover, .woocommerce .single_add_to_cart_button:hover { color: var(--bg); border-color: var(--accent2) }

.woocommerce .button:disabled, .woocommerce .button.disabled,
.woocommerce .button:disabled[disabled] { opacity: .45; cursor: not-allowed; pointer-events: none }
.woocommerce .button.loading { opacity: .6 }
.woocommerce .button.loading::after { content: '…'; }

/* ---------- notices ---------- */
.woocommerce-notices-wrapper:empty { display: none }
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.wc-block-components-notice-banner {
    list-style: none; position: relative;
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px;
    background: var(--surface); border: 1px solid var(--border); border-left: 2px solid var(--accent);
    padding: 22px 28px; margin: 0 0 32px; outline: none; justify-content: flex-start;
    font-family: 'Cormorant Garamond', serif; font-size: 19px; color: var(--fg); line-height: 1.6;
}
.woocommerce-error { border-left-color: #b4574a; flex-direction: column; align-items: flex-start }
.woocommerce-error li { list-style: none }
.woocommerce-message .button, .woocommerce-info .button { order: 2; margin-left: auto; padding: 10px 22px; font-size: 13px }
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button) { color: var(--accent) }
.woocommerce-info .showcoupon, .woocommerce-info .showlogin { margin-left: 6px }
.woocommerce-message::before { content: '✦'; color: var(--accent); margin-right: 4px }

/* ---------- form fields ---------- */
.woocommerce form .form-row, .woocommerce-page form .form-row { margin-bottom: 22px }
.woocommerce form .form-row label, .woocommerce-page form .form-row label,
.woocommerce-page .comment-form label, .woocommerce form label {
    display: block; font-family: 'Cinzel', serif; font-size: 13px; letter-spacing: 2.5px;
    text-transform: uppercase; color: var(--muted); margin-bottom: 10px; line-height: 1.5;
}
.woocommerce form .form-row label.checkbox, .woocommerce form label.woocommerce-form__label-for-checkbox,
.woocommerce-page form .form-row label.checkbox {
    display: inline-flex; align-items: center; gap: 12px; text-transform: none; letter-spacing: .5px;
    font-family: 'Cormorant Garamond', serif; font-size: 18px; color: var(--silver);
}
.woocommerce .required { color: var(--accent); text-decoration: none; border: 0 }
.woocommerce .optional { color: var(--muted); font-size: 11px; letter-spacing: 1px }

.woocommerce input.input-text, .woocommerce-page input.input-text,
.woocommerce textarea, .woocommerce-page textarea,
.woocommerce select, .woocommerce-page select,
.woocommerce input[type="email"], .woocommerce input[type="password"], .woocommerce input[type="text"],
.woocommerce input[type="tel"], .woocommerce input[type="number"],
.woocommerce-page .comment-form input[type="text"], .woocommerce-page .comment-form input[type="email"] {
    width: 100%; padding: 16px 20px; background: var(--bg); border: 1px solid var(--border); border-radius: 0;
    font-family: 'Cinzel', serif; font-size: 14px; letter-spacing: 1px; color: var(--fg);
    outline: none; transition: border-color .3s; -webkit-appearance: none; appearance: none; line-height: 1.4;
}
.woocommerce textarea { min-height: 130px; font-family: 'Cormorant Garamond', serif; font-size: 18px; letter-spacing: 0; resize: vertical }
.woocommerce select {
    background-image: linear-gradient(45deg, transparent 50%, var(--accent) 50%), linear-gradient(135deg, var(--accent) 50%, transparent 50%);
    background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 44px;
}
.woocommerce input:focus, .woocommerce textarea:focus, .woocommerce select:focus { border-color: var(--accent) }
.woocommerce input::placeholder, .woocommerce textarea::placeholder { color: var(--muted); opacity: .7 }
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select { border-color: #b4574a }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: rgba(200,184,154,.45) }
.woocommerce input[type="checkbox"], .woocommerce input[type="radio"] {
    width: 16px; height: 16px; accent-color: var(--accent); cursor: pointer; flex-shrink: 0;
}

.woocommerce .form-row-first, .woocommerce .form-row-last,
.woocommerce-page .form-row-first, .woocommerce-page .form-row-last { width: calc(50% - 10px); float: left }
.woocommerce .form-row-last, .woocommerce-page .form-row-last { float: right }
.woocommerce .form-row-wide, .woocommerce-page .form-row-wide { clear: both }
.woocommerce form::after, .woocommerce .woocommerce-billing-fields__field-wrapper::after,
.woocommerce .woocommerce-shipping-fields__field-wrapper::after,
.woocommerce .woocommerce-address-fields__field-wrapper::after { content: ''; display: table; clear: both }
.woocommerce form .show-password-input { display: none }
.woocommerce .password-input { display: block; position: relative }

/* select2 / selectWoo */
.select2-container .select2-selection--single {
    height: auto; min-height: 52px; background: var(--bg); border: 1px solid var(--border); border-radius: 0;
    display: flex; align-items: center;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--fg); padding: 14px 44px 14px 20px; line-height: 1.4;
    font-family: 'Cinzel', serif; font-size: 14px; letter-spacing: 1px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 100%; right: 12px }
.select2-container--default .select2-selection--single .select2-selection__arrow b { border-color: var(--accent) transparent transparent }
.select2-container--open .select2-selection--single { border-color: var(--accent) }
.select2-dropdown { background: var(--surface); border: 1px solid var(--accent); border-radius: 0; color: var(--fg) }
.select2-search--dropdown .select2-search__field {
    background: var(--bg); border: 1px solid var(--border) !important; color: var(--fg); padding: 10px 14px; outline: none;
}
.select2-results__option { font-family: 'Cinzel', serif; font-size: 13px; letter-spacing: 1px; padding: 10px 16px }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--accent); color: var(--bg) }
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[data-selected="true"] { background: var(--card); color: var(--fg) }

/* ---------- quantity ---------- */
.woocommerce .quantity { display: inline-flex }
.woocommerce .quantity .qty {
    width: 84px; text-align: center; padding: 15px 8px; -moz-appearance: textfield;
}
.woocommerce .quantity .qty::-webkit-inner-spin-button,
.woocommerce .quantity .qty::-webkit-outer-spin-button { opacity: 1 }

/* ---------- breadcrumb ---------- */
.jill-breadcrumb {
    font-family: 'Cinzel', serif; font-size: 13px; letter-spacing: 3px; text-transform: uppercase;
    color: var(--muted); margin-bottom: 48px;
}
.jill-breadcrumb a { color: var(--muted) }
.jill-breadcrumb a:hover { color: var(--accent) }
.jill-bc-sep { margin: 0 14px; color: var(--accent) }

/* ---------- shop archive ---------- */
.jill-shop .woocommerce-result-count {
    display: inline-block; font-family: 'Cinzel', serif; font-size: 14px; letter-spacing: 2px;
    text-transform: uppercase; color: var(--muted); margin: 14px 0 32px;
}
.jill-shop .woocommerce-ordering { float: right; margin-bottom: 32px }
.jill-shop .woocommerce-ordering select { min-width: 260px }
.jill-shop .products-grid, .related .products-grid, .upsells .products-grid, .cross-sells .products-grid { clear: both }
.woocommerce-pagination { margin-top: 56px }
.woocommerce-no-products-found .woocommerce-info { margin-top: 20px }

/* grids with fewer than 3 items: draw card borders instead of the grid background */
.products-grid.columns-3 { grid-template-columns: repeat(3, 1fr) }
.products-grid.products { background: transparent }
.products-grid.products .product-card { outline: 1px solid var(--border) }

/* ---------- single product ---------- */
.jill-single-product { background: var(--bg2); padding-top: 70px }
.jill-product-grid {
    display: grid; grid-template-columns: 1fr 1.15fr; gap: 90px; align-items: start; margin-bottom: 100px;
}
.jill-product-media { position: sticky; top: 120px }
.jill-pdp-img { aspect-ratio: 4/5; border: 1px solid var(--border) }
.jill-pdp-img .p3d-cover { width: 280px; height: 420px }
.jill-pdp-img .p3d-spine { left: -20px; width: 20px }
.jill-pdp-img .p3d-shadow { left: -20px; bottom: -26px; height: 26px }
.jill-pdp-img .ebook-device { transform: scale(1.6) }
.jill-pdp-img:hover .p3d { transform: perspective(700px) rotateY(-4deg) rotateX(1deg) scale(1.04) }
.jill-pdp-img::after {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(ellipse at 50% 100%, rgba(200,184,154,0.1) 0%, transparent 60%);
}
.jill-gallery { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap }
.jill-gallery img { width: 80px; height: 80px; object-fit: cover; border: 1px solid var(--border); display: block }

.jill-product-summary .sec-title { margin-bottom: 8px }
.jill-product-summary .p-author-sig { font-size: 30px; margin-bottom: 22px }
.jill-product-summary .sec-rule { margin-bottom: 36px }
.jill-pdp-price { justify-content: flex-start; gap: 28px; margin-bottom: 26px }
.jill-pdp-price .p-price { font-size: 38px }
.jill-product-summary .book-synopsis { margin-bottom: 6px }
.jill-product-summary .book-synopsis p { margin-bottom: 20px }
.jill-product-summary .p-formats { margin: 10px 0 34px }
.jill-product-summary .woocommerce-product-rating {
    display: flex; align-items: center; gap: 14px; margin-bottom: 18px;
    font-family: 'Cinzel', serif; font-size: 13px; letter-spacing: 2px; text-transform: uppercase;
}
.jill-product-summary .woocommerce-product-rating a { color: var(--muted) }

.jill-product-summary form.cart {
    display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; margin-bottom: 40px;
}
.jill-product-summary form.cart .single_add_to_cart_button { flex: 1; min-width: 220px; padding: 18px 32px; font-size: 16px; letter-spacing: 4px }
.jill-product-summary form.variations_form { display: block }
.jill-product-summary table.variations { width: 100%; margin-bottom: 20px; border-collapse: collapse }
.jill-product-summary table.variations th, .jill-product-summary table.variations td { padding: 8px 0; text-align: left; vertical-align: middle }
.jill-product-summary table.variations th label { margin: 0 }
.jill-product-summary .reset_variations { font-family: 'Cinzel', serif; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; margin-left: 12px }
.jill-product-summary .woocommerce-variation-add-to-cart { display: flex; gap: 12px; flex-wrap: wrap }
.jill-product-summary .woocommerce-variation-price { margin-bottom: 18px; font-family: 'Cinzel', serif; font-size: 26px; color: var(--accent) }
.jill-product-summary .stock {
    font-family: 'Cinzel', serif; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: var(--accent); margin-bottom: 16px;
}
.jill-product-summary .stock.out-of-stock { color: #b4574a }
.jill-product-summary .meta-table td:last-child a { color: var(--silver) }
.jill-product-summary .meta-table td:last-child a:hover { color: var(--accent) }

/* tabs */
.woocommerce-tabs { margin-bottom: 100px; border-top: 1px solid var(--border) }
.woocommerce-tabs ul.tabs {
    list-style: none; display: flex; gap: 44px; border-bottom: 1px solid var(--border); margin-bottom: 48px;
}
.woocommerce-tabs ul.tabs li a {
    display: block; padding: 26px 0 22px; position: relative;
    font-family: 'Cinzel', serif; font-size: 15px; letter-spacing: 3px; text-transform: uppercase; color: var(--muted);
}
.woocommerce-tabs ul.tabs li a::after {
    content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--accent);
    transform: scaleX(0); transform-origin: left; transition: transform .35s ease;
}
.woocommerce-tabs ul.tabs li.active a, .woocommerce-tabs ul.tabs li a:hover { color: var(--fg) }
.woocommerce-tabs ul.tabs li.active a::after { transform: scaleX(1) }
.woocommerce-tabs .panel { max-width: 860px }
.woocommerce-tabs .panel > h2:first-child { display: none }
.woocommerce-tabs .panel p, .woocommerce-tabs .panel li {
    font-family: 'Cormorant Garamond', serif; font-size: 21px; font-weight: 300; line-height: 2; color: var(--silver); margin-bottom: 24px;
}
.woocommerce-tabs .panel ul, .woocommerce-tabs .panel ol { margin: 0 0 24px 24px }

/* reviews */
#reviews .woocommerce-Reviews-title { display: block; font-size: 24px }
#reviews ol.commentlist { list-style: none; margin: 0 0 48px }
#reviews ol.commentlist li { padding: 26px 0; border-bottom: 1px solid var(--border) }
#reviews .comment_container { display: flex; gap: 20px }
#reviews .comment_container img.avatar { width: 56px; height: 56px; border-radius: 50%; border: 1px solid var(--border) }
#reviews .comment-text { flex: 1 }
#reviews .comment-text .meta { font-family: 'Cinzel', serif; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); margin: 6px 0 8px }
#reviews .comment-text .meta strong { color: var(--accent); font-weight: 400 }
#reviews .comment-text .description p { margin-bottom: 0; font-size: 19px }
#review_form_wrapper { background: var(--surface); border: 1px solid var(--border); padding: 40px }
#review_form .comment-reply-title { font-family: 'Cinzel', serif; font-size: 22px; color: var(--fg); display: block; margin-bottom: 20px }
#review_form .comment-form p { margin-bottom: 20px }
#review_form .comment-notes { font-size: 16px }
#review_form .form-submit { margin: 0 }

.star-rating {
    display: inline-block; position: relative; overflow: hidden; vertical-align: middle;
    font-size: 15px; line-height: 1; height: 1em; width: 5.6em; letter-spacing: .12em; font-family: serif;
}
.star-rating::before { content: '★★★★★'; position: absolute; top: 0; left: 0; color: var(--border) }
.star-rating span { position: absolute; top: 0; left: 0; height: 100%; overflow: hidden; padding-top: 1.5em }
.star-rating span::before { content: '★★★★★'; position: absolute; top: 0; left: 0; color: var(--accent) }
p.stars { margin-bottom: 20px }
p.stars span { display: inline-flex; gap: 4px }
p.stars a { position: relative; display: inline-block; width: 1.1em; height: 1.1em; overflow: hidden; text-indent: -999em; font-size: 24px }
p.stars a::before { content: '★'; position: absolute; left: 0; top: 0; text-indent: 0; color: var(--border); line-height: 1 }
p.stars:hover a::before { color: var(--accent) }
p.stars:hover a:hover ~ a::before { color: var(--border) }
p.stars.selected a.active::before, p.stars.selected a:not(.active)::before { color: var(--accent) }
p.stars.selected a.active ~ a::before { color: var(--border) }

/* related / upsells */
.related.products, .upsells.products, .cross-sells { margin-bottom: 40px }
.related.products > h2, .upsells.products > h2, .cross-sells > h2 {
    font-family: 'Cinzel', serif; font-size: 16px; font-weight: 400; letter-spacing: 6px; text-transform: uppercase;
    color: var(--accent); margin-bottom: 32px;
}

/* ---------- cart ---------- */
.woocommerce table.shop_table {
    width: 100%; border-collapse: collapse; border: 1px solid var(--border); background: var(--bg2); margin-bottom: 40px;
}
.woocommerce table.shop_table th {
    font-family: 'Cinzel', serif; font-size: 13px; font-weight: 400; letter-spacing: 3px; text-transform: uppercase;
    color: var(--muted); text-align: left; padding: 20px 24px; border-bottom: 1px solid var(--border); background: var(--surface);
}
.woocommerce table.shop_table td {
    padding: 22px 24px; border-bottom: 1px solid var(--border); vertical-align: middle;
    font-family: 'Cormorant Garamond', serif; font-size: 19px; color: var(--silver);
}
.woocommerce table.shop_table tr:last-child td { border-bottom: 0 }
.woocommerce table.shop_table .product-name a,
.woocommerce table.shop_table td.product-name {
    font-family: 'Cinzel', serif; font-size: 17px; font-weight: 600; color: var(--fg); letter-spacing: .5px;
}
.woocommerce table.shop_table .product-name a:hover { color: var(--accent) }
.woocommerce table.shop_table .product-name .variation,
.woocommerce table.shop_table .wc-item-meta { font-family: 'Cormorant Garamond', serif; font-size: 16px; font-weight: 400; color: var(--muted); margin-top: 6px }
.woocommerce table.shop_table .wc-item-meta { list-style: none }
.woocommerce table.shop_table .product-name .variation dt, .woocommerce table.shop_table .product-name .variation dd { display: inline; margin: 0 }
.woocommerce table.shop_table td.product-price, .woocommerce table.shop_table td.product-subtotal,
.woocommerce table.shop_table td.product-total, .woocommerce table.shop_table .amount {
    font-family: 'Cinzel', serif; color: var(--accent);
}
.woocommerce table.shop_table .product-thumbnail { width: 110px }
.woocommerce table.shop_table .product-thumbnail img {
    width: 64px; height: auto; display: block; box-shadow: -3px 3px 0 #040404, -6px 6px 16px rgba(0,0,0,.6); border-radius: 1px 3px 3px 1px;
}
.woocommerce table.shop_table .product-remove { width: 60px; text-align: center }
.woocommerce a.remove {
    display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px;
    border: 1px solid var(--border); border-radius: 50%; color: var(--muted) !important; font-size: 20px; line-height: 1; transition: all .3s;
}
.woocommerce a.remove:hover { border-color: #b4574a; color: #b4574a !important; background: rgba(180,87,74,.08) }
.woocommerce table.cart td.actions { background: var(--surface); padding: 22px 24px }
.woocommerce table.cart td.actions .coupon { display: inline-flex; gap: 0; float: left }
.woocommerce table.cart td.actions .coupon label { display: none }
.woocommerce table.cart td.actions .coupon .input-text { width: 240px; border-right: 0 }
.woocommerce table.cart td.actions > .button { float: right }
.woocommerce table.cart td.actions::after { content: ''; display: table; clear: both }

.cart-collaterals {
    display: grid; grid-template-columns: 1fr 480px; gap: 60px; align-items: start;
}
.cart-collaterals .cart_totals { grid-column: 2; background: var(--surface); border: 1px solid var(--border); padding: 40px }
.cart-collaterals .cross-sells { grid-column: 1; grid-row: 1 }
.cart_totals > h2, .woocommerce-checkout #order_review_heading {
    font-family: 'Cinzel', serif; font-size: 16px !important; font-weight: 400 !important; letter-spacing: 6px !important;
    text-transform: uppercase; color: var(--accent) !important; margin-bottom: 26px;
}
.cart_totals table.shop_table, #order_review table.shop_table { background: transparent; border: 0; margin-bottom: 28px }
.cart_totals table.shop_table th, .cart_totals table.shop_table td,
#order_review table.shop_table th, #order_review table.shop_table td {
    background: transparent; padding: 16px 0; border-bottom: 1px solid var(--border);
}
.cart_totals table.shop_table td, #order_review table.shop_table tfoot td,
#order_review table.shop_table .product-total { text-align: right }
.cart_totals table.shop_table .order-total th, .cart_totals table.shop_table .order-total td,
#order_review table.shop_table .order-total th, #order_review table.shop_table .order-total td { border-bottom: 0; padding-top: 22px }
.cart_totals .order-total .amount, #order_review .order-total .amount { font-size: 28px }
.cart_totals .includes_tax, .cart_totals small { font-size: 14px; color: var(--muted) }
.woocommerce-shipping-methods { list-style: none }
.woocommerce-shipping-methods li { display: flex; gap: 10px; align-items: center; justify-content: flex-end; margin-bottom: 6px }
.woocommerce-shipping-methods label { margin: 0 !important; text-transform: none !important; font-family: 'Cormorant Garamond', serif !important; font-size: 17px !important; letter-spacing: 0 !important }
.woocommerce-shipping-destination, .woocommerce-shipping-calculator { font-size: 15px; margin-top: 8px }
.shipping-calculator-button { font-family: 'Cinzel', serif; font-size: 12px; letter-spacing: 2px; text-transform: uppercase }
.shipping-calculator-form { margin-top: 16px; text-align: left }
.wc-proceed-to-checkout .checkout-button { width: 100%; padding: 20px; font-size: 16px; letter-spacing: 4px }

/* empty cart */
.cart-empty.woocommerce-info { font-family: 'Cormorant Garamond', serif; font-size: 22px; font-style: italic }
.return-to-shop { margin-top: 10px }

/* ---------- checkout ---------- */
.woocommerce-form-coupon-toggle, .woocommerce-form-login-toggle { margin-bottom: 0 }
form.checkout_coupon, form.woocommerce-form-login {
    background: var(--surface); border: 1px solid var(--border); padding: 32px; margin-bottom: 40px;
}
form.checkout_coupon { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-end }
form.checkout_coupon p:first-child { width: 100% }
form.checkout_coupon .form-row { float: none !important; width: auto !important; margin: 0 }
form.checkout_coupon .form-row-first { flex: 1 }

form.checkout.woocommerce-checkout::after { content: ''; display: table; clear: both }
form.checkout #customer_details { float: left; width: 54% }
form.checkout #order_review_heading, form.checkout #order_review { float: right; clear: right; width: 40% }
form.checkout #order_review_heading { background: var(--surface); border: 1px solid var(--border); border-bottom: 0; padding: 40px 40px 0; margin: 0 }
form.checkout #order_review { background: var(--surface); border: 1px solid var(--border); border-top: 0; padding: 18px 40px 40px }
.col2-set .col-1, .col2-set .col-2 { width: 100% }
#customer_details .col-2 { margin-top: 30px }
.woocommerce-billing-fields > h3, .woocommerce-shipping-fields > h3, .woocommerce-additional-fields > h3 {
    font-family: 'Cinzel', serif; font-size: 16px !important; font-weight: 400 !important; letter-spacing: 6px !important;
    text-transform: uppercase; color: var(--accent) !important; margin-bottom: 28px !important;
}
#ship-to-different-address label { display: inline-flex !important; align-items: center; gap: 12px; letter-spacing: 4px !important; font-size: 15px !important; color: var(--accent) !important }
#ship-to-different-address label span { font-family: 'Cinzel', serif }
#order_review table.shop_table thead th { color: var(--muted) }
#order_review table.shop_table .product-name { font-size: 15px }
#order_review .product-quantity { color: var(--muted); font-weight: 400 }

#payment ul.payment_methods { list-style: none; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 18px 0; margin-bottom: 24px }
#payment ul.payment_methods li { padding: 10px 0 }
#payment ul.payment_methods li > label {
    display: inline-flex !important; align-items: center; gap: 10px; margin: 0 0 0 8px !important;
    font-family: 'Cinzel', serif; font-size: 14px !important; letter-spacing: 2px; text-transform: uppercase; color: var(--fg) !important;
}
#payment ul.payment_methods li img { max-height: 24px; vertical-align: middle; margin-left: 6px }
#payment .payment_box {
    background: var(--bg); border: 1px solid var(--border); padding: 18px 22px; margin-top: 12px;
    font-family: 'Cormorant Garamond', serif; font-size: 17px; color: var(--silver); line-height: 1.7;
}
#payment .payment_box p { margin: 0; font-size: 17px }
#payment .place-order { margin: 0 }
#payment #place_order { width: 100%; padding: 20px; font-size: 16px; letter-spacing: 4px; margin-top: 10px }
.woocommerce-privacy-policy-text p, .woocommerce-terms-and-conditions-wrapper p { font-size: 15px !important; line-height: 1.7; color: var(--muted) !important }
.woocommerce-terms-and-conditions-wrapper .form-row { margin: 14px 0 }

/* thank you / order details */
.woocommerce-order .woocommerce-thankyou-order-received {
    font-family: 'Great Vibes', cursive !important; font-size: 44px !important; color: var(--accent) !important; margin-bottom: 30px !important; line-height: 1.3 !important;
}
ul.woocommerce-order-overview {
    list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 1px; background: var(--border); border: 1px solid var(--border); margin-bottom: 56px;
}
ul.woocommerce-order-overview li {
    background: var(--bg2); padding: 26px 22px; font-family: 'Cinzel', serif; font-size: 12px; letter-spacing: 3px; text-transform: uppercase; color: var(--muted);
}
ul.woocommerce-order-overview li strong {
    display: block; margin-top: 10px; font-size: 17px; letter-spacing: 1px; text-transform: none; color: var(--accent); font-weight: 400;
}
.woocommerce-order-details, .woocommerce-customer-details { margin-bottom: 56px }
.woocommerce-order-details__title, .woocommerce-column__title, .woocommerce-customer-details h2 {
    font-family: 'Cinzel', serif; font-size: 16px !important; font-weight: 400 !important; letter-spacing: 6px !important;
    text-transform: uppercase; color: var(--accent) !important;
}
.woocommerce-order-details table.shop_table tfoot th { text-align: left }
.woocommerce-order-details table.shop_table tfoot td { text-align: right }
.woocommerce-customer-details .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 40px }
.woocommerce-customer-details address, .woocommerce-MyAccount-content address {
    font-style: normal; font-family: 'Cormorant Garamond', serif; font-size: 19px; line-height: 1.8; color: var(--silver);
    background: var(--surface); border: 1px solid var(--border); padding: 28px 32px;
}
.woocommerce-customer-details address p { margin: 8px 0 0 !important }

/* ---------- my account ---------- */
.woocommerce-account .jill-wc-content > .woocommerce { display: grid; grid-template-columns: 280px 1fr; gap: 70px; align-items: start }
.woocommerce-account .jill-wc-content > .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-account .jill-wc-content > .woocommerce > .u-columns,
.woocommerce-account .jill-wc-content > .woocommerce > form,
.woocommerce-account .jill-wc-content > .woocommerce > h2,
.woocommerce-account .jill-wc-content > .woocommerce > .woocommerce-info,
.woocommerce-account .jill-wc-content > .woocommerce > .woocommerce-message,
.woocommerce-account .jill-wc-content > .woocommerce > .woocommerce-error { grid-column: 1 / -1 }
.woocommerce-MyAccount-navigation ul { list-style: none; border: 1px solid var(--border); background: var(--bg2) }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--border) }
.woocommerce-MyAccount-navigation li:last-child { border-bottom: 0 }
.woocommerce-MyAccount-navigation li a {
    display: block; padding: 18px 24px; font-family: 'Cinzel', serif; font-size: 13px; letter-spacing: 3px; text-transform: uppercase;
    color: var(--light) !important; transition: all .3s; border-left: 2px solid transparent;
}
.woocommerce-MyAccount-navigation li a:hover { background: var(--surface); color: var(--fg) !important; padding-left: 30px }
.woocommerce-MyAccount-navigation li.is-active a { border-left-color: var(--accent); color: var(--accent) !important; background: var(--surface) }
.woocommerce-MyAccount-content > p:first-child { font-size: 21px }
.woocommerce-MyAccount-content table.shop_table .button { padding: 10px 18px; font-size: 12px; margin: 2px }
.woocommerce-MyAccount-content .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 20px }
.woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 14px }
.woocommerce-Address-title h2, .woocommerce-Address-title h3 { font-size: 18px !important; margin: 0 !important }
.woocommerce-Address-title .edit { font-family: 'Cinzel', serif; font-size: 12px; letter-spacing: 2px; text-transform: uppercase }
.woocommerce-MyAccount-content fieldset { border: 1px solid var(--border); padding: 28px; margin: 30px 0 }
.woocommerce-MyAccount-content legend { font-family: 'Cinzel', serif; letter-spacing: 3px; text-transform: uppercase; font-size: 14px; color: var(--accent); padding: 0 10px }
.woocommerce-MyAccount-content .woocommerce-pagination { display: flex; gap: 12px }

/* login / register */
.woocommerce .u-columns.col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: var(--border); border: 1px solid var(--border) }
.woocommerce .u-columns .u-column1, .woocommerce .u-columns .u-column2 { background: var(--bg2); padding: 48px }
.woocommerce .u-columns h2 {
    font-family: 'Great Vibes', cursive; font-size: 48px; font-weight: 400; color: var(--accent); letter-spacing: 0; margin-bottom: 22px;
}
form.woocommerce-form-login .woocommerce-form-login__rememberme { margin: 0 0 16px }
form.woocommerce-form-login .button, form.woocommerce-form-register .button { width: 100% }
.woocommerce-LostPassword { margin-top: 16px; font-size: 16px }
.woocommerce-LostPassword a { font-family: 'Cinzel', serif; font-size: 12px; letter-spacing: 2px; text-transform: uppercase }
.woocommerce-account .u-columns form.woocommerce-form-login { background: none; border: 0; padding: 0; margin: 0 }
form.woocommerce-ResetPassword, form.lost_reset_password { max-width: 560px }

/* ---------- blockUI overlay ---------- */
.blockUI.blockOverlay { background: var(--bg) !important; opacity: .55 !important }
.woocommerce .processing { position: relative }

/* ---------- WooCommerce pages: tablet / mobile ---------- */
@media (max-width: 1100px) {
    .cart-collaterals { grid-template-columns: 1fr }
    .cart-collaterals .cart_totals, .cart-collaterals .cross-sells { grid-column: 1; grid-row: auto }
    form.checkout #customer_details, form.checkout #order_review_heading, form.checkout #order_review { float: none; width: 100% }
    form.checkout #order_review_heading { margin-top: 40px }
    .jill-product-grid { grid-template-columns: 1fr; gap: 56px }
    .jill-product-media { position: static }
}
@media (max-width: 900px) {
    .jill-wc-page.section-wrap, .jill-shop.section-wrap, .jill-single-product.section-wrap { padding: 70px 24px }
    .woocommerce-page .products-grid { grid-template-columns: 1fr 1fr }
    .woocommerce-account .jill-wc-content > .woocommerce { grid-template-columns: 1fr; gap: 36px }
    .woocommerce .u-columns.col2-set, .woocommerce-customer-details .col2-set,
    .woocommerce-MyAccount-content .woocommerce-Addresses { grid-template-columns: 1fr }
    .woocommerce .u-columns .u-column1, .woocommerce .u-columns .u-column2 { padding: 32px 24px }
    .woocommerce .sec-title { font-size: 40px }
    .jill-shop .woocommerce-ordering { float: none }
}
@media (max-width: 700px) {
    .woocommerce-page .products-grid { grid-template-columns: 1fr }
    .woocommerce .form-row-first, .woocommerce .form-row-last { width: 100%; float: none }
    /* stacked cart table */
    .woocommerce table.shop_table_responsive thead { display: none }
    .woocommerce table.shop_table_responsive tr { display: block; border-bottom: 1px solid var(--border) }
    .woocommerce table.shop_table_responsive td { display: flex; justify-content: space-between; align-items: center; text-align: right; border: 0; padding: 12px 18px }
    .woocommerce table.shop_table_responsive td::before { content: attr(data-title); font-family: 'Cinzel', serif; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); margin-right: 12px }
    .woocommerce table.shop_table_responsive td.product-remove::before, .woocommerce table.shop_table_responsive td.actions::before,
    .woocommerce table.shop_table_responsive td.product-thumbnail::before { display: none }
    .woocommerce table.shop_table_responsive td.product-thumbnail { justify-content: center; width: auto }
    .woocommerce table.cart td.actions { display: block }
    .woocommerce table.cart td.actions .coupon { float: none; width: 100%; margin-bottom: 12px }
    .woocommerce table.cart td.actions .coupon .input-text { width: 100% }
    .woocommerce table.cart td.actions > .button { float: none; width: 100% }
    .cart-collaterals .cart_totals, form.checkout #order_review, form.checkout #order_review_heading, #review_form_wrapper { padding-left: 22px; padding-right: 22px }
    .woocommerce-tabs ul.tabs { gap: 22px; overflow-x: auto }
}

.woocommerce-order-details table.shop_table tfoot th,
.woocommerce-table--order-details tfoot th { background: transparent }

/* =====================================================================
   Light theme — inner pages (the home page keeps the original look)
   ===================================================================== */
[data-theme="light"] body:not(.home) .product-badge {
    background: var(--fg); color: #f5f0e8; border-color: var(--fg);
}
[data-theme="light"] body:not(.home) .product-img-area::after {
    background: radial-gradient(ellipse at 50% 100%, rgba(122,92,56,0.10) 0%, transparent 60%);
}
[data-theme="light"] body:not(.home) .p3d-cover {
    box-shadow: -4px 4px 0 #2a2a2a, -8px 8px 0 #1a1a1a, -14px 14px 28px rgba(0,0,0,0.28);
}
[data-theme="light"] body:not(.home) .p3d-shadow { background: radial-gradient(ellipse at 45% 0, rgba(0,0,0,0.25) 0%, transparent 70%) }
[data-theme="light"] body:not(.home) .ebook-reader { box-shadow: 0 18px 40px rgba(0,0,0,0.25) }

/* readable secondary text */
[data-theme="light"] body:not(.home) .meta-table td:first-child,
[data-theme="light"] body:not(.home) .p-pages,
[data-theme="light"] body:not(.home) .pfmt,
[data-theme="light"] body:not(.home) .jill-breadcrumb,
[data-theme="light"] body:not(.home) .jill-breadcrumb a,
[data-theme="light"] body:not(.home) .woocommerce-tabs ul.tabs li a,
[data-theme="light"] body:not(.home) .woocommerce-result-count,
[data-theme="light"] body:not(.home) form .form-row label,
[data-theme="light"] body:not(.home) table.shop_table th,
[data-theme="light"] body:not(.home) .woocommerce-MyAccount-navigation li a { color: var(--light) }
[data-theme="light"] body:not(.home) .pfmt.on, [data-theme="light"] body:not(.home) .pfmt:hover { color: var(--accent) }
[data-theme="light"] body:not(.home) .woocommerce-tabs ul.tabs li.active a { color: var(--fg) }
[data-theme="light"] body:not(.home) .meta-table td:last-child,
[data-theme="light"] body:not(.home) .book-synopsis p,
[data-theme="light"] body:not(.home) .woocommerce-tabs .panel p { color: #3a3a3a }
[data-theme="light"] body:not(.home) .meta-table tr:hover { background: transparent }
[data-theme="light"] body:not(.home) .p-btn,
[data-theme="light"] body:not(.home) :is(.woocommerce, .jill-single-product) .button:not(.alt):not(.checkout-button):not(#place_order):not(.single_add_to_cart_button) { color: var(--fg); border-color: #b5ab98 }
[data-theme="light"] body:not(.home) .product-card a.p-btn:hover { color: #f5f0e8 }

/* fields */
[data-theme="light"] body:not(.home) :is(.woocommerce, .jill-single-product) input.input-text,
[data-theme="light"] body:not(.home) :is(.woocommerce, .jill-single-product) textarea,
[data-theme="light"] body:not(.home) :is(.woocommerce, .jill-single-product) select,
[data-theme="light"] body:not(.home) :is(.woocommerce, .jill-single-product) .quantity .qty,
[data-theme="light"] body:not(.home) .select2-container .select2-selection--single { background: #fbf8f2; border-color: #b5ab98; color: var(--fg) }

/* filled buttons: light text on brown */
[data-theme="light"] body:not(.home) :is(.woocommerce, .jill-single-product) .button.alt,
[data-theme="light"] body:not(.home) :is(.woocommerce, .jill-single-product) a.checkout-button,
[data-theme="light"] body:not(.home) :is(.woocommerce, .jill-single-product) #place_order,
[data-theme="light"] body:not(.home) :is(.woocommerce, .jill-single-product) .single_add_to_cart_button { color: #f5f0e8 }
[data-theme="light"] body:not(.home) .nav-cart-count { color: #f5f0e8 }
[data-theme="light"] body:not(.home) .pfmt { border-color: #b5ab98 }
