/* Cypher Town – cart + checkout */
body.cts-co{--ink:#121016;--paper:#F2EEE6;--yellow:#F5C518;--indigo:#5A63D3;--mut:rgba(242,238,230,.66);--line:rgba(242,238,230,.14);--card:#1B1820;--field:#221E28}
body.cts-co #main-content,body.cts-co #main-content .container{background:var(--ink)}
body.cts-co #main-content .container{width:min(1200px,92%);max-width:none;padding-top:clamp(20px,3vw,44px)}
body.cts-co .entry-title,body.cts-co h1.main_title{display:none}
body.cts-co .wp-block-woocommerce-cart,body.cts-co .wp-block-woocommerce-checkout{color:var(--paper);font-family:"DM Sans",system-ui,sans-serif;font-size:16px}

/* header */
.cts-co-head{margin:0 0 clamp(18px,3vw,32px)}
.cts-steps{display:flex;gap:6px;list-style:none!important;margin:0 0 18px!important;padding:0!important;flex-wrap:wrap}
.cts-steps li{display:flex;align-items:center;gap:8px;padding:6px 14px 6px 6px!important;border-radius:999px;border:1px solid var(--line);color:var(--mut);font-size:14px;font-weight:600;margin:0!important}
.cts-steps li span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);font-size:12px}
.cts-steps li.on{border-color:var(--yellow);color:var(--paper)}.cts-steps li.on span{background:var(--yellow);color:var(--ink)}
.cts-steps li.done span{background:var(--indigo);color:#fff}
.cts-co-title{font-family:Anton,Impact,sans-serif!important;font-weight:400!important;text-transform:uppercase;font-size:clamp(2.2rem,1.4rem + 3vw,4rem)!important;line-height:.95!important;color:var(--paper)!important;margin:0!important;padding:0!important}
.cts-co-lead{color:var(--mut);margin:.5em 0 0!important;padding:0!important}
.cts-ship{margin-top:18px;max-width:560px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 16px}
.cts-ship-t{font-weight:700;font-size:15px;margin-bottom:8px}
.cts-ship-bar{height:8px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.cts-ship-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--indigo),var(--yellow));border-radius:4px;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.cts-ship.ok{border-color:rgba(245,197,24,.5)}.cts-ship.ok .cts-ship-t{color:var(--yellow)}

/* block layout: cards */
body.cts-co .wc-block-components-sidebar-layout{gap:24px}
body.cts-co .wc-block-components-sidebar-layout.is-large{flex-wrap:nowrap}
body.cts-co .is-large .wc-block-components-main{width:calc(65% - 12px)!important;flex:0 0 calc(65% - 12px)}
body.cts-co .is-large .wc-block-components-sidebar{width:calc(35% - 12px)!important;flex:0 0 calc(35% - 12px)}
body.cts-co .wc-block-components-main,body.cts-co .wc-block-components-sidebar{padding:0!important}
body.cts-co .wc-block-cart__main,body.cts-co .wc-block-checkout__main{background:transparent}
body.cts-co .wp-block-woocommerce-cart-totals-block,body.cts-co .wp-block-woocommerce-checkout-order-summary-block{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px 20px!important}
body.cts-co .wc-block-components-sidebar{position:sticky;top:100px;align-self:flex-start}
body.cts-co .wc-block-checkout__form .wc-block-components-checkout-step{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px!important;margin:0 0 16px!important}
body.cts-co .wc-block-components-checkout-step__container::after,body.cts-co .wc-block-components-checkout-step::after{display:none!important}
body.cts-co .wc-block-components-checkout-step__heading{margin:0 0 12px!important}
body.cts-co .wc-block-components-checkout-step__title,body.cts-co .wc-block-cart__totals-title,body.cts-co .wc-block-components-title{font-family:Anton,Impact,sans-serif!important;font-weight:400!important;text-transform:uppercase;letter-spacing:.02em;font-size:1.35rem!important;color:var(--paper)!important}
body.cts-co .wc-block-components-checkout-step__description{color:var(--mut)}

