/* TTY cart + checkout design (EMC2 Online) - minimal, Stripe/Shopify style. Scoped to body.tty-co. */
body.tty-co{--g:#3d7a22;--gd:#2f6a17;--ink:#1d2420;--mut:#5b665f;--soft:#f6f8f5;--line:#e3e9e2;--field:#d3dad5;background:#fff}
.tty-co #main,.tty-co #wrapper{background:#fff}
.tty-co #main,.tty-co #main input,.tty-co #main select,.tty-co #main textarea,.tty-co #main button,.tty-co .select2-container{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
.tty-co #main{color:var(--ink)}

/* header + steps */
.tty-co .cart-header{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:8px}
.tty-co .checkout-breadcrumbs{font-size:13px!important;text-transform:none!important;letter-spacing:0!important;font-weight:500;gap:4px}
.tty-co .checkout-breadcrumbs a{color:#8a948d!important;font-weight:500}
.tty-co .checkout-breadcrumbs a.current{color:var(--ink)!important;font-weight:700}
.tty-co .checkout-breadcrumbs .divider{color:#b7bfb9;opacity:1;font-size:12px}
.tty-co .checkout-breadcrumbs .icon-lock{color:var(--g);opacity:1!important}

/* headings */
.tty-co #main h3,.tty-co .cart_totals>h2,.tty-co #order_review_heading{font-size:18px!important;font-weight:700!important;text-transform:none!important;letter-spacing:-.01em!important;color:var(--ink);margin:0 0 14px}
.tty-co .woocommerce-billing-fields>h3,.tty-co .woocommerce-shipping-fields>h3,.tty-co .woocommerce-additional-fields>h3{padding-top:8px}

/* buttons: no shouting */
.tty-co #main .button,.tty-co #main button.button{text-transform:none;letter-spacing:0;border-radius:10px;font-weight:700;box-shadow:none}

/* fields */
.tty-co .form-row{margin-bottom:14px}
.tty-co .form-row label{font-size:13px;font-weight:600;color:#3b443e;margin-bottom:6px;text-transform:none}
.tty-co .form-row .required{color:#b42318;text-decoration:none}
.tty-co #main input.input-text,.tty-co #main input[type=text],.tty-co #main input[type=email],.tty-co #main input[type=tel],.tty-co #main input[type=password],.tty-co #main select,.tty-co #main textarea{height:48px;border:1px solid var(--field);border-radius:8px;box-shadow:none;font-size:16px;padding:0 14px;background:#fff;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}
.tty-co #main textarea{height:auto;min-height:96px;padding:12px 14px}
.tty-co #main input.input-text:focus,.tty-co #main input[type=text]:focus,.tty-co #main input[type=email]:focus,.tty-co #main input[type=tel]:focus,.tty-co #main input[type=password]:focus,.tty-co #main select:focus,.tty-co #main textarea:focus{border-color:var(--g);box-shadow:0 0 0 3px rgba(61,122,34,.15);outline:0}
.tty-co .select2-container .select2-selection--single{height:48px;border:1px solid var(--field);border-radius:8px}
.tty-co .select2-container .select2-selection--single .select2-selection__rendered{line-height:46px;padding-left:14px;font-size:16px;color:var(--ink)}
.tty-co .select2-container .select2-selection--single .select2-selection__arrow{height:46px;right:8px}
.tty-co .select2-container--open .select2-selection--single,.tty-co .select2-container--focus .select2-selection--single{border-color:var(--g);box-shadow:0 0 0 3px rgba(61,122,34,.15)}
.tty-co .woocommerce-invalid input.input-text,.tty-co .woocommerce-invalid .select2-selection{border-color:#d92d20!important}
.tty-co #main input[type=checkbox],.tty-co #main input[type=radio]{accent-color:var(--g);width:18px;height:18px;vertical-align:-3px;margin-right:8px}
.tty-co .woocommerce-form__label-for-checkbox,.tty-co label.checkbox{font-size:14px!important;font-weight:500!important;color:var(--ink)}

/* little notice rows (coupon / login toggles, social login) */
.tty-co .woocommerce-form-coupon-toggle .message-container,.tty-co .woocommerce-form-login-toggle .message-container{padding:0!important;margin:0!important;max-width:none;text-align:left}
.tty-co .woocommerce-form-coupon-toggle .woocommerce-info,.tty-co .woocommerce-form-login-toggle .woocommerce-info{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:12px 16px;font-size:14px;color:#3b443e;margin-bottom:12px}
.tty-co .woocommerce-form-coupon-toggle .woocommerce-info::before,.tty-co .woocommerce-form-login-toggle .woocommerce-info::before{display:none}
.tty-co .woocommerce-form-coupon-toggle a,.tty-co .woocommerce-form-login-toggle a{color:var(--g);font-weight:600}
.tty-co form.checkout_coupon,.tty-co form.woocommerce-form-login{border:1px solid var(--line)!important;border-radius:12px;padding:16px!important;background:#fff}
.tty-co .social-login,.tty-co div.nsl-container{margin:4px 0 14px}

/* express pay + "or" */
.tty-co #wc-stripe-express-checkout-element{margin-bottom:6px}
.tty-co #wc-stripe-express-checkout-button-separator{font-size:12px;letter-spacing:.08em;color:#8a948d;text-transform:uppercase}

/* checkout columns: form on white, summary in a soft panel */
.tty-co form.checkout>.row>.large-7{padding-right:36px}
.tty-co form.checkout>.row>.large-5>.col-inner{background:var(--soft)!important;border:1px solid var(--line);border-radius:16px;box-shadow:none!important;padding:26px 24px}

/* order summary */
.tty-co .woocommerce-checkout-review-order-table{border:0;margin-bottom:16px}
.tty-co .woocommerce-checkout-review-order-table thead{display:none}
.tty-co .woocommerce-checkout-review-order-table td,.tty-co .woocommerce-checkout-review-order-table th{border:0!important;padding:8px 0;font-size:14px;text-transform:none;letter-spacing:0;vertical-align:middle;background:none}
.tty-co .woocommerce-checkout-review-order-table .cart_item td{padding:10px 0}
.tty-co .woocommerce-checkout-review-order-table .cart_item .product-name{display:grid;grid-template-columns:60px minmax(0,1fr);column-gap:14px;align-items:center;font-weight:600;color:var(--ink);line-height:1.35}
.tty-co .woocommerce-checkout-review-order-table .cart_item .product-name .tty-co-thumb{grid-row:1 / span 2}
.tty-co .woocommerce-checkout-review-order-table .cart_item .product-name .tty-co-name,.tty-co .woocommerce-checkout-review-order-table .cart_item .product-name dl.variation{grid-column:2}
.tty-co .woocommerce-checkout-review-order-table .cart_item .product-name dl.variation{align-self:start}
.tty-co .woocommerce-checkout-review-order-table .product-quantity{display:none}
.tty-co .woocommerce-checkout-review-order-table .product-total{text-align:right;font-weight:600;white-space:nowrap;padding-left:12px}
.tty-co .woocommerce-checkout-review-order-table dl.variation{margin:4px 0 0;font-size:12px;font-weight:500;color:var(--mut)}
.tty-co .woocommerce-checkout-review-order-table dl.variation dt,.tty-co .woocommerce-checkout-review-order-table dl.variation dd{display:inline;margin:0;font-size:12px}
.tty-co .woocommerce-checkout-review-order-table dl.variation dd p{display:inline;margin:0}
.tty-co .woocommerce-checkout-review-order-table dl.variation dd::after{content:"";display:block}
.tty-co .tty-co-thumb{position:relative;flex:none;width:60px;height:60px;border:1px solid var(--line);border-radius:10px;background:#fff}
.tty-co .tty-co-thumb img{width:100%;height:100%;object-fit:cover;border-radius:9px;display:block;margin:0}
.tty-co .tty-co-thumb b{position:absolute;top:-8px;right:-8px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:rgba(29,36,32,.78);color:#fff;font-size:12px;font-weight:700;line-height:22px;text-align:center}
.tty-co .woocommerce-checkout-review-order-table tfoot tr:first-child th,.tty-co .woocommerce-checkout-review-order-table tfoot tr:first-child td{border-top:1px solid var(--line)!important;padding-top:16px}
.tty-co .woocommerce-checkout-review-order-table tfoot th{font-weight:500;color:#3b443e}
.tty-co .woocommerce-checkout-review-order-table tfoot td{text-align:right;font-weight:600}
.tty-co .woocommerce-checkout-review-order-table tr.order-total th,.tty-co .woocommerce-checkout-review-order-table tr.order-total td{border-top:1px solid var(--line)!important;padding-top:14px;font-size:20px;font-weight:800;color:var(--ink)}
.tty-co .woocommerce-checkout-review-order-table tr.order-total small{display:block;font-size:12px;font-weight:500;color:var(--mut)}
.tty-co .woocommerce-checkout-review-order-table ul#shipping_method{margin:0;text-align:right}
.tty-co .woocommerce-checkout-review-order-table ul#shipping_method li{margin:0;font-weight:600}

/* gift card + pay later message */
.tty-co .add_gift_card_form{border-top:1px solid var(--line);padding-top:14px;margin-top:4px}
.tty-co .add_gift_card_form h4{font-size:14px;font-weight:600;text-transform:none}

/* payment methods as one card */
.tty-co #payment{background:transparent!important;padding:0!important;border:0}
.tty-co #payment ul.wc_payment_methods{border:1px solid var(--field)!important;border-radius:12px;background:#fff;padding:0!important;margin:0 0 18px!important;overflow:hidden;list-style:none}
.tty-co #payment ul.wc_payment_methods li{margin:0!important;padding:14px 16px!important;border-top:1px solid var(--line);transition:background .15s ease}
.tty-co #payment ul.wc_payment_methods li:first-child{border-top:0}
.tty-co #payment ul.wc_payment_methods li:has(>input:checked){background:#f6faf3}
.tty-co #payment ul.wc_payment_methods li>label{display:inline;font-size:15px;font-weight:600;color:var(--ink);cursor:pointer}
.tty-co #payment ul.wc_payment_methods li>label img{max-height:22px;width:auto;vertical-align:middle;margin-left:6px}
.tty-co #payment .payment_box{background:transparent!important;padding:10px 0 0 26px!important;margin:0!important;font-size:14px;color:var(--mut);border:0}
.tty-co #payment .payment_box::before{display:none!important}
.tty-co #payment .payment_box p:last-child{margin-bottom:0}

/* terms, privacy, pay button, secure line */
.tty-co .woocommerce-terms-and-conditions-wrapper{margin:0 0 14px}
.tty-co .woocommerce-terms-and-conditions-wrapper .form-row{margin:0}
.tty-co .woocommerce-terms-and-conditions-wrapper a{color:var(--g);font-weight:600}
.tty-co .woocommerce-privacy-policy-text p{font-size:12px;color:#6b756e;margin:10px 0 0}
.tty-co .woocommerce-privacy-policy-text a{color:#3b443e}
.tty-co #place_order{width:100%;min-height:56px;margin:4px 0 0;border-radius:10px;background:var(--g)!important;border-color:var(--g)!important;color:#fff!important;font-size:17px!important;font-weight:700;text-transform:none!important;letter-spacing:0!important;box-shadow:0 1px 2px rgba(29,36,32,.12)}
.tty-co #place_order:hover{background:var(--gd)!important;border-color:var(--gd)!important}
.tty-co .tty-co-secure{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;font-size:12.5px;line-height:1.45;color:var(--mut)}
.tty-co .tty-co-secure svg{flex:none;margin-top:1px;color:var(--g)}
.tty-co .tty-co-secure strong{color:var(--ink);font-weight:600}
.tty-co .tty-co-toggle{display:none}

/* cart page */
.tty-co .woocommerce-cart-form .shop_table{border:0}
.tty-co .woocommerce-cart-form .shop_table thead th{font-size:12px;letter-spacing:.06em;color:#8a948d;font-weight:700;border-bottom:1px solid var(--line);padding:10px 8px}
.tty-co .woocommerce-cart-form .shop_table td{border-bottom:1px solid #eef1ee;padding:16px 8px;vertical-align:middle}
.tty-co .woocommerce-cart-form .product-thumbnail img{width:84px;height:84px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.tty-co .woocommerce-cart-form .product-name a{font-weight:700;color:var(--ink);font-size:15px;line-height:1.35}
.tty-co .woocommerce-cart-form .product-name dl.variation{font-size:12px;color:var(--mut);margin-top:4px}
.tty-co .woocommerce-cart-form .product-subtotal{font-weight:700}
.tty-co .woocommerce-cart-form a.remove{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid var(--line)!important;border-radius:50%!important;color:#8a948d!important;font-size:17px!important;line-height:1!important;background:#fff}
.tty-co .woocommerce-cart-form a.remove:hover{color:#b42318!important;border-color:#f3c7c3!important;background:#fff5f4!important}
.tty-co .ux-quantity{border:1px solid var(--field);border-radius:8px;overflow:hidden;display:inline-flex}
.tty-co .ux-quantity .ux-quantity__button,.tty-co .ux-quantity input.qty{border:0!important;height:40px;background:#fff;box-shadow:none}
.tty-co #main .ux-quantity input.qty{width:44px;padding:0;border-radius:0;height:40px}
.tty-co .button-continue-shopping{border-radius:10px!important;border-width:1px!important;font-weight:600!important}
.tty-co .cart-sidebar.col-inner{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:26px 24px}
.tty-co .cart_totals table thead{display:none}
.tty-co .cart_totals table th,.tty-co .cart_totals table td{border:0!important;padding:8px 0;font-size:14px;text-transform:none;letter-spacing:0}
.tty-co .cart_totals table th{font-weight:500;color:#3b443e}
.tty-co .cart_totals table td{text-align:right;font-weight:600}
.tty-co .cart_totals tr.order-total th,.tty-co .cart_totals tr.order-total td{border-top:1px solid var(--line)!important;padding-top:14px;font-size:20px;font-weight:800;color:var(--ink)}
.tty-co .cart_totals .shipping-calculator-button{color:var(--g);font-weight:600}
.tty-co .wc-proceed-to-checkout .checkout-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;border-radius:10px;font-size:17px!important;background:var(--g)!important;border-color:var(--g)!important}
.tty-co .wc-proceed-to-checkout .checkout-button:hover{background:var(--gd)!important}
.tty-co .ux-cart-coupon{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}
.tty-co .ux-cart-coupon .widget-title{font-size:14px!important;font-weight:600;text-transform:none;letter-spacing:0;margin-bottom:8px}
.tty-co .ux-cart-coupon .is-divider{display:none}
.tty-co #main button[name=apply_coupon],.tty-co #main #wc_gc_cart_redeem_send{background:#fff!important;color:var(--ink)!important;border:1px solid var(--field)!important;border-radius:8px;min-height:48px}
.tty-co #main button[name=apply_coupon]:hover,.tty-co #main #wc_gc_cart_redeem_send:hover{border-color:var(--g)!important;color:var(--g)!important}

/* phones and small tablets */
@media (max-width:849px){
	.tty-co form.checkout>.row>.large-7{padding-right:15px}
	.tty-co form.checkout>.row>.large-5>.col-inner{padding:20px 16px;border-radius:14px}
	.tty-co.tty-co-js .tty-co-toggle{display:inline-flex;align-items:center;gap:6px;margin:0 0 0 auto;padding:0 12px;min-height:36px;border:1px solid var(--field);border-radius:999px;background:#fff;color:var(--g);font-size:14px;font-weight:600;text-transform:none;letter-spacing:0}
	.tty-co.tty-co-js #order_review_heading{display:flex;align-items:center;gap:12px}
	.tty-co.tty-co-js:not(.tty-co-sum-open) .woocommerce-checkout-review-order-table tbody,.tty-co.tty-co-js:not(.tty-co-sum-open) .woocommerce-checkout-review-order-table tfoot tr:not(.order-total){display:none}
	.tty-co.tty-co-js:not(.tty-co-sum-open) .woocommerce-checkout-review-order-table tr.order-total th,.tty-co.tty-co-js:not(.tty-co-sum-open) .woocommerce-checkout-review-order-table tr.order-total td{border-top:0!important;padding-top:0}
	.tty-co .cart-sidebar.col-inner{padding:20px 16px}
	.tty-co .woocommerce-cart-form .product-thumbnail img{width:64px;height:64px}
}

/* one "gift card or discount code" field (JS feeds the hidden coupon + gift card forms) */
.tty-co.tty-co-codes-on .add_gift_card_form,.tty-co.tty-co-codes-on .woocommerce-form-coupon-toggle,.tty-co.tty-co-codes-on form.checkout_coupon,.tty-co.tty-co-codes-on form.ux-cart-coupon{display:none!important}
.tty-co .tty-co-codes{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:4px 0 18px;padding:2px 0}
.tty-co #main .tty-co-codes__toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;margin:0;padding:0;background:none!important;border:0;box-shadow:none;color:var(--ink);font-size:15px;font-weight:600;line-height:1.3;text-align:left;text-transform:none!important;letter-spacing:0!important;cursor:pointer}
.tty-co .tty-co-codes__toggle svg{color:var(--g);flex:none}
.tty-co .tty-co-codes__toggle span{flex:1}
.tty-co .tty-co-codes__toggle i{width:9px;height:9px;border-right:2px solid #8a948d;border-bottom:2px solid #8a948d;transform:rotate(45deg);margin:-4px 4px 0 0;transition:transform .2s ease}
.tty-co .tty-co-codes.is-open .tty-co-codes__toggle i{transform:rotate(-135deg);margin-top:4px}
.tty-co .tty-co-codes__body{padding:2px 0 14px}
.tty-co .tty-co-codes__row{display:flex;gap:8px}
.tty-co #main .tty-co-codes__input{flex:1;min-width:0;margin:0;text-transform:uppercase;letter-spacing:.04em}
.tty-co #main .tty-co-codes__input::placeholder{text-transform:none;letter-spacing:0}
.tty-co #main .tty-co-codes__apply{flex:none;min-height:48px;margin:0;padding:0 18px;border-radius:8px;background:var(--ink)!important;border:1px solid var(--ink)!important;color:#fff!important;font-size:15px;font-weight:700;text-transform:none;letter-spacing:0;box-shadow:none}
.tty-co #main .tty-co-codes__apply:hover{background:#000!important}
.tty-co .tty-co-codes__msg{margin:8px 0 0;font-size:13px;color:var(--mut);min-height:0}
.tty-co .tty-co-codes__msg:empty{display:none}
.tty-co .tty-co-codes__msg.is-ok{color:var(--gd)}
.tty-co .tty-co-codes__msg.is-err{color:#b42318}
.tty-co .cart_totals .tty-co-codes{margin-top:0}

/* checkout: Facebook login inside the "Returning customer" panel */
.tty-co form.woocommerce-form-login .tty-co-social{padding:4px 0 0!important;margin:0}
.tty-co form.woocommerce-form-login .tty-co-social .social-button{width:100%;margin:0;border-radius:10px!important;justify-content:center;display:flex;align-items:center;gap:8px;min-height:48px;text-transform:none;letter-spacing:0}
.tty-co .tty-co-or{display:flex;align-items:center;gap:12px;margin:14px 0;font-size:12px;color:#8a948d}
.tty-co .tty-co-or::before,.tty-co .tty-co-or::after{content:"";flex:1;height:1px;background:var(--line)}

/* summary panels in the store-notice green (owner 21 Oct) */
.tty-co form.checkout>.row>.large-5>.col-inner,.tty-co .cart-sidebar.col-inner{background:#eef5ea!important;border-color:#cfe2c6!important}
.tty-co .tty-co-codes,.tty-co .woocommerce-checkout-review-order-table tfoot tr:first-child th,.tty-co .woocommerce-checkout-review-order-table tfoot tr:first-child td,.tty-co .woocommerce-checkout-review-order-table tr.order-total th,.tty-co .woocommerce-checkout-review-order-table tr.order-total td,.tty-co .cart_totals tr.order-total th,.tty-co .cart_totals tr.order-total td{border-color:#cfe2c6!important}
.tty-co .tty-co-thumb{border-color:#cfe2c6}

/* cart: Stripe express buttons in one compact row (equal widths for however many the device offers) */
.woocommerce-cart #wc-stripe-express-checkout-element{flex-wrap:wrap;gap:8px}
.woocommerce-cart #wc-stripe-express-checkout-element:not([style*="none"]){display:flex}
.woocommerce-cart #wc-stripe-express-checkout-element > div{flex:1 1 0;min-width:96px;margin:0!important}
/* Stripe leaves the Apple Pay button blank below about 115 px wide (worked at 118, blank at 107 on the owner's iPhone cart). */
.woocommerce-cart #wc-stripe-express-checkout-element > #wc-stripe-express-checkout-element-applePay:not(.tty-ece-gone){min-width:118px}
.woocommerce-cart #wc-stripe-express-checkout-element > div.tty-ece-gone{flex:0 0 0;min-width:0;width:0;margin:0 0 0 -8px!important;overflow:hidden;visibility:hidden}

/* Checkout errors (e.g. missing fields, payment refused): a clear red box instead of plain centred text. */
.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error{margin:0 0 16px!important;padding:14px 16px!important;border:1px solid #efc4be;border-radius:10px;background:#fdf1ef;list-style:none}
.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error li{margin:0;padding:0}
.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error li+li{margin-top:6px}
.woocommerce-checkout .woocommerce-NoticeGroup-checkout .message-container{padding:0!important;text-align:left!important;color:#8a1f11!important;font-size:15px;line-height:1.5}
.woocommerce-checkout .woocommerce-NoticeGroup-checkout .message-container a{color:#8a1f11!important;text-decoration:underline;font-weight:700}
.woocommerce-checkout .woocommerce-NoticeGroup-checkout .message-icon{display:none}
/* No express buttons on the page (e.g. overseas connections): drop the divider that sat under them. */
body.woocommerce-checkout:not(:has(#wc-stripe-express-checkout-element)) .woocommerce-billing-fields{border-top:0!important;padding-top:0!important}
