/*
 * Víkingur 26: what the cart (page-karfa.php), the checkout
 * (page-checkout.php) and the account area (page-minar-sidur.php) share,
 * after the design's form fields (FField, FInput in
 * ui_kits/web/Facilities.jsx) and buttons. The markup is WooCommerce's own
 * (and Breakdance's quantity stepper); WooCommerce's stylesheets are not
 * loaded on these pages (inc/util.php), so this file gives it the design's
 * notices, fields and buttons. The checkout has the account area's field
 * rules. cart.css, checkout.css and account.css lay out each page.
 */

.vik-cart .woocommerce,.vik-acct .woocommerce,.vik-checkout .woocommerce{font-size:16px;line-height:1.5;color:var(--ink)}
.vik-cart .woocommerce :where(h2,h3),.vik-acct .woocommerce :where(h2,h3),.vik-checkout .woocommerce :where(h2,h3){margin:0 0 16px;font-family:var(--font-condensed);font-weight:700;font-size:22px;line-height:1.15;letter-spacing:.02em;text-transform:uppercase}
.vik-cart .woocommerce a:not(.button),.vik-acct .woocommerce a:not(.button),.vik-checkout .woocommerce a:not(.button){color:var(--ink);text-underline-offset:3px}
.vik-cart .woocommerce a:not(.button):hover,.vik-acct .woocommerce a:not(.button):hover,.vik-checkout .woocommerce a:not(.button):hover{color:var(--text-brand)}
.vik-cart .clear,.vik-acct .clear,.vik-checkout .clear{clear:both}

/* ── Notices (added, updated, errors) ── */
.vik-cart .woocommerce-notices-wrapper:empty,.vik-acct .woocommerce-notices-wrapper:empty,.vik-checkout .woocommerce-notices-wrapper:empty{display:none}
.vik-cart :is(.woocommerce-message,.woocommerce-info,.woocommerce-error),.vik-acct :is(.woocommerce-message,.woocommerce-info,.woocommerce-error),.vik-checkout :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:0 0 24px;padding:14px 18px;list-style:none;border:1px solid var(--border-hairline);border-radius:var(--radius-card);background:var(--gray-50);font-size:15px;line-height:1.5;outline:none}
.vik-cart .woocommerce-message,.vik-acct .woocommerce-message,.vik-checkout .woocommerce-message{border-color:var(--ink);background:var(--white)}
.vik-cart .woocommerce-error,.vik-acct .woocommerce-error,.vik-checkout .woocommerce-error{display:grid;gap:6px;border-color:var(--red-100);background:var(--red-50);color:var(--ink)}
.vik-cart .woocommerce-error li,.vik-acct .woocommerce-error li,.vik-checkout .woocommerce-error li{margin:0}
.vik-cart :is(.woocommerce-message,.woocommerce-info) .button,.vik-acct :is(.woocommerce-message,.woocommerce-info) .button,.vik-checkout :is(.woocommerce-message,.woocommerce-info) .button{order:2;margin-left:auto}

