/* GPLGuide v2 checkout. Builds on home2.css tokens (--ink, --muted, --accent, --pale, --line, --surface). Classes use the ck- prefix;
   WooCommerce's own classes (.form-row, .wc_payment_method, .woocommerce-error …) are styled here too, since woocommerce.css never loads. */
.screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Hero (Swapnil, 2026-10-13): the title stays on the left and the steps on the right; the grid box behind it is the centred one
   from Plugins and Home (pages2.css .v2-hero), and pages2.js ends it on a full row of cells under the steps. */
.v2-hero.ck-top{padding:34px 0 40px;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;text-align:left}
.ck-top .v2-crumbs{justify-content:flex-start}
.v2-hero.ck-top h1{max-width:none;line-height:1.05;margin:14px 0 0}
.v2-hero.ck-top .v2-lead{max-width:none;margin:12px 0 0;color:var(--muted);font-size:15px;line-height:inherit}
.ck-steps{display:flex;align-items:center;gap:10px;list-style:none;margin:0;padding:0;font-size:13px;color:var(--muted)}
.ck-steps li{display:flex;align-items:center;gap:8px}
.ck-steps li+li::before{content:"";width:34px;height:1px;background:var(--line);margin-right:2px}
.ck-steps b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:600;color:var(--muted)}
.ck-steps b svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ck-steps .is-done b{background:var(--ink);border-color:var(--ink);color:#fff}
.ck-steps .is-done a{color:var(--muted);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color .2s}
.ck-steps .is-done a:hover{color:var(--ink);text-decoration-color:var(--accent)}
.ck-steps [aria-current]{color:var(--ink);font-weight:600}
.ck-steps [aria-current] b{background:var(--accent);border-color:var(--accent);color:var(--ink)}

/* Notices WooCommerce prints above the form (expired session, coupon messages, errors) */
.ck-notices{margin:0}
.ck-notices .woocommerce-notices-wrapper:not(:empty){margin-bottom:8px}
.ck-notices ul,.ck-notices .woocommerce-message,.ck-notices .woocommerce-info,.ck-notices .woocommerce-error,.ck-notices .woocommerce-notice,.ck-notices .wc-block-components-notice-banner{list-style:none;margin:0 0 10px;padding:14px 18px;border-radius:16px;border:1px solid #CDEBD6;background:#F1FBF4;font-size:14px;line-height:1.6;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}
.ck-notices .woocommerce-info,.ck-notices .woocommerce-notice,.ck-notices .is-info{border-color:var(--line);background:var(--surface)}
.ck-notices .woocommerce-error,.ck-notices .is-error{border-color:#F6C9C0;background:#FFF3F0;display:block}
.ck-notices .woocommerce-error li+li{margin-top:6px}
.ck-notices a{font-weight:600;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.ck-notices .wc-block-components-notice-banner>svg{display:none}

/* Layout: the form and #order_review are display:contents, so the cards and the summary share one grid */
.ck-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;grid-template-rows:auto auto auto auto 1fr;gap:24px 40px;align-items:start;padding:8px 0 110px}
.ck-form,.ck-layout #order_review{display:contents}
.ck-card{border:1px solid var(--line);border-radius:28px;background:#fff;padding:28px 30px;box-shadow:0 18px 45px #17120f0b}
.ck-card-head{display:flex;align-items:center;gap:14px;margin:0 0 22px}
.ck-card-head h2{font-size:18px;font-weight:600;letter-spacing:0;margin:0}
.ck-num{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;font-size:13px;font-weight:600}
.ck-head-note{margin:0 0 0 auto;font-size:13px;color:var(--muted);text-align:right}
.ck-head-note strong{color:var(--ink);font-weight:600}
.ck-head-note a,.ck-link{color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}
.ck-head-note a:hover,.ck-link:hover{color:var(--accent)}
.ck-secure{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font-size:12px;font-weight:500;color:#15803D;background:#F1FBF4;border:1px solid #CDEBD6;border-radius:99px;padding:5px 12px}
.ck-secure svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* Errors checkout.js drops inside the form after a failed submit */
.woocommerce-NoticeGroup-checkout{grid-column:1;padding:16px 18px;border:1px solid #F6C9C0;border-radius:16px;background:#FFF3F0;font-size:14px;line-height:1.6}
.woocommerce-NoticeGroup-checkout ul{list-style:none;margin:0;padding:0}
.woocommerce-NoticeGroup-checkout li+li{margin-top:6px}
.woocommerce-NoticeGroup-checkout .wc-block-components-notice-banner{display:flex;gap:10px;align-items:flex-start}
.woocommerce-NoticeGroup-checkout .wc-block-components-notice-banner>svg{display:none}
.woocommerce-NoticeGroup-checkout a{font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* Fields */
.ck-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ck-fields .form-row{margin:0;min-width:0}
.ck-fields .form-row.ck-wide{grid-column:1/-1}
.form-row label{display:block;font-size:13px;font-weight:500;color:var(--ink);margin:0 0 7px}
.form-row label .optional{display:none}
.form-row abbr.required{color:var(--accent);border:0;text-decoration:none}
.woocommerce-input-wrapper{display:block;position:relative}
.ck-fields input.input-text,.ck-fields select{display:block;width:100%;min-height:52px;padding:0 18px;border:1px solid var(--line);border-radius:14px;background:#fff;font:inherit;font-size:15px;line-height:1.4;color:var(--ink);box-shadow:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.ck-fields input.input-text::placeholder{color:#B5ABA6}
.ck-fields input.input-text:focus,.ck-fields select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #ff673322}
.ck-fields select{padding-right:46px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23716762' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center/18px;cursor:pointer}
.ck-fields .woocommerce-input-wrapper noscript{display:none}
.form-row.woocommerce-invalid input.input-text,.form-row.woocommerce-invalid select{border-color:#DC2626;box-shadow:0 0 0 3px #dc262614}
.form-row.woocommerce-validated input.input-text,.form-row.woocommerce-validated select{border-color:#CDE7D4}
.form-row .checkout-inline-error-message{display:block;margin:6px 0 0;font-size:12.5px;color:#B91C1C}
.password-input{display:block;position:relative}
.password-input input.input-text{padding-right:52px}
.show-password-input{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:10px;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23716762' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") no-repeat center/20px;cursor:pointer;color:transparent;font-size:0}
.show-password-input.display-password{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23716762' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18'/%3E%3Cpath d='M10.6 10.6a3 3 0 0 0 4.2 4.2'/%3E%3Cpath d='M9.9 5.2A10.4 10.4 0 0 1 12 5c6.5 0 10 7 10 7a17 17 0 0 1-3.2 4.2'/%3E%3Cpath d='M6.6 6.6C3.6 8.6 2 12 2 12s3.5 7 10 7a9.7 9.7 0 0 0 4.4-1'/%3E%3C/svg%3E")}
.show-password-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
#customer_details .col-2:empty{display:none}
.ck-billing+.ck-account{margin-top:18px}

/* Account box */
.ck-account{padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.ck-create{margin:0}
.form-row label.ck-check,.ck-check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-weight:400;margin:0}
.ck-check input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--accent);cursor:pointer}
.ck-check span{display:block;font-size:14px;line-height:1.5}
.ck-check strong,.ck-account-note strong{display:block;font-weight:600;color:var(--ink)}
.ck-check small,.ck-account-note small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.ck-account-note{margin:0;font-size:14px;line-height:1.5}
.ck-account.is-required .create-account{margin-top:14px}
.ck-account .create-account{margin:16px 0 0}
.ck-account .clear{display:none}

/* Payment card */
.ck-pay{margin:0}
.ck-methods{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.wc_payment_method{position:relative;border:1px solid var(--line);border-radius:18px;background:#fff;transition:border-color .2s,box-shadow .2s}
.wc_payment_method:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 3px #ff673318}
.wc_payment_method>input.input-radio{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.wc_payment_method>label{display:flex;align-items:center;gap:14px;padding:16px 18px;margin:0;cursor:pointer;font-size:15px;font-weight:600;line-height:1.3}
.ck-radio{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid #C9BDB7;background:#fff;transition:border-color .2s,box-shadow .2s}
.wc_payment_method input:checked+label .ck-radio{border-color:var(--accent);box-shadow:inset 0 0 0 5px var(--accent)}
.wc_payment_method input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px;border-radius:18px}
.ck-method-title{flex:1 1 auto}
.ck-method-title img,.wc_payment_method>label>img{height:22px;width:auto;margin-left:auto}
.ck-marks,.ck-pay-marks{list-style:none;margin:0 0 0 auto;padding:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.ck-marks li,.ck-pay-marks li{display:flex;align-items:center;justify-content:center;white-space:nowrap;height:26px;min-width:44px;padding:0 7px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:10.5px;font-weight:700;letter-spacing:-.2px;color:var(--ink)}
.ck-marks .pp{color:#003087}.ck-marks .pp b{color:#0079C1;font-weight:700}
.ck-marks .visa{color:#1A1F71;font-style:italic;font-size:12px;font-weight:800}
.ck-marks .mc{gap:0}
.ck-marks .mc i{width:13px;height:13px;border-radius:50%;background:#EB001B;display:block}
.ck-marks .mc i+i{background:#F79E1B;margin-left:-5px;mix-blend-mode:multiply}
.ck-marks .apple{color:#000;font-weight:600}
.ck-marks .gpay{color:#3C4043;font-weight:600}.ck-marks .gpay b{color:#4285F4;font-weight:700}
.payment_box{padding:0 18px 16px 52px;font-size:13.5px;line-height:1.6;color:var(--muted)}
.payment_box p{margin:0}
.payment_box p+p,.payment_box fieldset{margin-top:10px}
.ck-no-methods .woocommerce-info,.ck-no-methods .wc-block-components-notice-banner{margin:0;padding:14px 18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);font-size:14px;line-height:1.6;list-style:none}
.ck-no-methods .wc-block-components-notice-banner>svg{display:none}
.ck-free{margin:0;padding:14px 18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);font-size:14px}
.ck-place{margin:22px 0 0}
.ck-terms p{margin:0 0 14px;font-size:12.5px;line-height:1.65;color:var(--muted)}
.ck-terms a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}
.ck-terms-check{margin:0 0 14px}
#place_order{display:flex;width:100%;align-items:center;justify-content:center;gap:12px;min-height:60px;margin:0;padding:0 24px;border:0;border-radius:99px;background:var(--accent);color:var(--ink);font:inherit;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s}
#place_order:hover{transform:translateY(-2px);box-shadow:0 14px 30px #ff673344}
#place_order:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
#place_order:disabled,.processing #place_order{opacity:.6;cursor:wait;transform:none;box-shadow:none}
/* PayPal prints its message and buttons just outside #payment (WooCommerce keeps them there so totals refreshes
   don't destroy the PayPal frames). Empty holders take no room; the buttons join the payment card as its bottom edge. */
#order_review>.ppcp-messages:empty,#ppc-button-ppcp-applepay:empty,#ppc-button-ppcp-googlepay:empty{display:none}
#order_review>.ppcp-messages{grid-column:1}
#order_review>.ppc-button-wrapper{grid-column:1;margin-top:-24px;padding:0 30px 28px;border:1px solid var(--line);border-top:0;border-radius:0 0 28px 28px;background:#fff;box-shadow:0 18px 45px #17120f0b}
#payment:has(+ .ppc-button-wrapper:not([style*="none"])){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;padding-bottom:6px;box-shadow:none}
#order_review>.ppc-button-wrapper[style*="none"]{display:none!important}
.ck-place noscript{display:block;margin:0 0 14px;font-size:13px;color:var(--muted)}

/* Order summary (right column, sticky) */
.ck-summary{grid-column:2;grid-row:1/-1;position:sticky;top:24px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 18px 45px #17120f0b}
.ck-sum-toggle{display:none}
.ck-sum-body{padding:26px 28px}
.ck-sum-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}
.ck-sum-head h2{font-size:18px;font-weight:600;letter-spacing:0;margin:0}
.ck-sum-head .ck-link{font-size:13px}
.ck-items{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.ck-item{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:14px;align-items:center}
.ck-thumb{display:block;width:84px;aspect-ratio:2/1;border-radius:10px;overflow:hidden;background:var(--surface)}
.ck-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ck-thumb.is-contain img{object-fit:contain;background:#fff}
.ck-item-info{display:block;min-width:0}
.ck-tag{display:inline-block;font-size:9.5px;letter-spacing:1.1px;font-weight:600;text-transform:uppercase;color:#A84420;background:var(--pale);border-radius:99px;padding:3px 9px}
.ck-item-name{display:block;margin-top:5px;font-size:14px;line-height:1.4;font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.ck-qty{display:inline-block;margin-top:3px;font-size:12px;color:var(--muted)}
.ck-item-info dl.variation{margin:4px 0 0;font-size:12px;color:var(--muted)}
.ck-item-price{font-size:14px;font-weight:600;white-space:nowrap;text-align:right}
.ck-item-price del{display:block;font-size:12px;color:var(--muted);font-weight:400}
.ck-coupon{margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--line)}
.ck-coupon-toggle{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;font:inherit;font-size:14px;font-weight:500;color:var(--ink);cursor:pointer;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}
.ck-coupon-toggle:hover{color:var(--accent)}
.ck-coupon-toggle svg{width:16px;height:16px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ck-coupon-row{display:flex;gap:8px;margin:12px 0 0}
.ck-coupon-row[hidden]{display:none}
.ck-coupon-row input{flex:1 1 auto;min-width:0;min-height:46px;padding:0 16px;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:14px;color:var(--ink);text-transform:uppercase;-webkit-appearance:none;appearance:none}
.ck-coupon-row input::placeholder{text-transform:none;color:#B5ABA6}
.ck-coupon-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #ff673322}
.ck-coupon-apply{flex:none;min-height:46px;padding:0 20px;border:0;border-radius:12px;background:var(--ink);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,color .2s}
.ck-coupon-apply:hover{background:var(--accent);color:var(--ink)}
.ck-coupon.is-busy .ck-coupon-apply{opacity:.6;cursor:wait}
.ck-coupon-msg{margin:8px 0 0;font-size:13px;line-height:1.5;color:#15803D}
.ck-coupon-msg:empty{display:none}
.ck-coupon-msg.is-error{color:#B91C1C}
.ck-rows{margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:12px;font-size:14px}
.ck-rows>div{display:flex;justify-content:space-between;gap:16px}
.ck-rows dt{color:var(--muted)}
.ck-rows dd{margin:0;font-weight:500;text-align:right}
.ck-rows .ck-save dd{color:#15803D}
.ck-rows .woocommerce-remove-coupon{display:inline-block;margin-left:8px;font-size:12px;font-weight:500;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.ck-rows .woocommerce-remove-coupon:hover{color:#C2410C}
.ck-total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:18px 0 0;padding:18px 0 0;border-top:1px solid var(--line)}
.ck-total>span{font-size:15px;font-weight:600}
.ck-total>strong{font-size:30px;font-weight:700;letter-spacing:-1px;text-align:right}
.ck-total strong strong{font-weight:inherit}
.ck-total small{font-size:12px;color:var(--muted);font-weight:500;margin-left:4px;letter-spacing:0}
.ck-total .includes_tax{display:block;font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0}
.ck-trust{list-style:none;margin:22px 0 0;padding:20px 0 0;border-top:1px solid var(--line);display:grid;gap:12px;font-size:13px}
.ck-trust li{display:flex;align-items:flex-start;gap:10px;line-height:1.5}
.ck-trust svg{width:15px;height:15px;flex:none;margin-top:2px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ck-trust a{text-decoration:underline;text-underline-offset:3px}
.ck-help{margin:16px 0 0;text-align:center;font-size:13px;color:var(--muted)}
.ck-help a{color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}

/* The overlay checkout.js shows while totals refresh */
.blockUI.blockOverlay{background:#fff!important;opacity:.6!important;border-radius:inherit}

/* Pay-for-order and order-received screens (WooCommerce's own markup) */
.ck-endpoint{padding:8px 0 110px;font-size:15px}
.ck-endpoint .woocommerce{max-width:760px;margin:0 auto;padding:28px 30px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 18px 45px #17120f0b}

@media(max-width:1100px){
  .ck-layout{grid-template-columns:minmax(0,1fr) 340px;gap:20px 28px}
  .ck-card,.ck-sum-body{padding:24px 22px}
  #order_review>.ppc-button-wrapper{padding:0 22px 24px;margin-top:-20px}
}
@media(max-width:960px){
  .ck-layout{grid-template-columns:1fr;grid-template-rows:none;padding-bottom:70px}
  .ck-summary{grid-column:1;grid-row:auto;order:-1;position:static}
  .ck-sum-toggle{display:flex;width:100%;align-items:center;gap:12px;padding:16px 20px;border:0;background:none;font:inherit;color:var(--ink);cursor:pointer;text-align:left}
  .ck-sum-toggle-label{flex:1 1 auto;font-size:14px;font-weight:600}
  .ck-sum-toggle-label small{display:block;margin-top:2px;font-size:12px;font-weight:400;color:var(--muted)}
  .ck-sum-toggle strong{font-size:18px;font-weight:700;letter-spacing:-.5px}
  .ck-sum-toggle svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
  .ck-summary.is-open .ck-sum-toggle svg{transform:rotate(180deg)}
  .ck-sum-body{display:none;padding:0 20px 22px;border-top:1px solid var(--line)}
  .ck-summary.is-open .ck-sum-body{display:block}
  .ck-sum-head{display:none}
  .ck-items{margin-top:18px}
  .v2-hero.ck-top{padding:24px 0 26px;align-items:flex-start;flex-direction:column;gap:18px}
}
@media(max-width:600px){
  .ck-steps{font-size:12px;gap:6px}
  .ck-steps li+li::before{width:16px}
  .ck-card{padding:20px 18px;border-radius:22px}
  #order_review>.ppc-button-wrapper{padding:0 18px 20px;border-radius:0 0 22px 22px}
  .ck-card-head{flex-wrap:wrap;gap:10px 12px;margin-bottom:18px}
  .ck-head-note{flex-basis:100%;margin:0;text-align:left}
  .ck-fields{grid-template-columns:1fr}
  .ck-fields .form-row.ck-wide{grid-column:auto}
  .wc_payment_method>label{flex-wrap:wrap;padding:14px 16px}
  .ck-marks{flex-basis:100%;justify-content:flex-start;margin:4px 0 0 34px}
  .payment_box{padding:0 16px 14px 50px}
  .ck-summary{border-radius:22px}
  .ck-item{grid-template-columns:72px minmax(0,1fr) auto;gap:12px}
  .ck-thumb{width:72px}
  .ck-total>strong{font-size:26px}
}

/* PayPal hides the Pay button with this class once its own buttons are drawn. The rule lives in PayPal's stylesheet, which v2 pages don't load,
   so without it checkout showed two PayPal buttons: ours ("Proceed to PayPal") and PayPal's (Swapnil, 2026-10-14). */
#place_order.ppcp-hidden{display:none!important}
