/* Shop-specific styling: archive, single product, cart, checkout. */

/* ------------------------------------------------- Woo primary buttons */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button,
#payment #place_order,
.woocommerce #place_order{
  background:var(--fq-grad);color:#fff;border:0;border-radius:999px;
  padding:15px 28px;font-size:15px;font-weight:700;line-height:1.2;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
#payment #place_order:hover{
  color:#fff;box-shadow:0 10px 24px rgba(230,0,126,.28);transform:translateY(-1px)
}
.woocommerce .cart_totals .checkout-button,
.woocommerce .wc-proceed-to-checkout .checkout-button{display:block;width:100%;text-align:center}
.woocommerce button.button.alt:disabled,.woocommerce button.button.alt[disabled]{opacity:.5;box-shadow:none;transform:none}

/* --------------------------------------------------------------- archive */
.fq-archive-head{padding:28px 0 8px;background:linear-gradient(180deg,#fff, #FBFBFC)}
.fq-archive-head h1{font-size:clamp(28px,3vw,42px);margin-bottom:10px}
.fq-archive-desc{max-width:760px;color:var(--fq-ink-2)}
.fq-cat-chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 6px}
.fq-chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--fq-line);border-radius:999px;padding:9px 16px;font-size:14px;font-weight:600}
.fq-chip span{color:var(--fq-muted);font-size:12.5px}
.fq-chip:hover{border-color:var(--fq-pink);color:var(--fq-pink)}
.fq-chip.is-active{background:var(--fq-ink);border-color:var(--fq-ink);color:#fff}
.fq-chip.is-active span{color:rgba(255,255,255,.7)}
.fq-archive-body{padding:22px 0 72px}
.fq-archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px;font-size:14px;color:var(--fq-muted)}
.fq-archive-toolbar .woocommerce-ordering select{padding:10px 14px;border-radius:999px;border:1px solid var(--fq-line);background:#fff;font-family:inherit}
.fq-empty{padding:40px 0;color:var(--fq-muted)}
.woocommerce nav.woocommerce-pagination ul{display:flex;gap:8px;list-style:none;padding:32px 0 0;justify-content:center;border:0}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;border-radius:999px;border:1px solid var(--fq-line);font-weight:700}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--fq-grad);color:#fff;border-color:transparent}

/* -------------------------------------------------------- single product */
.fq-single{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:52px;padding:18px 0 64px;align-items:start}
.single-product .fq-single-gallery .woocommerce-product-gallery{float:none!important;width:100%!important;margin:0!important}
.woocommerce div.product .fq-tiers,.woocommerce div.product .fq-other-langs,.woocommerce div.product .related.products,.woocommerce div.product .upsells.products{clear:both}
.woocommerce-product-gallery__wrapper{border:1px solid var(--fq-line);border-radius:var(--fq-radius);background:var(--fq-soft);padding:26px}
.woocommerce-product-gallery__image img{border-radius:12px}
.woocommerce-product-gallery .flex-control-thumbs{display:flex;gap:10px;margin-top:14px;padding:0;list-style:none}
.woocommerce-product-gallery .flex-control-thumbs li{width:72px}
.woocommerce-product-gallery .flex-control-thumbs img{border-radius:10px;border:1px solid var(--fq-line);cursor:pointer}

