/* 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}
/* minmax(0,…) + min-width:0: иначе грид-колонка раздувается по min-content галереи
   (flexslider + миниатюры) и картинка уезжает за экран — «отлетают картинки». */
.fq-single>*{min-width:0}
.single-product .fq-single-gallery .woocommerce-product-gallery{float:none!important;width:100%!important;max-width:100%!important;margin:0!important}
.single-product .fq-single-gallery .flex-viewport{max-width:100%}
.single-product .fq-single-gallery .woocommerce-product-gallery__wrapper{overflow:hidden}
.single-product .fq-single-gallery img{max-width:100%;height:auto}
.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 задаёт миниатюрам width:25% селектором с большей специфичностью */
.woocommerce div.product div.images .flex-control-thumbs li,
.woocommerce-product-gallery .flex-control-thumbs li{width:72px!important;flex:0 0 72px}
.woocommerce-product-gallery .flex-control-thumbs img{border-radius:10px;border:1px solid var(--fq-line);cursor:pointer}
.woocommerce-product-gallery .flex-control-thumbs img{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}

/* ------------------------------------------------------------ quick add */
.fq-quick-add.is-loading,.fq-quick-open.is-loading{opacity:.7;pointer-events:none}
.fq-modal{position:fixed;inset:0;z-index:120;display:none}
.fq-modal.is-open{display:block}
.fq-modal-backdrop{position:absolute;inset:0;background:rgba(20,23,27,.55);backdrop-filter:blur(2px)}
.fq-modal-dialog{
  position:relative;width:min(560px,calc(100% - 32px));margin:8vh auto 0;background:#fff;
  border-radius:var(--fq-radius);box-shadow:0 30px 80px rgba(16,24,40,.35);padding:26px;
}
.fq-modal-close{
  position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:999px;border:1px solid var(--fq-line);
  background:#fff;font-size:20px;line-height:1;cursor:pointer;color:var(--fq-ink)
}
.fq-modal-head{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center}
.fq-modal-image{background:var(--fq-soft);border-radius:var(--fq-radius-sm);padding:10px}
.fq-modal-image img{width:100%;height:auto;object-fit:contain;mix-blend-mode:multiply}
.fq-modal-info h3{margin:0 0 4px;font-size:19px;line-height:1.25}
.fq-modal-pack{margin:0;font-size:13px;color:var(--fq-muted)}
.fq-modal-price{margin:8px 0 0;font-size:20px;font-weight:800}
.fq-modal-label{display:block;margin:20px 0 6px;font-size:13.5px;font-weight:700;color:var(--fq-ink-2)}
.fq-modal-select{width:100%;padding:12px 14px;border:1px solid var(--fq-line);border-radius:var(--fq-radius-sm);font-family:inherit;font-size:15px}
.fq-modal-actions{display:flex;align-items:flex-end;gap:12px;margin-top:18px}
.fq-modal-qty{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--fq-muted)}
.fq-modal-qty input{width:92px;padding:12px 14px;border:1px solid var(--fq-line);border-radius:999px;font-family:inherit;font-weight:700}
.fq-modal-actions .fq-btn{flex:1 1 auto}
.fq-modal-link{margin:14px 0 0;font-size:13.5px}
.fq-modal-status{margin:16px 0 0;padding:12px 14px;border-radius:var(--fq-radius-sm);background:var(--fq-soft);font-size:14px}
.fq-modal-status.is-error{background:#fdecef;color:#a4162f}
.fq-modal-loading{height:120px;border-radius:var(--fq-radius-sm);background:linear-gradient(90deg,#f6f7f9,#eceef1,#f6f7f9);background-size:200% 100%;animation:fq-shimmer 1.2s infinite}
@keyframes fq-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
body.fq-modal-open{overflow:hidden}

@media (max-width:640px){
  .fq-modal-dialog{margin-top:4vh;padding:20px}
  .fq-modal-head{grid-template-columns:96px minmax(0,1fr);gap:14px}
  .fq-modal-actions{flex-direction:column;align-items:stretch}
  .fq-modal-qty input{width:100%}
}
.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,.woocommerce-checkout .woocommerce{padding:40px 0 72px}
.woocommerce-cart .fq-page-body,.woocommerce-checkout .fq-page-body{display:block}
.woocommerce-cart .fq-shop-page,.woocommerce-checkout .fq-shop-page{max-width:var(--fq-wrap)}
.woocommerce-cart .woocommerce>h1,.woocommerce-checkout .woocommerce>h1{margin-bottom:18px}
.woocommerce-cart .woocommerce-cart-form{float:none;width:100%}
.woocommerce-cart .cart-collaterals{float:none;width:100%}
/* Корзина и чекаут: две колонки на гриде (layout.css WooCommerce отключён) */
.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:40px;align-items:start}
.woocommerce-cart .woocommerce>h1,
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .cart-empty,
.woocommerce-cart .return-to-shop{grid-column:1/-1}
.woocommerce-cart form.woocommerce-cart-form{grid-column:1}
.woocommerce-cart .cart-collaterals{grid-column:2}
/* У классического чекаута поля и блок заказа лежат внутри form.checkout,
   поэтому сетка задаётся на форме, а не на внешнем контейнере. */
.woocommerce-checkout form.checkout.woocommerce-checkout{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:44px;align-items:start
}
.woocommerce-checkout form.checkout .woocommerce-account-fields,
.woocommerce-checkout form.checkout #customer_details{grid-column:1;min-width:0}
.woocommerce-checkout form.checkout #order_review_heading,
.woocommerce-checkout form.checkout #order_review{grid-column:2;min-width:0;width:100%}
.woocommerce-checkout form.checkout #customer_details{width:100%;max-width:none}
.woocommerce-checkout form.checkout #order_review_heading{margin-top:0;grid-row:1}
.woocommerce-checkout #customer_details{grid-row:1/span 2}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{float:none;width:100%}
.woocommerce-checkout .woocommerce-additional-fields{grid-column:1}
.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 .col2-set{float:left;width:60%}
.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{float:right;width:36%;clear:right}
.woocommerce-checkout .woocommerce::after{content:'';display:table;clear:both}
.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:minmax(0,1fr);gap:32px}
  .woocommerce-cart .woocommerce,
  .woocommerce-checkout form.checkout.woocommerce-checkout{grid-template-columns:minmax(0,1fr)}
  .woocommerce-cart form.woocommerce-cart-form,.woocommerce-cart .cart-collaterals,
  .woocommerce-checkout form.checkout #customer_details,
  .woocommerce-checkout form.checkout .woocommerce-account-fields,
  .woocommerce-checkout form.checkout #order_review_heading,
  .woocommerce-checkout form.checkout #order_review{grid-column:1;grid-row:auto}
}
@media (max-width:640px){
  .fq-archive-toolbar{flex-direction:column;align-items:flex-start;gap:10px}
  .single-product .price{font-size:24px}
}