/* ── Buttons: WooCommerce's .button as the design's ── */
.vik-cart .woocommerce .button,.vik-acct .woocommerce .button,.vik-checkout .woocommerce .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0;padding:0 20px;border:1px solid var(--black);border-radius:var(--radius-pill);background:var(--white);color:var(--ink);cursor:pointer;font-family:var(--font-condensed);font-weight:700;font-size:15px;line-height:1.1;letter-spacing:.06em;text-align:center;text-decoration:none;text-transform:uppercase;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}
.vik-cart .woocommerce .button:hover,.vik-acct .woocommerce .button:hover,.vik-checkout .woocommerce .button:hover{background:var(--gray-50);color:var(--ink)}
.vik-cart .woocommerce .button:focus-visible,.vik-acct .woocommerce .button:focus-visible,.vik-checkout .woocommerce .button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.vik-cart .woocommerce .button:is(:disabled,.disabled),.vik-acct .woocommerce .button:is(:disabled,.disabled),.vik-checkout .woocommerce .button:is(:disabled,.disabled){opacity:.45;cursor:not-allowed;background:var(--white)}
/* The main action of each form: red. */
.vik-cart .woocommerce :is(.checkout-button,.wc-backward),.vik-acct .woocommerce :is(.woocommerce-form-login__submit,.woocommerce-Button[name=save_account_details],.button[name=save_address],.woocommerce-ResetPassword .button,.woocommerce-Button.button[type=submit]),.vik-checkout .woocommerce :is(.woocommerce-form-login__submit,.woocommerce-Button[name=save_account_details],.button[name=save_address],.woocommerce-ResetPassword .button,.woocommerce-Button.button[type=submit]){border-color:var(--action-primary);background:var(--action-primary);color:#fff}
.vik-cart .woocommerce :is(.checkout-button,.wc-backward):hover,.vik-acct .woocommerce :is(.woocommerce-form-login__submit,.woocommerce-Button[name=save_account_details],.button[name=save_address],.woocommerce-ResetPassword .button,.woocommerce-Button.button[type=submit]):hover,.vik-checkout .woocommerce :is(.woocommerce-form-login__submit,.woocommerce-Button[name=save_account_details],.button[name=save_address],.woocommerce-ResetPassword .button,.woocommerce-Button.button[type=submit]):hover{border-color:var(--action-primary-hover);background:var(--action-primary-hover);color:#fff}

/* ── Fields ── */
.vik-cart .woocommerce label,.vik-acct .woocommerce label,.vik-checkout .woocommerce label,.vik-acct .woocommerce legend,.vik-checkout .woocommerce legend{display:block;margin:0 0 8px;font-family:var(--font-condensed);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}
/* A label wrapped round its own radio or checkbox (Mailchimp's newsletter
   choices, "Muna eftir mér") reads as a sentence beside the control. */
.vik-cart .woocommerce label:has(>input[type=radio],>input[type=checkbox]),.vik-acct .woocommerce label:has(>input[type=radio],>input[type=checkbox]),.vik-checkout .woocommerce label:has(>input[type=radio],>input[type=checkbox]){display:flex;align-items:center;gap:10px;margin:0;font-family:var(--font-body);font-weight:400;font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink);cursor:pointer}
.vik-cart .woocommerce label>input[type=radio],.vik-cart .woocommerce label>input[type=checkbox],.vik-acct .woocommerce label>input[type=radio],.vik-checkout .woocommerce label>input[type=radio],.vik-acct .woocommerce label>input[type=checkbox],.vik-checkout .woocommerce label>input[type=checkbox]{flex:none;width:18px;height:18px;margin:0;accent-color:var(--vik-astrida)}
.vik-cart .woocommerce .required,.vik-acct .woocommerce .required,.vik-checkout .woocommerce .required{color:var(--vik-astrida);text-decoration:none;border:0}
.vik-cart .woocommerce :is(input.input-text,input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],textarea,select),.vik-acct .woocommerce :is(input.input-text,input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],textarea,select),.vik-checkout .woocommerce :is(input.input-text,input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],textarea,select){box-sizing:border-box;width:100%;height:52px;margin:0;padding:0 16px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--white);font-family:var(--font-body);font-size:16px;color:var(--ink);box-shadow:none;outline:none}
.vik-acct .woocommerce textarea,.vik-checkout .woocommerce textarea{height:auto;min-height:120px;padding:14px 16px;line-height:1.5}
.vik-cart .woocommerce :is(input,textarea,select):focus,.vik-acct .woocommerce :is(input,textarea,select):focus,.vik-checkout .woocommerce :is(input,textarea,select):focus{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.vik-cart .woocommerce input::placeholder,.vik-acct .woocommerce input::placeholder,.vik-checkout .woocommerce input::placeholder{color:var(--gray-400)}
.vik-acct .woocommerce .woocommerce-invalid :is(input,select),.vik-checkout .woocommerce .woocommerce-invalid :is(input,select){border-color:var(--vik-astrida)}
.vik-acct .woocommerce input[type=checkbox],.vik-checkout .woocommerce input[type=checkbox],.vik-acct .woocommerce input[type=radio],.vik-checkout .woocommerce input[type=radio]{width:18px;height:18px;margin:0;accent-color:var(--ink)}
.vik-acct .woocommerce .form-row,.vik-checkout .woocommerce .form-row{margin:0 0 20px;padding:0}
.vik-acct .woocommerce .form-row em,.vik-checkout .woocommerce .form-row em,.vik-acct .woocommerce .description,.vik-checkout .woocommerce .description{display:block;margin-top:6px;font-size:14px;font-style:normal;color:var(--text-secondary)}
/* Show password (WooCommerce's button, without its icon font). */
.vik-acct .woocommerce .password-input,.vik-checkout .woocommerce .password-input{position:relative;display:block}
.vik-acct .woocommerce .password-input input,.vik-checkout .woocommerce .password-input input{padding-right:52px}
.vik-acct .woocommerce .show-password-input,.vik-checkout .woocommerce .show-password-input{position:absolute;right:4px;top:4px;width:44px;height:44px;padding:0;border:0;background:none;color:var(--text-secondary);cursor:pointer}
.vik-acct .woocommerce .show-password-input::before,.vik-checkout .woocommerce .show-password-input::before{content:"";position:absolute;left:12px;top:12px;width:20px;height:20px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' 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") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' 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") center/contain no-repeat}
.vik-acct .woocommerce .show-password-input.display-password,.vik-checkout .woocommerce .show-password-input.display-password{color:var(--ink)}
.vik-acct .woocommerce .show-password-input:focus-visible,.vik-checkout .woocommerce .show-password-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}
/* Password strength (wc-password-strength-meter). */
.vik-acct .woocommerce-password-strength,.vik-checkout .woocommerce-password-strength{margin-top:8px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--gray-50);font-size:14px;font-weight:600}
.vik-acct .woocommerce-password-strength.short,.vik-checkout .woocommerce-password-strength.short,.vik-acct .woocommerce-password-strength.bad,.vik-checkout .woocommerce-password-strength.bad{background:var(--red-50);color:var(--red-600)}
.vik-acct .woocommerce-password-strength.good,.vik-checkout .woocommerce-password-strength.good{background:var(--gray-100)}
.vik-acct .woocommerce-password-strength.strong,.vik-checkout .woocommerce-password-strength.strong{background:var(--ink);color:#fff}
.vik-acct .woocommerce-password-hint,.vik-checkout .woocommerce-password-hint{display:block;margin-top:6px;font-size:14px;color:var(--text-secondary)}
/* The country and county selects (selectWoo). */
.vik-acct .select2-container .select2-selection--single,.vik-checkout .select2-container .select2-selection--single{height:52px;border:1px solid var(--border-strong);border-radius:var(--radius-sm)}
.vik-acct .select2-container .select2-selection--single .select2-selection__rendered,.vik-checkout .select2-container .select2-selection--single .select2-selection__rendered{padding:0 40px 0 16px;line-height:50px;font-size:16px;color:var(--ink)}
.vik-acct .select2-container .select2-selection--single .select2-selection__arrow,.vik-checkout .select2-container .select2-selection--single .select2-selection__arrow{top:13px;right:10px}
.vik-acct .select2-container--focus .select2-selection--single,.vik-checkout .select2-container--focus .select2-selection--single,.vik-acct .select2-container--open .select2-selection--single,.vik-checkout .select2-container--open .select2-selection--single{border-color:var(--ink)}

/* ── Quantity (Breakdance's stepper around WooCommerce's field) ── */
.vik-cart .woocommerce .quantity{display:inline-flex;align-items:center;height:48px;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);background:var(--white)}
.vik-cart .woocommerce .quantity input.qty{width:44px;height:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-family:var(--font-body);font-weight:700;font-size:16px;text-align:center;-moz-appearance:textfield}
.vik-cart .woocommerce .quantity input.qty:focus{box-shadow:inset 0 0 0 2px var(--ink)}
.vik-cart .woocommerce .quantity input.qty::-webkit-outer-spin-button,.vik-cart .woocommerce .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.vik-cart .woocommerce .quantity--hidden{display:none}
.vik-cart .woocommerce .bde-quantity-button{position:relative;flex:none;width:40px;height:100%;padding:0;border:0;background:none;color:var(--ink);cursor:pointer}
.vik-cart .woocommerce .bde-quantity-button::before{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:currentColor;transform:translate(-50%,-50%)}
.vik-cart .woocommerce .bde-quantity-button--inc::after{content:"";position:absolute;left:50%;top:50%;width:2px;height:12px;background:currentColor;transform:translate(-50%,-50%)}
.vik-cart .woocommerce .bde-quantity-button:hover{background:var(--gray-50)}
.vik-cart .woocommerce .bde-quantity-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}

