/* Yes Reflex: checkout, order received and My account (WooCommerce's own CSS is switched off). */

.yr-page .top .help{font-size:14px;color:var(--muted)}
.yr-page .top .help a{color:var(--ink);font-weight:500}
.yr-shop main{padding:48px 0 88px}
.yr-shop main > .yr-wrap > h1{font-size:clamp(30px,4vw,42px);margin-bottom:28px}

/* ---------- shared form controls ---------- */
.woocommerce form .form-row{margin:0 0 16px;padding:0}
.woocommerce form .form-row label{display:block;font-size:14px;font-weight:700;margin-bottom:6px}
.woocommerce form .form-row .required{color:var(--accent);text-decoration:none;border:0}
.woocommerce form .form-row .optional{display:none}
.woocommerce input.input-text,.woocommerce select,.woocommerce textarea,.woocommerce form .form-row input[type=password],.woocommerce form .form-row input[type=email]{
  width:100%;font:400 17px/1.3 var(--sans);color:var(--ink);background:#fff;border:1.5px solid #d9cbbb;border-radius:6px;padding:14px 14px;appearance:none;-webkit-appearance:none}
.woocommerce select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232a2420' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center;padding-right:40px}
.woocommerce input.input-text:focus,.woocommerce select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--accent-soft)}
.woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:#b3261e}
.woocommerce .password-input{position:relative;display:block}
.woocommerce .show-password-input{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;color:var(--muted)}
.woocommerce .show-password-input::after{content:"Show";font:700 13px var(--sans)}
.woocommerce .show-password-input.display-password::after{content:"Hide"}
.woocommerce input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);vertical-align:-3px;margin:0 8px 0 0}

.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.yr-page .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;border:0;border-radius:6px;
  font:700 16px/1.2 var(--sans);padding:14px 22px;text-decoration:none;cursor:pointer;transition:background .15s}
.woocommerce button.button:hover,.woocommerce a.button:hover,.yr-page .btn:hover{background:var(--accent-d);color:#fff}
.woocommerce button.button:disabled{opacity:.6;cursor:not-allowed}

/* notices */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-error,.woocommerce-message,.woocommerce-info,.wc-block-components-notice-banner{
  list-style:none;margin:0 0 24px;padding:14px 18px;border-radius:6px;font-size:15px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--ink)}