.fq-single-summary{margin:0;float:none!important;width:100%!important}
.fq-single-summary .fq-card-cat{display:inline-block;margin-bottom:10px}
.single-product .product_title{font-size:clamp(26px,2.6vw,38px);margin-bottom:8px}
.single-product .price{display:flex;align-items:baseline;gap:8px;font-size:30px;font-weight:800;color:var(--fq-ink);margin:6px 0 18px}
.single-product .price small{font-size:13px;color:var(--fq-muted)}
.single-product .woocommerce-product-details__short-description{color:var(--fq-ink-2)}
.single-product form.cart{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0}
.single-product .quantity input[type=number]{width:96px;padding:13px 14px;border-radius:999px;border:1px solid var(--fq-line);font-family:inherit;font-weight:700}
.single-product .single_add_to_cart_button{min-width:220px}
.single-product .variations{width:100%;margin:0 0 18px;border-collapse:collapse}
.single-product .variations th,.single-product .variations td{padding:10px 0;text-align:left;vertical-align:middle;border-bottom:1px solid var(--fq-line)}
.single-product .variations th{width:38%;font-size:14px;font-weight:700;color:var(--fq-ink-2)}
.single-product .variations select{
  width:100%;padding:12px 14px;border:1px solid var(--fq-line);border-radius:var(--fq-radius-sm);
  font-family:inherit;font-size:15px;background:#fff;color:var(--fq-ink)
}
.single-product .variations select:focus{outline:none;border-color:var(--fq-pink);box-shadow:0 0 0 3px rgba(230,0,126,.12)}
.single-product .reset_variations{font-size:13px;color:var(--fq-muted)}
.single-product .woocommerce-variation-price{margin-bottom:12px;font-size:20px;font-weight:800}
.single-product .single_add_to_cart_button.disabled,.single-product .single_add_to_cart_button[disabled]{opacity:.55}
.fq-price-req{color:var(--fq-orange);font-size:20px;font-weight:800}
.fq-quote{background:var(--fq-soft);border:1px solid var(--fq-line);border-radius:var(--fq-radius);padding:20px;margin:18px 0}
.fq-quote-text{font-size:14.5px;color:var(--fq-ink-2);margin-bottom:14px}
.single-product .product_meta{font-size:13px;color:var(--fq-muted)}
.fq-facts{width:100%;border-collapse:collapse;margin:22px 0;font-size:14.5px}
.fq-facts th,.fq-facts td{text-align:left;padding:10px 0;border-bottom:1px solid var(--fq-line);vertical-align:top}
.fq-facts th{width:42%;color:var(--fq-muted);font-weight:600}
.fq-ship-note{display:flex;gap:10px;align-items:flex-start;background:var(--fq-soft);border:1px solid var(--fq-line);border-radius:var(--fq-radius-sm);padding:14px 16px;font-size:14px;color:var(--fq-ink-2);margin:18px 0}
.fq-ship-icon{font-size:16px;line-height:1.4}
.fq-tiers{margin:8px 0 36px}
.fq-tiers h2,.fq-other-langs h2{font-size:22px;margin-bottom:14px}
.fq-tiers table,.fq-tiers th,.fq-tiers td{border:1px solid var(--fq-line);border-collapse:collapse}
.fq-tiers table{width:100%;max-width:520px;font-size:15px}
.fq-tiers th,.fq-tiers td{padding:12px 16px;text-align:left}
.fq-tiers thead th{background:var(--fq-soft);font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--fq-muted)}
.fq-tiers-note{font-size:14px;color:var(--fq-muted);margin-top:10px}
.fq-lang-box{border:1px solid var(--fq-line);border-radius:var(--fq-radius-sm);padding:14px 18px;margin-bottom:10px;background:#fff}
.fq-lang-box summary{cursor:pointer;font-weight:700}
.fq-lang-box>div{margin-top:12px;color:var(--fq-ink-2)}
.related.products,.upsells.products{margin-top:48px}
.related.products h2,.upsells.products h2{margin-bottom:22px}

/* ------------------------------------------------------------ cart page */
.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:40px;padding:40px 0 72px;align-items:start}
.woocommerce-cart .woocommerce>h1{grid-column:1/-1;margin-bottom:8px}
.woocommerce-cart table.shop_table{border:1px solid var(--fq-line);border-radius:var(--fq-radius);border-collapse:separate;border-spacing:0;overflow:hidden}
.woocommerce-cart table.shop_table th{background:var(--fq-soft);padding:14px 16px;text-align:left;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--fq-muted)}
.woocommerce-cart table.shop_table td{padding:16px;border-top:1px solid var(--fq-line);vertical-align:middle}
.woocommerce-cart table.shop_table img{width:72px;border-radius:10px}
.woocommerce-cart .cart_totals{background:var(--fq-soft);border:1px solid var(--fq-line);border-radius:var(--fq-radius);padding:26px}
.woocommerce-cart .cart_totals h2{font-size:20px}
.woocommerce-cart .cart_totals table{width:100%}
.woocommerce-cart .cart_totals th,.woocommerce-cart .cart_totals td{padding:8px 0;text-align:left}
.woocommerce-cart .cart_totals .order-total td,.woocommerce-cart .cart_totals .order-total th{font-size:19px;font-weight:800}
.woocommerce-cart .actions .coupon{display:flex;gap:10px}

