/* Sound Weekends — WordPress glue: anchors, forms, WooCommerce */

html{scroll-behavior:smooth}
.scroll{position:absolute;display:block;width:0;height:0;overflow:hidden;scroll-margin-top:130px}
@media(max-width:920px){.scroll{scroll-margin-top:20px}}

.sc__frame{display:block;border:0}

/* ---------- Contact Form 7 ---------- */
.wpcf7 form .wpcf7-response-output{margin:18px 0 0;padding:14px 16px;border:0;border-left:2px solid #14161A;
  background:#EFEDE9;font-size:13px;line-height:1.7;color:#23262B}
body .wpcf7 form.invalid .wpcf7-response-output,
body .wpcf7 form.unaccepted .wpcf7-response-output,
body .wpcf7 form.failed .wpcf7-response-output{border-left-color:#B3261E;background:#F7EDEC;color:#8C1D18}
body .wpcf7 form.sent .wpcf7-response-output{display:none}
/* Форми підписки не мають власного блоку «дякую», тому показуємо відповідь CF7. */
body .wpcf7 form.sent.fs__f .wpcf7-response-output,
body .wpcf7 form.sent.free__f .wpcf7-response-output{display:block;
  border-left-color:#198050;background:#EAF4EE;color:#14161A}
.wpcf7-spinner{display:none}
.wpcf7-not-valid{border-color:#B3261E !important}
.wpcf7-not-valid-tip{display:block;margin-top:7px;font-size:11.5px;letter-spacing:.02em;color:#B3261E}
.wpcf7-form-control-wrap{display:block}

.free__f .wpcf7-not-valid-tip,.fs__f .wpcf7-not-valid-tip{position:absolute;top:56px;left:0}
.free__f,.fs__f{position:relative}
.free .wpcf7 form .wpcf7-response-output{max-width:520px;margin:18px auto 0;text-align:left;
  border-left-color:rgba(255,255,255,.5);background:rgba(255,255,255,.08);color:rgba(255,255,255,.86)}
.free--lt .wpcf7 form .wpcf7-response-output{border-left-color:#14161A;background:#EFEDE9;color:#23262B}

.ct__f textarea{height:160px}
.ct__f.is-sent .ct__body{display:none}
.ct__f.is-sent .ct__ok{display:block}

/* CF7 inside the flex newsletter forms */
.free__f .wpcf7-form-control-wrap,.fs__f .wpcf7-form-control-wrap{flex:1;min-width:0}
.free__f input[type=email],.fs__f input[type=email]{width:100%}
.free__f input[type=submit]{flex:none;height:52px;padding:0 26px;border:0;background:#fff;color:#14161A;
  font:inherit;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.free--lt input[type=submit]{background:#14161A;color:#fff}
.fs__f input[type=submit]{flex:none;height:52px;padding:0 26px;border:0;background:#14161A;color:#fff;
  font:inherit;font-size:12px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.fs__f input[type=submit]:hover{background:#31353C}
.ct__f input[type=submit]{margin-top:8px;height:52px;padding:0 38px;border:0;background:#14161A;color:#fff;
  font:inherit;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.ct__f input[type=submit]:hover{background:#31353C}
@media(max-width:760px){.ct__f input[type=submit],.free__f input[type=submit]{width:100%;padding:0}}

/* ---------- WooCommerce notices ---------- */
.woocommerce-notices-wrapper{width:calc(100% - 88px);max-width:1240px;margin:26px auto 0}
.woocommerce-error,.woocommerce-message,.woocommerce-info{margin:0 0 14px;padding:14px 18px;list-style:none;
  border-left:2px solid #14161A;background:#EFEDE9;font-size:13px;line-height:1.7;color:#23262B}
.woocommerce-error{border-left-color:#B3261E;background:#F7EDEC;color:#8C1D18}
.woocommerce-error li,.woocommerce-message li{margin:0;padding:0}
.woocommerce-message a,.woocommerce-error a,.woocommerce-info a{border-bottom:1px solid currentColor}
@media(max-width:1240px){.woocommerce-notices-wrapper{width:calc(100% - 56px)}}
@media(max-width:760px){.woocommerce-notices-wrapper{width:calc(100% - 32px)}}

/* ---------- checkout: payment block ---------- */
.co .woocommerce-checkout-payment{padding:24px 22px 22px;border:1px solid #E6E4E0;background:#F8F7F5}
.co .wc_payment_methods{margin:0;padding:0;list-style:none}
.co .wc_payment_method{margin-bottom:12px}
.co .wc_payment_method>label{display:inline-flex;align-items:center;gap:9px;margin:0;font-size:13px;color:#14161A}
.co .wc_payment_method input[type=radio]{width:16px;height:16px;margin:0;accent-color:#14161A}
.co .wc_payment_method img{display:inline-block;max-height:24px;width:auto;margin-left:8px}
.co .payment_box{margin:14px 0 4px;padding:16px 0 0;border-top:1px solid #E6E4E0;font-size:12.5px;line-height:1.7;color:#6B6E74}
.co .payment_box p{margin:0 0 10px}
.co .woocommerce-terms-and-conditions-wrapper{display:block;margin-top:24px;font-size:12.5px;line-height:1.75;color:#3A3D42}
.co .woocommerce-terms-and-conditions-wrapper .form-row{display:flex;gap:11px;align-items:flex-start;margin:0}
.co .woocommerce-terms-and-conditions-wrapper .form-row{flex-wrap:wrap}
.co .woocommerce-terms-and-conditions-wrapper .checkout-inline-error-message{flex:0 0 100%;width:100%;
  margin:6px 0 0 28px}
.co .woocommerce-terms-and-conditions-wrapper input[type=checkbox]{width:17px;height:17px;flex:none;margin:2px 0 0;accent-color:#14161A}
.co .woocommerce-terms-and-conditions-wrapper label{margin:0}
.co .woocommerce-privacy-policy-text p{margin:0 0 12px;font-size:12px;line-height:1.7;color:#8A8D93}
.co #place_order{margin-top:22px;width:100%;height:58px;border:0;background:#14161A;color:#fff;font:inherit;
  font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.co #place_order:hover{background:#31353C}
.co .blockUI.blockOverlay{background:#fff !important;opacity:.6 !important}
.co abbr.required{border:0;text-decoration:none;color:#B3261E}
.co .woocommerce-invalid input,.co .woocommerce-invalid select{border-color:#B3261E}
.co .checkout-inline-error-message{margin:7px 0 0;font-size:11.5px;line-height:1.6;letter-spacing:.02em;color:#B3261E}
.co .woocommerce-invalid .select2-container--default .select2-selection--single{border-color:#B3261E}
.co .woocommerce-NoticeGroup .woocommerce-error{margin-bottom:26px}
.woocommerce-error a{border-bottom:0;text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;text-decoration-color:rgba(140,29,24,.45)}
.woocommerce-error a:hover{text-decoration-color:currentColor}
.co input:-webkit-autofill,.co input:-webkit-autofill:focus{-webkit-text-fill-color:#14161A;
  -webkit-box-shadow:0 0 0 60px #fff inset;box-shadow:0 0 0 60px #fff inset}
.co .wc-stripe-express-checkout-element,.co #wc-stripe-express-checkout-element{margin-bottom:8px}
.co .wc-stripe-express-checkout__separator,.co .wc-stripe-express-checkout-element-separator{display:none}
.co .co__code .button{white-space:nowrap}
.co form.checkout_coupon.co__code{display:grid !important}
.woocommerce-form-coupon-toggle{display:none}
.co .co__code .form-row{margin:0}
.co .woocommerce-remove-coupon{margin-left:10px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:#8A8D93;border-bottom:1px solid #C9C6C1}
.co .woocommerce-remove-coupon:hover{color:#14161A}

/* ---------- checkout: select2 = 1:1 like inputs ---------- */
.co .form-row{margin-bottom:18px}
.co .co__row .form-row{margin-bottom:0}
.co .co__row{margin-bottom:18px}
.co .co__step>*:last-child{margin-bottom:0}
.co .form-row:last-child{margin-bottom:0}
.co .woocommerce-input-wrapper{display:block;width:100%}
.co .select2-container{width:100% !important;display:block}
.co .select2-container--default .select2-selection--single{display:block;height:50px;padding:0 15px;
  border:1px solid #C9C6C1;border-radius:0;background:#fff;outline:0}
.co .select2-container--default .select2-selection--single .select2-selection__rendered{height:48px;
  padding:0;padding-right:24px;line-height:48px;color:#14161A;font-family:inherit;font-size:14px}
.co .select2-container--default .select2-selection--single .select2-selection__placeholder{color:#B4B1AC}
.co .select2-container--default .select2-selection--single .select2-selection__arrow{top:0;right:14px;
  width:11px;height:48px;background:none}
.co .select2-container--default .select2-selection--single .select2-selection__arrow b{display:none}
.co .select2-container--default .select2-selection--single .select2-selection__arrow::after{content:"";
  position:absolute;top:50%;left:0;width:8px;height:8px;margin-top:-6px;border:solid #14161A;
  border-width:0 1px 1px 0;transform:rotate(45deg)}
.co .select2-container--default.select2-container--open .select2-selection--single,
.co .select2-container--default.select2-container--focus .select2-selection--single{border-color:#14161A}
.co .select2-container--default.select2-container--open .select2-selection__arrow::after{margin-top:-2px;
  transform:rotate(-135deg)}
.co .woocommerce-invalid .select2-container--default .select2-selection--single{border-color:#B3261E}
.select2-dropdown{border:1px solid #14161A;border-radius:0;background:#fff}
.select2-container--default .select2-search--dropdown{padding:8px}
.select2-container--default .select2-search--dropdown .select2-search__field{height:40px;padding:0 12px;
  border:1px solid #C9C6C1;border-radius:0;font-family:inherit;font-size:14px;color:#14161A;outline:0}
.select2-container--default .select2-results__option{padding:9px 15px;font-family:inherit;font-size:14px;
  line-height:1.4;color:#14161A}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected]{background:#14161A;color:#fff}
.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option[data-selected=true]{background:#EFEDE9;color:#14161A}

/* ---------- empty cart ---------- */
.woocommerce .cart-empty,.woocommerce .wc-empty-cart-message,.woocommerce .return-to-shop{
  width:calc(100% - 88px);max-width:900px;margin:0 auto;padding:0;text-align:center}
.woocommerce .wc-empty-cart-message,.woocommerce .cart-empty{margin-top:72px;border:0;background:none;
  font-size:clamp(20px,2.4vw,28px);font-weight:300;line-height:1.3;color:#14161A}
.woocommerce .return-to-shop{margin:22px auto 96px}
.woocommerce .return-to-shop .button{display:inline-flex;align-items:center;height:52px;padding:0 26px;
  background:#14161A;color:#fff;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase}
.woocommerce .return-to-shop .button:hover{background:#31353C}
@media(max-width:1240px){.woocommerce .cart-empty,.woocommerce .wc-empty-cart-message,.woocommerce .return-to-shop{width:calc(100% - 56px)}}
@media(max-width:760px){.woocommerce .cart-empty,.woocommerce .wc-empty-cart-message,.woocommerce .return-to-shop{width:calc(100% - 32px)}}

/* ---------- order received ---------- */
.woocommerce-order{width:calc(100% - 88px);max-width:900px;margin:52px auto 96px}
.woocommerce-order p{margin:0 0 16px;font-size:15px;line-height:1.95;color:#3A3D42}
.woocommerce-order h2{margin:34px 0 16px;font-size:clamp(15px,1.5vw,19px);font-weight:400;color:#14161A}
.woocommerce-order ul,.woocommerce-order table{width:100%;margin:0 0 20px;font-size:14px;border-collapse:collapse}
.woocommerce-order table th,.woocommerce-order table td{padding:12px 14px;border:1px solid #E6E4E0;text-align:left;
  vertical-align:top;line-height:1.7;color:#3A3D42}
.woocommerce-order .woocommerce-order-overview{list-style:none;padding:0;display:grid;gap:10px}
.woocommerce-order .woocommerce-order-overview li{padding:12px 14px;border:1px solid #E6E4E0;font-size:13px}
.woocommerce-order a{border-bottom:1px solid #C9C6C1}
@media(max-width:1240px){.woocommerce-order{width:calc(100% - 56px)}}
@media(max-width:760px){.woocommerce-order{width:calc(100% - 32px)}}

/* ---------- inherited link resets ---------- */
.back__b,.cd__go,.xlib__in,.tell__lnk,.ci__t,.ci__ph{text-decoration:none}
.xlib__in,.tell__lnk,.ci__t,.ci__ph{color:inherit}
.tell__i a{color:inherit}
.lib__empty .tell__lnk{font:inherit}
.is-busy{opacity:.55;pointer-events:none}

/* ---------- checkout: Stripe UPE (знімаємо рамки браузерних fieldset + оверфлоу) ---------- */
.co #payment fieldset{margin:0;padding:0;border:0;min-width:0}
.co #payment fieldset:empty{display:none}
.co .wc-upe-form{position:relative;display:block}
.co #wc-stripe-hidden-style-input{left:0 !important;top:0 !important;width:100% !important;max-width:100%}
.co .wc-stripe-upe-element{margin:0}
.co #wc-stripe-upe-errors:empty{display:none}
.co #wc-stripe-upe-errors{margin-top:10px;font-size:11.5px;line-height:1.6;color:#B3261E}
.co .wc-stripe-payment-method-instruction{margin:0 0 14px;font-size:12px;line-height:1.7;color:#8A8D93}
.co .wc-stripe-payment-method-instruction a{border-bottom:1px solid #C9C6C1}
.co .wc-stripe-payment-method-instruction a:hover{color:#14161A;border-bottom-color:#14161A}
.co #wc-stripe-currency-selector:empty{display:none}
.co #payment .wc-saved-payment-methods{margin:0 0 14px;padding:0;list-style:none}
.co #payment .wc-saved-payment-methods li{margin:0 0 8px;font-size:12.5px}
.co #payment .wc-saved-payment-methods li:last-child{margin:0}
.co #payment .wc-saved-payment-methods input[type=radio]{width:16px;height:16px;margin:0 8px 0 0;accent-color:#14161A}
.co #payment input[type=checkbox]{width:17px;height:17px;flex:none;margin:0 9px 0 0;accent-color:#14161A}
.co #payment .woocommerce-SavedPaymentMethods-saveNew,.co #payment .form-row.woocommerce-SavedPaymentMethods-saveNew{display:flex;align-items:center;margin:12px 0 0;font-size:12.5px;color:#6B6E74}
.co #payment .woocommerce-SavedPaymentMethods-saveNew label{margin:0;display:inline-flex;align-items:center}