.woocommerce-error{border-left-color:#b3261e;background:#fdf3f2}
.woocommerce-error li{margin:0}
.woocommerce-message{border-left-color:#2f7d4f}
.woocommerce-info{border-left-color:var(--sun)}
.woocommerce-message .button,.woocommerce-info .button{float:right;padding:8px 14px;font-size:14px;margin-left:12px}

/* WooCommerce's loading overlay */
.blockUI.blockOverlay{background:rgba(255,253,249,.7)!important}

/* ---------- checkout layout ---------- */
body.woocommerce-checkout:not(.woocommerce-order-received) main > .yr-wrap > h1{display:none}
.yr-co{display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-template-areas:"main summary" "main trust";gap:0 56px;align-items:start}
.yr-co-main{grid-area:main}
.yr-co-summary{grid-area:summary}
.yr-co-trust{grid-area:trust;margin-top:28px}

.yr-co-step{padding:0 0 32px}
.yr-co-step + .yr-co-step{border-top:1px solid var(--line);padding-top:32px}
.yr-co-step h2{display:flex;align-items:center;gap:12px;font-size:26px;margin:0 0 22px}
.yr-co-step h2 span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font:700 16px var(--sans);flex:none}
.woocommerce-billing-fields > h3,.woocommerce-shipping-fields,.woocommerce-additional-fields{display:none}
.woocommerce-account-fields{display:none}

/* summary card */
.yr-co-summary{background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:26px}
.yr-co-product{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.yr-co-thumb{width:84px;height:84px;object-fit:cover;border-radius:6px;flex:none}
.yr-co-name{font:700 21px/1.2 var(--serif)}
.yr-co-sub{font-size:14px;color:var(--muted);margin-top:4px}
.yr-co-incl{list-style:none;margin:0 0 18px;padding:16px 0 0;border-top:1px solid var(--line);font-size:15px}
.yr-co-incl li{position:relative;padding-left:26px;margin-bottom:8px}
.yr-co-incl li::before{content:"";position:absolute;left:2px;top:.45em;width:12px;height:7px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.yr-co-summary table.shop_table{width:100%;border-collapse:collapse;font-size:15px;background:none!important;border:0!important;border-radius:0}
.yr-co-summary .shop_table thead,.yr-co-summary .shop_table tbody{display:none}
.yr-co-summary .shop_table th,.yr-co-summary .shop_table td{padding:10px 0;border-top:1px solid var(--line);text-align:left;font-weight:500}
.yr-co-summary .shop_table td{text-align:right}
.yr-co-summary .shop_table .order-total th,.yr-co-summary .shop_table .order-total td{font:700 26px var(--serif);border-top:2px solid var(--ink);padding-top:14px}
.yr-co-summary .shop_table .cart-subtotal{display:none}
.yr-co-once{font-size:13.5px;color:var(--muted);margin:10px 0 0}

/* payment box */
#payment{background:none}
#payment ul.payment_methods{list-style:none;margin:0 0 20px;padding:0;border:1.5px solid #d9cbbb;border-radius:8px;overflow:hidden}
#payment ul.payment_methods > li{padding:16px 18px;border-top:1px solid var(--line);background:#fff}
#payment ul.payment_methods > li:first-child{border-top:0}
#payment ul.payment_methods > li > label{font-weight:700;cursor:pointer}
#payment ul.payment_methods > li > input{accent-color:var(--accent);margin-right:8px}
#payment ul.payment_methods li img{max-height:22px;vertical-align:middle;margin-left:6px}
#payment .payment_box{margin:12px 0 0;padding:14px 16px;background:var(--cream);border-radius:6px;font-size:15px;color:var(--muted)}
#payment .payment_box p:last-child{margin:0}
#payment li.woocommerce-notice{list-style:none}
#payment .form-row.place-order{margin:0;padding:0}
.woocommerce-terms-and-conditions-wrapper{margin:0 0 18px;font-size:14.5px;line-height:1.5}
.woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p{color:var(--muted);font-size:13.5px;margin:0 0 12px}
.woocommerce-terms-and-conditions-wrapper .form-row{margin:0}
.woocommerce-terms-and-conditions-wrapper label.checkbox{display:flex;align-items:flex-start;gap:4px;font-weight:400!important;font-size:14.5px;line-height:1.5}
.woocommerce-terms-and-conditions-wrapper label.checkbox input{margin-top:2px;flex:none}
.woocommerce-terms-and-conditions{max-height:220px;overflow:auto;border:1px solid var(--line);padding:12px;margin-bottom:12px;font-size:13px}
#place_order{width:100%;padding:20px 24px;font-size:19px;border-radius:8px}
.yr-co-secure{margin:14px 0 0;font-size:13.5px;line-height:1.5;color:var(--muted);text-align:center}
.yr-co-secure svg{display:inline-block;width:13px;height:13px;vertical-align:-1px;margin-right:6px}
.yr-co-secure p{margin:0}
.yr-co-step #wc-stripe-express-checkout-element{margin-top:0 !important}
#wc-stripe-express-checkout-button-separator{margin:16px 0 !important;font-size:13.5px;color:var(--muted)}
.yr-co-cards{display:flex;justify-content:center;gap:6px;margin:10px 0}
.yr-co-cards img{display:block;width:38px;height:24px;border-radius:4px}

/* trust column */
.yr-co-guarantee{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:22px;border:1.5px dashed var(--accent);border-radius:10px;background:#fff}
.yr-co-guarantee .seal{width:72px;height:72px;border-radius:50%;border:2px solid var(--accent);display:grid;place-content:center;text-align:center;color:var(--accent);font:700 11px/1.1 var(--sans);text-transform:uppercase;letter-spacing:.04em}
.yr-co-guarantee .seal b{display:block;font:700 26px/1 var(--serif);letter-spacing:0;text-transform:none}
.yr-co-guarantee h3{font-size:18px;margin:0 0 6px}
.yr-co-guarantee p{font-size:14.5px;line-height:1.5;margin:0;color:#3d3530}
.yr-co-trust > h3{font-size:18px;margin:26px 0 10px}
.yr-co-next{margin:0;padding-left:20px;font-size:14.5px;line-height:1.5;color:#3d3530}
.yr-co-next li{margin-bottom:8px}

/* express pay buttons (Stripe adds them above the form) */
#wc-stripe-express-checkout-element,#wc-stripe-payment-request-wrapper{margin-bottom:8px}
#wc-stripe-express-checkout-button-separator,#wc-stripe-payment-request-button-separator{text-align:center;color:var(--muted);font-size:14px;margin:8px 0 24px!important}

@media (max-width:900px){
  .yr-co{grid-template-columns:1fr;grid-template-areas:"summary" "main" "trust";gap:0}
  .yr-co-summary{position:static;margin-bottom:32px;padding:20px}
  .yr-co-incl{display:none}
  .yr-co-trust{margin-top:8px}
}

/* ---------- order received ---------- */
.woocommerce-order{max-width:760px}
.woocommerce-order > p.woocommerce-thankyou-order-received{font:500 20px var(--serif);margin:0 0 20px}
ul.woocommerce-order-overview{list-style:none;display:flex;flex-wrap:wrap;gap:0;margin:0 0 36px;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff}
ul.woocommerce-order-overview li{flex:1 1 140px;padding:14px 18px;border-left:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
ul.woocommerce-order-overview li:first-child{border-left:0}
ul.woocommerce-order-overview li strong{display:block;font:700 17px var(--sans);text-transform:none;letter-spacing:0;color:var(--ink);margin-top:4px;word-break:break-word}
.woocommerce-order h2,.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{font-size:24px;margin:36px 0 14px}
.woocommerce-customer-details{display:none}

/* tables (order details, downloads, orders) */
.woocommerce table.shop_table{width:100%;border-collapse:collapse;font-size:15.5px;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{text-align:left;padding:14px 16px;border-top:1px solid var(--line);vertical-align:middle}
.woocommerce table.shop_table thead th{border-top:0;font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--cream)}
.woocommerce table.shop_table tfoot th{font-weight:500}
.woocommerce table.shop_table tfoot tr:last-child th,.woocommerce table.shop_table tfoot tr:last-child td{font-weight:700}
.woocommerce table.shop_table .button{padding:10px 16px;font-size:14px}
.woocommerce table.woocommerce-table--order-downloads td.download-product a,.woocommerce table.shop_table td.product-name a{color:var(--ink);text-decoration:none;pointer-events:none}
.woocommerce table.shop_table td.download-remaining,.woocommerce table.shop_table td.download-expires,.woocommerce table.shop_table th.download-remaining,.woocommerce table.shop_table th.download-expires{display:none}
.yr-thanks{background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:28px 30px 10px;margin:0 0 32px}
.yr-thanks h2{font-size:22px;margin:22px 0 8px}
.yr-thanks h2:first-child{margin-top:0}

@media (max-width:640px){
  .woocommerce table.shop_table_responsive thead{display:none}
  .woocommerce table.shop_table_responsive tr{display:block;border-top:1px solid var(--line);padding:8px 0}
  .woocommerce table.shop_table_responsive tr:first-child{border-top:0}
  .woocommerce table.shop_table_responsive td{display:flex;justify-content:space-between;gap:12px;border:0;padding:6px 16px}
  .woocommerce table.shop_table_responsive td::before{content:attr(data-title);font-weight:700;font-size:13px;color:var(--muted)}
  .woocommerce table.shop_table_responsive td.download-file::before,.woocommerce table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions::before{content:none}
  ul.woocommerce-order-overview li{flex-basis:50%;border-left:0;border-top:1px solid var(--line)}
}

/* ---------- my account ---------- */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px;align-items:start}
.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:460px}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line)}
.woocommerce-MyAccount-navigation li a{display:block;padding:13px 4px;color:var(--ink);text-decoration:none;font-weight:500}
.woocommerce-MyAccount-navigation li.is-active a{color:var(--accent);font-weight:700}
.woocommerce-MyAccount-navigation li.is-active a::before{content:"";display:inline-block;width:12px;height:2px;background:var(--accent);vertical-align:middle;margin-right:10px}
.woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--muted)!important;font-weight:400!important}
.woocommerce-MyAccount-content > p:first-child{margin-top:0}

.yr-acc-hello{background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:26px 28px;margin-bottom:28px}
.yr-acc-hello h2{font-size:30px!important;margin:0 0 6px!important}
.yr-acc-hello p{margin:0;color:var(--muted)}
.yr-acc-files{list-style:none;margin:0 0 28px;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff}
.yr-acc-files li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-top:1px solid var(--line)}
.yr-acc-files li:first-child{border-top:0}
.yr-acc-files .file-name{font-weight:500}
.yr-acc-files .btn{padding:10px 16px;font-size:14px;flex:none}
.yr-acc-empty,.yr-acc-help{padding:20px 0;border-top:1px solid var(--line)}
.yr-acc-help h3,.yr-acc-empty h3{font-size:19px!important;margin:0 0 6px!important}
.yr-acc-help p{margin:0;color:var(--muted);font-size:15.5px}