/* -------------------------------------------------------- checkout page */
.woocommerce-checkout .woocommerce{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:44px;padding:40px 0 72px;align-items:start}
.woocommerce-checkout .woocommerce>h1{grid-column:1/-1}
.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:auto}
.woocommerce-checkout #order_review{background:var(--fq-soft);border:1px solid var(--fq-line);border-radius:var(--fq-radius);padding:26px}
.woocommerce-checkout table.shop_table{border:0;border-collapse:collapse;width:100%}
.woocommerce-checkout table.shop_table th,.woocommerce-checkout table.shop_table td{padding:10px 0;border-bottom:1px solid var(--fq-line);text-align:left}
.woocommerce-checkout .form-row{margin-bottom:14px}
.fq-checkout-note{font-size:14px;color:var(--fq-ink-2);background:#fff;border:1px dashed var(--fq-line);border-radius:var(--fq-radius-sm);padding:12px 14px}
#payment .wc_payment_methods{list-style:none;padding:0;margin:0 0 16px}
#payment .wc_payment_method{background:#fff;border:1px solid var(--fq-line);border-radius:var(--fq-radius-sm);padding:14px 16px;margin-bottom:10px}
#payment .wc_payment_method label{font-weight:700}

/* ---------------------------------------------------------- forms/notices */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,.woocommerce-page form .form-row textarea{
  width:100%;padding:12px 14px;border:1px solid var(--fq-line);border-radius:var(--fq-radius-sm);
  font-family:inherit;font-size:15px;background:#fff;color:var(--fq-ink);
}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{
  outline:none;border-color:var(--fq-pink);box-shadow:0 0 0 3px rgba(230,0,126,.12)
}
.woocommerce form .form-row label{font-size:13.5px;font-weight:700;color:var(--fq-ink-2);margin-bottom:4px;display:block}
.woocommerce form .password-input{position:relative;display:block}
.woocommerce form .show-password-input{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  width:22px;height:22px;padding:0;margin:0;border:0;background:none;cursor:pointer;opacity:.55
}
.woocommerce form .show-password-input:hover{opacity:1;box-shadow:none;transform:translateY(-50%)}
.woocommerce form .show-password-input::after{
  content:'';display:block;width:22px;height:22px;background-repeat:no-repeat;background-position:center;background-size:20px 20px;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20fill='none'%20stroke='%2314171B'%20stroke-width='2'%3E%3Cpath%20d='M2%2012s4-7%2010-7%2010%207%2010%207-4%207-10%207-10-7-10-7z'/%3E%3Ccircle%20cx='12'%20cy='12'%20r='3'/%3E%3C/svg%3E")
}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  list-style:none;border:1px solid var(--fq-line);border-top:3px solid var(--fq-pink);background:#fff;
  border-radius:var(--fq-radius-sm);padding:16px 20px;margin:0 0 20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap
}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}
.woocommerce-message .button,.woocommerce-info .button{margin-left:auto}
.woocommerce-error{border-top-color:var(--fq-red)}
.woocommerce-notices-wrapper{padding:0}

/* search + product search form */
.fq-search-bar .woocommerce-product-search{display:flex;gap:10px;max-width:640px}
.fq-search-bar input[type=search]{flex:1;padding:12px 16px;border:1px solid var(--fq-line);border-radius:999px;font-family:inherit}

@media (max-width:1080px){
  .fq-single{grid-template-columns:1fr;gap:32px}
  .woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce{grid-template-columns:1fr}
}
@media (max-width:640px){
  .fq-archive-toolbar{flex-direction:column;align-items:flex-start;gap:10px}
  .single-product .price{font-size:24px}
}