/* cart items table */
body.cts-co table.wc-block-cart-items{border:0!important;background:var(--card);border-radius:20px;overflow:hidden}
body.cts-co table.wc-block-cart-items th,body.cts-co table.wc-block-cart-items td{border:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important;color:var(--paper)}
body.cts-co table.wc-block-cart-items th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)!important;padding:14px 18px!important}
body.cts-co .wc-block-cart-items__row td{padding:16px 18px!important}
body.cts-co .wc-block-cart-item__image img{border-radius:12px;background:#221E28}
body.cts-co .wc-block-components-product-name{color:var(--paper)!important;font-weight:700;font-size:16px;text-decoration:none!important}
body.cts-co .wc-block-components-product-metadata,body.cts-co .wc-block-components-product-details{color:var(--mut);font-size:14px}
body.cts-co .wc-block-components-product-price{color:var(--yellow)}
body.cts-co .wc-block-cart-item__remove-link{color:var(--mut)!important;font-size:13px!important}
body.cts-co .wc-block-components-quantity-selector{border:1px solid var(--line)!important;border-radius:999px!important;background:var(--field)}
body.cts-co .wc-block-components-quantity-selector input,body.cts-co .wc-block-components-quantity-selector button{color:var(--paper)!important;background:transparent!important}
body.cts-co .wc-block-components-quantity-selector::after{display:none}

/* totals */
body.cts-co .wc-block-components-totals-item{color:var(--paper)}
body.cts-co .wc-block-components-totals-item__description,body.cts-co .wc-block-components-totals-shipping__via{color:var(--mut)}
body.cts-co .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,body.cts-co .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-size:1.35rem!important;font-weight:800}
body.cts-co .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{color:var(--yellow)}
body.cts-co .wc-block-components-totals-wrapper{border-color:var(--line)!important}
body.cts-co .wc-block-components-panel__button{color:var(--paper)!important}

/* fields */
body.cts-co .wc-block-components-text-input input,body.cts-co .wc-block-components-text-input textarea,body.cts-co .wc-blocks-components-select select,body.cts-co .wc-block-components-combobox .wc-block-components-combobox-control input,body.cts-co .wc-block-components-textarea{background:var(--field)!important;border:1px solid var(--line)!important;border-radius:14px!important;color:var(--paper)!important;font-size:16px!important}
body.cts-co .wc-block-components-text-input input:focus,body.cts-co .wc-blocks-components-select select:focus,body.cts-co .wc-block-components-textarea:focus{border-color:var(--yellow)!important;box-shadow:0 0 0 3px rgba(245,197,24,.25)!important;outline:0}
body.cts-co .wc-block-components-text-input label,body.cts-co .wc-blocks-components-select label{color:var(--mut)!important}
body.cts-co .wc-blocks-components-select .wc-blocks-components-select__container{background:var(--field)!important;border-radius:14px}
body.cts-co .wc-blocks-components-select select{color:var(--paper)!important}
body.cts-co .wc-block-components-validation-error p{color:#ff8a8a!important}

/* radios, checkboxes, payment */
body.cts-co .wc-block-components-radio-control__option,body.cts-co .wc-block-components-radio-control-accordion-option{border:1px solid var(--line)!important;border-radius:14px!important;background:var(--field)!important;margin:0 0 10px!important;box-shadow:none!important}
body.cts-co .wc-block-components-radio-control__option-checked,body.cts-co .wc-block-components-radio-control-accordion-option--checked-option-highlighted{border-color:var(--yellow)!important}
body.cts-co .wc-block-components-radio-control__input:checked{border-color:var(--yellow)!important}
body.cts-co .wc-block-components-radio-control__input:checked::before{background:var(--yellow)!important}
body.cts-co .wc-block-components-radio-control__label,body.cts-co .wc-block-components-radio-control__secondary-label{color:var(--paper)!important}
body.cts-co .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]{background:var(--field)!important;border-color:var(--line)!important;border-radius:6px}
body.cts-co .wc-block-components-checkbox .wc-block-components-checkbox__mark{fill:var(--ink)}
body.cts-co .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked{background:var(--yellow)!important;border-color:var(--yellow)!important}
body.cts-co .wc-block-checkout__terms,body.cts-co .wc-block-checkout__terms a{color:var(--mut)!important}
body.cts-co .wc-block-checkout__terms a{text-decoration:underline}

/* buttons */
body.cts-co .wc-block-components-button:not(.is-link):not(.wc-block-components-panel__button),body.cts-co .wc-block-cart__submit-button,body.cts-co .wc-block-components-checkout-place-order-button{background:var(--yellow)!important;color:var(--ink)!important;border:0!important;border-radius:999px!important;font-weight:800!important;font-size:17px!important;min-height:56px;letter-spacing:.01em;transition:transform .15s,box-shadow .2s}
body.cts-co .wc-block-components-button:not(.is-link):not(.wc-block-components-panel__button):hover,body.cts-co .wc-block-cart__submit-button:hover{transform:translateY(-1px);box-shadow:0 10px 30px rgba(245,197,24,.25)}
body.cts-co .wc-block-components-button.is-link,body.cts-co .wc-block-components-checkout-return-to-cart-button{color:var(--mut)!important}
body.cts-co .wc-block-components-express-payment,body.cts-co .wc-block-components-express-payment-continue-rule{border-color:var(--line)!important;color:var(--mut)}
body.cts-co .wc-block-components-express-payment__title-container{background:var(--ink)!important}
body.cts-co .wc-block-components-express-payment__title{color:var(--mut)!important}
body.cts-co .wc-block-components-express-payment-continue-rule::before,body.cts-co .wc-block-components-express-payment-continue-rule::after{border-color:var(--line)!important}
body.cts-co .wc-block-components-notice-banner{border-radius:14px}
body.cts-co .wc-block-components-notice-snackbar-list:not(:has(.wc-block-components-notice-snackbar)){display:none!important}
body.cts-co .wc-block-components-order-summary-item__quantity{background:var(--yellow)!important;color:var(--ink)!important;border:0!important;box-shadow:none!important}
body.cts-co .wc-block-components-order-summary-item__image img{border-radius:10px}
.cts-secure{display:flex;align-items:center;gap:8px;justify-content:center;color:var(--mut);font-size:13px!important;margin:12px 0 0!important;padding:0!important}

