/* Elements the theme bundle used to reveal or hide. */
.sticky-atc[data-after-scroll="true"].is-visible { transform: none; }
.header__icon--search, .header__search, details-modal { display: none !important; }

.store-lightbox { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(0, 0, 0, .88); cursor: zoom-out; }
.store-lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; }

/* Checkout and thank-you pages */
.co { padding-top: 40px; padding-bottom: 64px; }
.co-title { margin: 0 0 8px; font-size: 3.2rem; }
.co-sub { margin: 0 0 28px; font-size: 1.5rem; }
.co h2 { margin: 24px 0 12px; font-size: 1.8rem; }
.co h2:first-child { margin-top: 0; }
.co-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 40px; align-items: start; }
.co-field { margin-bottom: 14px; }
.co-field label { display: block; margin-bottom: 4px; font-size: 1.4rem; font-weight: 600; }
.co-field input, .co-field textarea { width: 100%; padding: 12px 14px; font: inherit; font-size: 1.6rem; color: inherit; background: #fff; border: 1px solid #c9ced6; border-radius: 8px; }
.co-field--error input { border-color: #eb141f; }
.co-error { margin: 4px 0 0; font-size: 1.3rem; color: #c8101a; }

.co-summary { padding: 24px; background: #f6f7f9; border-radius: 12px; font-size: 1.5rem; }
.co-product { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; line-height: 1.3; }
.co-product img { flex: none; border-radius: 8px; object-fit: cover; }
.co-tiers { display: grid; gap: 8px; margin-bottom: 12px; }
.co-tier { display: flex; align-items: center; gap: 10px; padding: 12px; background: #fff; border: 2px solid #e4e9ef; border-radius: 10px; cursor: pointer; }
.co-tier:has(input:checked) { border-color: #eb141f; }
.co-tier span { flex: 1; }
.co-tier input { accent-color: #eb141f; }
.co-tier s { color: #7b8390; font-size: 1.3rem; }
.co-gift { margin: 10px 0 0; font-weight: 600; color: #c8101a; }
.co-row { display: flex; justify-content: space-between; padding: 8px 0; }
.co-total { margin-top: 8px; border-top: 1px solid #dfe3e8; padding-top: 12px; font-size: 2rem; font-weight: 700; }
.co-submit { width: 100%; margin-top: 16px; text-decoration: none; }

.co-thanks { max-width: 560px; text-align: center; }
.co-check { width: 64px; height: 64px; margin: 0 auto 16px; border-radius: 50%; background: #1a9a4b; color: #fff; font-size: 3.2rem; line-height: 64px; }
.co-thanks__box { margin-bottom: 8px; text-align: left; }

@media (max-width: 800px) {
    .co-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .co-summary { padding: 16px; }
}

/* Contact and tracking */
.center { text-align: center; }
.contact-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-bottom: 28px; }
.contact-card { display: block; padding: 16px 18px; background: #f6f7f9; border-radius: 12px; color: inherit; text-decoration: none; font-size: 1.5rem; overflow-wrap: anywhere; }
.contact-card span { display: block; font-size: 1.3rem; color: #68707d; }
.contact-card:hover { background: #eef0f3; }
.co-notice { margin: 0 0 20px; padding: 12px 16px; background: #e8f6ed; border-radius: 10px; font-size: 1.5rem; }
.co-notice--error { background: #fdecec; margin-top: 20px; }
.track-result { margin-top: 28px; padding: 20px 24px; background: #f6f7f9; border-radius: 12px; font-size: 1.5rem; }
.track-steps { list-style: none; margin: 12px 0 0; padding: 0; }
.track-steps li { position: relative; padding: 0 0 20px 28px; color: #8a919c; }
.track-steps li:last-child { padding-bottom: 0; }
.track-steps li::before { content: ""; position: absolute; left: 0; top: 5px; width: 12px; height: 12px; border-radius: 50%; background: #d3d7dd; }
.track-steps li:not(:last-child)::after { content: ""; position: absolute; left: 5px; top: 20px; bottom: -2px; width: 2px; background: #d3d7dd; }
.track-steps li.is-done { color: inherit; }
.track-steps li.is-done::before { background: #1a9a4b; }
.track-steps li.is-current::before { box-shadow: 0 0 0 4px rgba(26, 154, 75, .2); }
.track-steps span { display: block; font-size: 1.4rem; color: #68707d; }

/* Policies: the original got these styles from Shopify */
.shopify-policy__container { max-width: 760px; margin: 0 auto; padding: 36px 16px 64px; }
.shopify-policy__title h1 { margin: 0 0 24px; text-align: center; }
.shopify-policy__body { overflow-wrap: anywhere; }
.store-page .rte p a, .store-page .rte li a { color: #c8101a; text-decoration: underline; }

/* Footer: logo, about, links and support in one row on desktop */
@media (min-width: 990px) {
    .footer__blocks-wrapper.grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 40px; row-gap: 0; margin-left: 0; }
    .footer__blocks-wrapper.grid > .footer-block { width: auto; max-width: none; margin: 0; padding: 0; }
}

/* Language switch */
.ba-lang { display: inline-flex; align-items: center; padding: 0 10px; font-size: 1.3rem; font-weight: 700; letter-spacing: .05em; color: #fff; text-decoration: none; }
.ba-lang:hover { text-decoration: underline; }

/* Policies hub */
.ba-policies { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.ba-policy { display: flex; flex-direction: column; gap: 6px; padding: 22px; background: #f6f7f9; border: 1px solid #e4e7ec; border-radius: 14px; color: inherit; text-decoration: none; font-size: 1.4rem; }
.ba-policy:hover { background: #eef0f3; }
.ba-policy strong { font-size: 1.7rem; }
.ba-policy em { margin-top: 6px; font-style: normal; font-weight: 700; color: #c8101a; }
.ba-policy__icon { font-size: 2.6rem; line-height: 1; }

.shopify-policy__body h1 { margin: 0 0 24px; text-align: center; }

/* Checkout */
.woocommerce-checkout .co { padding-top: 32px; }
.woocommerce-checkout .co > .woocommerce { font-size: 1.5rem; }
.ba-co__title { margin: 0 0 24px; font-size: 3.2rem; }
.ba-co { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 32px; align-items: start; }
.ba-co__main { display: grid; gap: 16px; min-width: 0; }
.ba-co__side { position: sticky; top: 16px; min-width: 0; }

.ba-step, .ba-card { padding: 24px; background: #fff; border: 1px solid #e6e8ec; border-radius: 16px; }
.ba-step__title { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; font-size: 1.9rem; }
.ba-step__title span { display: grid; place-items: center; flex: none; width: 28px; height: 28px; font-size: 1.4rem; color: #fff; background: #111; border-radius: 50%; }
.ba-card__title { margin: 0 0 16px; font-size: 1.9rem; }

.ba-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ba-fields .form-row { grid-column: 1 / -1; width: auto; float: none; margin: 0; padding: 0; }
.ba-fields .form-row-first { grid-column: 1; }
.ba-fields .form-row-last { grid-column: 2; }
.ba-fields::before, .ba-fields::after { display: none; }
#billing_country_field { display: none; }
.ba-fields .woocommerce-input-wrapper { display: block; width: 100%; }
.ba-fields label { display: block; margin-bottom: 5px; font-size: 1.35rem; font-weight: 600; line-height: 1.4; }
.ba-fields label .optional { font-weight: 400; color: #7b8390; }
.ba-fields abbr.required { color: #eb141f; text-decoration: none; }

/* Delivery cards */
.ba-rates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ba-rate { position: relative; display: flex; gap: 10px; align-items: flex-start; padding: 14px; border: 2px solid #e6e8ec; border-radius: 12px; cursor: pointer; transition: border-color .15s, background .15s; }
.ba-rate:hover { border-color: #c4c8cf; }
.ba-rate:has(input:checked) { border-color: #eb141f; background: #fff7f7; }
.ba-rate input { flex: none; margin: 3px 0 0; accent-color: #eb141f; }
.ba-rate__body { flex: 1; min-width: 0; line-height: 1.3; }
.ba-rate__body strong { display: block; font-size: 1.45rem; }
.ba-rate__body small { display: block; margin-top: 3px; font-size: 1.25rem; color: #6b7280; }
.ba-free { font-weight: 700; font-size: 1.3rem; color: #16823f; white-space: nowrap; }

/* The DHL plugin's row, reset from a table row into a panel */
table.ba-point, table.ba-point tbody { display: block; margin: 0; border: 0; }
table.ba-point tr { display: block; margin-top: 12px; padding: 16px; background: #f7f8fa; border: 2px solid transparent; border-radius: 12px; transition: border-color .2s, box-shadow .2s; }
table.ba-point:not(:has(tr)) { display: none; }
table.ba-point th, table.ba-point td { display: block; padding: 0; background: none; border: 0; text-align: left; }
table.ba-point th { margin-bottom: 4px; font-size: 1.3rem; font-weight: 600; color: #6b7280; }
table.ba-point td { font-size: 0; } /* hides the plugin's literal brackets around the link */
.js--dhl-polska-point-name-text { display: block; font-size: 1.45rem; font-weight: 600; line-height: 1.45; }
a.js--choose-point-dhl-polska { display: block; margin-top: 12px; padding: 12px; font-size: 1.5rem; font-weight: 700; line-height: 1.3; color: #fff; text-align: center; text-decoration: none; background: #eb141f; border-radius: 10px; }
a.js--choose-point-dhl-polska:hover { color: #fff; background: #c8101a; }
table.ba-point tr.has-point a.js--choose-point-dhl-polska { color: #111; background: #fff; border: 1px solid #d3d7dd; }
table.ba-point tr.has-point a.js--choose-point-dhl-polska:hover { background: #f1f2f4; }
table.ba-point tr.ba-point-missing { border-color: #eb141f; box-shadow: 0 0 0 4px rgba(235, 20, 31, .12); }

/* Order card */
.ba-picker { display: grid; gap: 8px; margin-bottom: 16px; }
.ba-picker .co-tier { padding: 11px 12px; font-size: 1.4rem; border-radius: 12px; }
.ba-picker .co-gift { margin: 2px 0 0; font-size: 1.3rem; }
.ba-review { padding: 14px 0 0; border-top: 1px solid #eceef1; }
.ba-review__row { display: flex; justify-content: space-between; gap: 16px; padding: 4px 0; }
.ba-review__row--sub { font-size: 1.35rem; color: #4b5563; }
.ba-review__row--sub > span:last-child { flex: none; }
.ba-review__total { margin-top: 8px; padding-top: 12px; font-size: 2.1rem; font-weight: 700; border-top: 1px solid #eceef1; }

.woocommerce-checkout #payment { margin-top: 16px; background: none; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { margin: 0; padding: 12px 14px; list-style: none; background: #f7f8fa; border: 0; border-radius: 12px; }
.woocommerce-checkout #payment ul.payment_methods li { margin: 0; padding: 0; font-size: 1.4rem; font-weight: 600; line-height: 1.4; }
.woocommerce-checkout #payment ul.payment_methods li input { display: none; }
.woocommerce-checkout #payment ul.payment_methods li label { margin: 0; }
.woocommerce-checkout #payment div.payment_box { margin: 2px 0 0; padding: 0; font-size: 1.25rem; font-weight: 400; color: #6b7280; background: none; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment div.payment_box p { margin: 0; }
.woocommerce-checkout #payment div.form-row.place-order { margin: 0; padding: 12px 0 0; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 1.2rem; line-height: 1.45; color: #6b7280; }
.woocommerce-checkout .woocommerce-privacy-policy-text p { margin: 0 0 10px; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row { margin: 0 0 12px; padding: 0; }
.woocommerce-checkout .woocommerce-form__label-for-checkbox { display: flex; gap: 8px; align-items: flex-start; font-size: 1.25rem; font-weight: 400; color: #374151; }
.woocommerce-checkout .woocommerce-form__label-for-checkbox input { flex: none; margin: 2px 0 0; accent-color: #eb141f; }
.woocommerce-checkout #place_order { float: none; width: 100%; padding: 16px; font-size: 1.6rem; font-weight: 700; line-height: 1.25; color: #fff; background: #eb141f; border: 0; border-radius: 12px; cursor: pointer; transition: background .15s; }
.woocommerce-checkout #place_order:hover { background: #c8101a; }

.woocommerce-checkout .woocommerce-NoticeGroup { margin-bottom: 16px; }
.woocommerce-checkout .woocommerce-error { margin: 0; padding: 14px 16px 14px 44px; font-size: 1.4rem; color: #a11219; background: #fdecec; border: 0; border-radius: 12px; }
.woocommerce-checkout .woocommerce-error::before { top: 14px; left: 16px; color: #a11219; }

@media (max-width: 990px) {
    .ba-co { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .ba-co__side { position: static; }
}
@media (max-width: 600px) {
    .ba-co__title { margin-bottom: 16px; font-size: 2.6rem; }
    .ba-step, .ba-card { padding: 16px; }
    .ba-rates { grid-template-columns: minmax(0, 1fr); }
}

/* Inputs: same look as the bundle and delivery cards. The long selectors outrank woocommerce.css. */
.woocommerce form .ba-fields .form-row .input-text,
.co-field input, .co-field textarea {
    display: block; width: 100%; min-height: 50px; padding: 12px 16px; font: inherit; font-size: 1.5rem; line-height: 1.4; color: #111; background: #fff;
    border: 2px solid #e6e8ec; border-radius: 12px; outline: none; box-shadow: none; transition: border-color .15s, box-shadow .15s, background .15s;
}
.woocommerce form .ba-fields .form-row textarea.input-text, .co-field textarea { min-height: 96px; resize: vertical; }
.woocommerce form .ba-fields .form-row .input-text::placeholder, .co-field input::placeholder, .co-field textarea::placeholder { color: #9aa1ac; opacity: 1; }
.woocommerce form .ba-fields .form-row .input-text:hover, .co-field input:hover, .co-field textarea:hover { border-color: #c4c8cf; }
.woocommerce form .ba-fields .form-row .input-text:focus, .co-field input:focus, .co-field textarea:focus { border-color: #eb141f; background: #fff7f7; box-shadow: 0 0 0 3px rgba(235, 20, 31, .12); }
.woocommerce form .ba-fields .form-row.woocommerce-validated .input-text:not(:focus):not(:hover) { border-color: #e6e8ec; }
.woocommerce form .ba-fields .form-row.woocommerce-invalid .input-text, .co-field--error input, .co-field--error textarea { border-color: #eb141f; }
.co-field label { margin-bottom: 5px; font-size: 1.35rem; }
.woocommerce form .ba-fields .form-row-first, .woocommerce form .ba-fields .form-row-last, .woocommerce form .ba-fields .form-row-wide { width: auto; float: none; margin: 0; padding: 0; }
@media (max-width: 480px) {
    .woocommerce form .ba-fields .form-row-first, .woocommerce form .ba-fields .form-row-last { grid-column: 1 / -1; }
}
/* The popup is printed inside the panel whose font-size is 0 */
#dhl_polska_popup > a.js--popup-close-button { font-size: 1.6rem; font-weight: 700; line-height: 1.4; text-decoration: none; }
/* The map takes several seconds to load: show that something is happening behind it */
#dhl_polska_map { border-radius: 12px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Ccircle cx='25' cy='25' r='20' fill='none' stroke='%23e6e8ec' stroke-width='5'/%3E%3Cpath d='M25 5a20 20 0 0 1 20 20' fill='none' stroke='%23eb141f' stroke-width='5' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 25 25' to='360 25 25' dur='.9s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E") center / 48px no-repeat; }