/* login + lost password */
.yr-login-intro{color:var(--muted);margin:0 0 24px}
.woocommerce-account:not(.logged-in) .woocommerce > h2{display:none}
.woocommerce form.login,.woocommerce form.lost_reset_password,.woocommerce form.woocommerce-EditAccountForm{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px}
.woocommerce form.login .form-row:last-of-type{margin-bottom:0}
.woocommerce form.login .woocommerce-form-login__rememberme{display:flex;align-items:center;font-weight:400;font-size:14.5px;margin-bottom:16px}
.woocommerce form.login .woocommerce-form-login__submit{width:100%;padding:16px}
.woocommerce .lost_password{margin:16px 0 0;font-size:14.5px;text-align:center}
.woocommerce form.woocommerce-EditAccountForm fieldset{border:0;padding:0;margin:24px 0 0}
.woocommerce form.woocommerce-EditAccountForm legend{font:700 19px var(--serif);margin-bottom:12px}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%}
.woocommerce-EditAccountForm em{font-size:13px;color:var(--muted);font-style:normal}

@media (max-width:760px){
  .woocommerce-account .woocommerce{grid-template-columns:1fr;gap:24px}
  .woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;gap:8px;border:0}
  .woocommerce-MyAccount-navigation li{border:0}
  .woocommerce-MyAccount-navigation li a{padding:8px 14px;border:1px solid var(--line);border-radius:99px;font-size:14px;background:#fff}
  .woocommerce-MyAccount-navigation li.is-active a{border-color:var(--accent)}
  .woocommerce-MyAccount-navigation li.is-active a::before{display:none}
  .yr-acc-files li{flex-direction:column;align-items:flex-start}
}