/* ── Tables: no table chrome; each page lays its rows out ── */
.vik-cart .woocommerce .shop_table,.vik-acct .woocommerce .shop_table,.vik-checkout .woocommerce .shop_table{width:100%;margin:0;border:0;border-collapse:collapse}
.vik-cart .woocommerce .shop_table :is(th,td),.vik-acct .woocommerce .shop_table :is(th,td),.vik-checkout .woocommerce .shop_table :is(th,td){padding:0;border:0;text-align:left;vertical-align:middle}
.vik-cart .woocommerce .amount,.vik-acct .woocommerce .amount,.vik-checkout .woocommerce .amount{font-variant-numeric:tabular-nums;white-space:nowrap}
.vik-cart .woocommerce del,.vik-acct .woocommerce del,.vik-checkout .woocommerce del{color:var(--text-secondary)}
.vik-cart .woocommerce ins,.vik-acct .woocommerce ins,.vik-checkout .woocommerce ins{text-decoration:none;color:var(--text-brand)}

/* WooCommerce's "busy" overlay while it redraws by Ajax. */
.vik-cart .blockUI.blockOverlay,.vik-acct .blockUI.blockOverlay,.vik-checkout .blockUI.blockOverlay{background:var(--white)!important}

@media (max-width:640px){
	.vik-cart :is(.woocommerce-message,.woocommerce-info) .button,.vik-acct :is(.woocommerce-message,.woocommerce-info) .button,.vik-checkout :is(.woocommerce-message,.woocommerce-info) .button{width:100%;margin-left:0}
}