/* offers */
.cts-offers{margin:20px 0;background:linear-gradient(135deg,rgba(90,99,211,.22),rgba(245,197,24,.08));border:1px solid rgba(245,197,24,.35);border-radius:20px;padding:18px;animation:cts-co-in .5s both}
@keyframes cts-co-in{from{opacity:0;transform:translateY(10px)}}
.cts-of-h h2{font-family:Anton,Impact,sans-serif!important;font-weight:400!important;text-transform:uppercase;font-size:1.4rem!important;margin:0!important;padding:0!important;color:var(--paper)!important}
.cts-of-h p{margin:2px 0 12px!important;padding:0!important;color:var(--mut);font-size:14px!important}
.cts-of-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.cts-of-card{display:grid;grid-template-columns:80px 1fr;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px;transition:transform .2s,border-color .2s}
.cts-of-card:hover{transform:translateY(-2px);border-color:rgba(245,197,24,.55)}
.cts-of-img{aspect-ratio:1;border-radius:12px;overflow:hidden;background:#221E28}
.cts-of-img img{width:100%;height:100%;object-fit:cover}
.cts-of-b{display:flex;flex-direction:column;gap:4px;min-width:0}
.cts-of-b b{font-size:15px;line-height:1.25;color:var(--paper)}
.cts-of-b span{color:var(--yellow);font-weight:700;font-size:14px}
.cts-of-opts{display:flex;flex-wrap:wrap;gap:4px;margin:2px 0}
.cts-of-opt{border:1px solid var(--line);background:none;color:var(--mut);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;cursor:pointer}
.cts-of-opt.on{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.cts-of-add{align-self:flex-start;border:0;border-radius:999px;background:var(--yellow);color:var(--ink);font-weight:800;padding:8px 14px;font-size:14px;cursor:pointer}
.cts-of-add[disabled]{opacity:.6;cursor:default}
.cts-of-add.busy{animation:cts-pulse-b .8s infinite}
@keyframes cts-pulse-b{50%{opacity:.5}}

/* popup */
.cts-pop{position:fixed;inset:0;z-index:1000005;display:grid;place-items:center;padding:16px;background:rgba(10,8,14,.7);backdrop-filter:blur(4px);opacity:0;transition:opacity .3s}
.cts-pop.on{opacity:1}
.cts-pop-box{position:relative;width:min(420px,100%);background:#18151D;border:1px solid rgba(245,197,24,.4);border-radius:24px;padding:26px 22px 20px;color:var(--paper);text-align:center;transform:translateY(20px) scale(.97);transition:transform .35s cubic-bezier(.2,.8,.2,1);box-shadow:0 30px 80px rgba(0,0,0,.6)}
.cts-pop.on .cts-pop-box{transform:none}
.cts-pop-x{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--paper);font-size:22px;cursor:pointer}
.cts-pop-badge{display:inline-block;background:var(--yellow);color:var(--ink);font-family:Anton,Impact,sans-serif;font-size:2rem;line-height:1;padding:10px 16px;border-radius:14px;transform:rotate(-4deg);margin-bottom:10px}
.cts-pop h2{font-family:Anton,Impact,sans-serif!important;font-weight:400!important;text-transform:uppercase;font-size:1.8rem!important;margin:4px 0!important;padding:0!important;color:var(--paper)!important}
.cts-pop p{color:var(--mut);margin:0 0 14px!important;padding:0!important}
.cts-pop-item{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px;margin-bottom:14px}
.cts-pop-item img{width:72px;height:72px;object-fit:cover;border-radius:12px}
.cts-pop-item b{display:block;font-size:15px}.cts-pop-item span{color:var(--yellow);font-weight:700}
.cts-pop-yes{width:100%;border:0;border-radius:999px;background:var(--yellow);color:var(--ink);font-weight:800;font-size:17px;padding:15px;cursor:pointer}
.cts-pop-no{margin-top:8px;border:0;background:none;color:var(--mut);text-decoration:underline;cursor:pointer;font-size:14px}
.cts-co-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,calc(100% + 40px));z-index:1000006;background:var(--yellow,#F5C518);color:#121016;font-weight:800;padding:12px 20px;border-radius:999px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.cts-co-toast.on{transform:translate(-50%,0)}
@media (max-width:640px){
	.cts-steps li{font-size:12px;padding:4px 10px 4px 4px!important}
	.cts-of-list{grid-template-columns:1fr}
	body.cts-co .wc-block-components-sidebar{position:static}
}
@media (prefers-reduced-motion:reduce){.cts-offers,.cts-pop,.cts-pop-box,.cts-ship-bar i{animation:none!important;transition:none!important}}
/* company invoice */
body.cts-co .cts-hide{display:none!important}
.cts-co-status{margin:6px 0 4px!important;padding:10px 12px!important;border-radius:12px;font-size:14px;line-height:1.45;border:1px solid var(--line);background:var(--field);color:var(--paper)}
.cts-co-status.busy{color:var(--mut)}
.cts-co-status.busy:before{content:"";display:inline-block;width:12px;height:12px;margin-right:8px;border:2px solid var(--mut);border-top-color:transparent;border-radius:50%;vertical-align:-1px;animation:ctsSpin .8s linear infinite}
.cts-co-status.ok{border-color:rgba(245,197,24,.55);color:var(--paper)}
.cts-co-status.warn{border-color:rgba(245,197,24,.35);color:var(--mut)}
.cts-co-status.err{border-color:#e5484d;color:#ffb4b6}
@keyframes ctsSpin{to{transform:rotate(360deg)}}
/* HUF → EUR */
.cts-eur{margin-top:12px;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.cts-eur-t{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;color:var(--paper);font-size:14px}
.cts-eur-t:focus-visible{outline:2px solid var(--yellow);outline-offset:-2px}
.cts-eur-ic{flex:0 0 26px;height:26px;border-radius:50%;background:var(--indigo);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}
.cts-eur-l{flex:1;color:var(--mut)}
.cts-eur-v{color:var(--yellow);font-weight:700;white-space:nowrap}
.cts-eur-b{padding:0 16px 14px;border-top:1px solid var(--line)}
.cts-eur-in{display:block;margin-top:12px}
.cts-eur-in span{display:block;font-size:12px;color:var(--mut);margin-bottom:4px}
.cts-eur-in input{width:100%;box-sizing:border-box;background:var(--field);border:1px solid var(--line);border-radius:10px;color:var(--paper);padding:10px 12px;font-size:16px}
.cts-eur-in input:focus{outline:2px solid var(--yellow);border-color:transparent}
.cts-eur-out{display:block;margin-top:8px;font-weight:700;color:var(--paper)}
.cts-eur-r,.cts-eur-n{margin:6px 0 0!important;padding:0!important;font-size:12px;color:var(--mut)}
/* GLS pickup point */
.cts-gls{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--field)}
.cts-gls[hidden]{display:none}
.cts-gls.need{border-color:#e5484d;box-shadow:0 0 0 3px rgba(229,72,77,.18)}
.cts-gls-h{display:flex;gap:12px;align-items:flex-start}
.cts-gls-h strong{display:block;color:var(--paper);font-size:15px}
.cts-gls-h p{margin:2px 0 0!important;padding:0!important;color:var(--mut);font-size:13px;line-height:1.45}
.cts-gls-pin{flex:0 0 32px;height:32px;border-radius:10px;background:#FFD100;position:relative}
.cts-gls-pin:after{content:"";position:absolute;left:10px;top:7px;width:12px;height:12px;border:3px solid #061AB1;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
.cts-gls-card{margin-top:12px;padding:12px 14px;border-radius:12px;border:1px solid rgba(245,197,24,.55);background:var(--card)}
.cts-gls-card b{display:block;color:var(--paper)}
.cts-gls-card span{display:block;color:var(--mut);font-size:13px;margin-top:2px}
.cts-gls-btn{margin-top:12px;width:100%;padding:12px 16px;border-radius:999px;border:0;background:var(--yellow);color:var(--ink);font-weight:700;font-size:15px;cursor:pointer}
.cts-gls-btn:hover{filter:brightness(1.05)}
.cts-gls-btn:focus-visible{outline:2px solid var(--paper);outline-offset:2px}
gls-dpm-dialog{z-index:100000}

body.cts-co .is-medium .wc-block-components-main,body.cts-co .is-medium .wc-block-components-sidebar,body.cts-co .is-small .wc-block-components-main,body.cts-co .is-small .wc-block-components-sidebar,body.cts-co .is-mobile .wc-block-components-main,body.cts-co .is-mobile .wc-block-components-sidebar{width:100%!important;flex:1 1 100%!important;max-width:100%}
body.cts-co .wc-block-components-radio-control-accordion-content{white-space:pre-line;line-height:1.55}