/* order received: centred, no duplicate "order received" line */
body.woocommerce-order-received main > .yr-wrap{max-width:820px}
.woocommerce-order > p.woocommerce-thankyou-order-received{display:none}
.woocommerce table.shop_table td.download-file{text-align:right}
.woocommerce-EditAccountForm .form-row:has(#account_last_name),.woocommerce-EditAccountForm .form-row:has(#account_display_name){display:none}
.woocommerce .yr-co-summary table.shop_table th{text-align:left}
.woocommerce .yr-co-summary table.shop_table td{text-align:right}
.woocommerce .yr-co-summary table.shop_table .order-total th,.woocommerce .yr-co-summary table.shop_table .order-total td{border-top:2px solid var(--ink)}
/* logged-out account pages: one narrow centred column */
body.woocommerce-account:not(.logged-in) main > .yr-wrap{max-width:520px}
.yr-co-incl .free-badge{display:inline-block;margin-left:6px;font-size:12.5px;color:var(--muted)}
.yr-co-incl .free-badge b{color:var(--accent);font-weight:700}
.yr-co-bonus-sum{font-size:14px;color:var(--muted);margin:-8px 0 14px}
.yr-co-desc{font-size:15px;color:#3d3530;margin:0 0 12px}
.yr-co-upsell{font-size:14.5px;color:var(--muted);margin-top:16px}
.yr-co{grid-template-rows:auto 1fr}
.yr-co-incl li{display:flex;justify-content:space-between;gap:10px}
.yr-co-incl .free-badge{margin:0;white-space:nowrap;flex:none}
.yr-co-thumb{object-position:top}
@media (max-width:900px){.yr-co{grid-template-rows:none}}
.yr-free{font-weight:700;color:var(--accent);letter-spacing:.04em}
/* bundled bonus lines in order tables: indented under the challenge */
.woocommerce table.shop_table tr.woosb-item-child td.product-name,.woocommerce table.shop_table tr.woosb-item-child td.woocommerce-table__product-name{padding-left:34px;position:relative}
.woocommerce table.shop_table tr.woosb-item-child td.product-name::before,.woocommerce table.shop_table tr.woosb-item-child td.woocommerce-table__product-name::before{content:"↳";position:absolute;left:16px;color:var(--muted)}
/* Stripe card field: no second box around Stripe's own form */
#payment .payment_box.payment_method_stripe{background:none;padding:4px 0 0;margin-top:10px}
#payment .payment_box.payment_method_stripe fieldset{border:0;padding:0;margin:0}
#payment .payment_box.payment_method_stripe .wc-stripe-upe-element,#payment .payment_box.payment_method_stripe .wc-upe-form{border:0;padding:0}
#payment .payment_box.payment_method_stripe p.testmode-info{font-size:13px;margin:0 0 10px}

.yr-reviews{margin:28px 0 0}
.yr-reviews h3{font-size:18px;margin:0 0 12px}
.yr-review{margin:0 0 14px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:10px}
.yr-review .stars{color:#e8a400;letter-spacing:2px;font-size:16px;margin-bottom:6px}
.yr-review .stars span{color:var(--line)}
.yr-review blockquote{margin:0 0 10px;font:italic 500 17px/1.45 var(--serif);color:var(--ink)}
.yr-review blockquote p{margin:0 0 6px}
.yr-review figcaption{font-size:14px;color:var(--muted)}
.yr-review figcaption b{color:var(--ink)}
.yr-review .tag{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:4px;background:#eaf4ee;color:#2f7d4f;font-size:12px;font-weight:700}
.yr-review .tag.free{background:var(--accent-soft);color:var(--accent-d)}
.yr-optin{margin:0 0 12px!important}
.yr-optin label.checkbox{display:flex;align-items:flex-start;gap:4px;font-weight:400!important;font-size:14.5px;line-height:1.5}
.yr-optin input{margin-top:2px;flex:none}

/* ---------- buy buttons: green, bigger, soft shine (2026-10-19) ---------- */
:root{--buy:#1f8a4c;--buy-d:#18703d}
.js-buy.btn,.offer .btn,.bar .btn,#place_order,.yr-tools .btn,.yr-tools-bundle .btn{
  position:relative;overflow:hidden;background:var(--buy)!important;color:#fff!important;
  box-shadow:0 4px 0 var(--buy-d),0 10px 22px -10px rgba(31,138,76,.65);transition:transform .12s,box-shadow .12s,background .15s}
.js-buy.btn:hover,.offer .btn:hover,.bar .btn:hover,#place_order:hover,.yr-tools .btn:hover,.yr-tools-bundle .btn:hover{background:var(--buy-d)!important;transform:translateY(-1px)}
.js-buy.btn:active,.offer .btn:active,#place_order:active{transform:translateY(2px);box-shadow:0 2px 0 var(--buy-d)}
.js-buy.btn::after,.offer .btn::after,#place_order::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-20deg);animation:yr-shine 4.5s ease-in-out infinite;pointer-events:none}
.offer .btn{animation:yr-pulse 3s ease-in-out infinite}
@keyframes yr-shine{0%,62%{left:-60%}100%{left:130%}}
@keyframes yr-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
@media (prefers-reduced-motion:reduce){.js-buy.btn::after,.offer .btn::after,#place_order::after,.offer .btn{animation:none}}

#place_order{font-size:20px;padding:22px 24px;border-radius:8px}
.woocommerce .yr-co-summary table.shop_table tr.yr-compare th,.woocommerce .yr-co-summary table.shop_table tr.yr-compare td{color:var(--muted);border-top:1px solid var(--line)}
.woocommerce .yr-co-summary table.shop_table tr.yr-compare del{color:var(--muted);text-decoration-thickness:2px;text-decoration-color:var(--accent)}
.woocommerce .yr-co-summary table.shop_table tr.yr-save th,.woocommerce .yr-co-summary table.shop_table tr.yr-save td{color:var(--buy);font-weight:700;border-top:0;padding-top:0}
/* order page: lock screen first step */
.yr-lock{display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:center;margin:0 0 32px;padding:28px 30px;background:#fff;border:1px solid var(--line);border-radius:10px}
.yr-lock-phone{background:#111;border-radius:30px;padding:8px;box-shadow:0 18px 36px -20px rgba(42,36,32,.55)}
.yr-lock-phone img{display:block;width:100%;height:auto;border-radius:23px}
.yr-lock h2{font-size:24px!important;margin:0 0 10px!important}
.yr-lock p{font-size:16px;color:#3d3530}
.yr-lock .yr-lock-btn{background:var(--buy)!important;margin:4px 0 14px}
.yr-lock .yr-lock-btn:hover{background:var(--buy-d)!important}
.yr-lock-how{font-size:14px!important;color:var(--muted)!important;margin:0}
@media (max-width:640px){.yr-lock{grid-template-columns:1fr;padding:22px;gap:20px}.yr-lock-phone{width:170px;margin:0 auto}}
