/* ── GLOBAL TOKENS ─────────────────────────────────────────── */
:root {
    --piv-green: #526832;
    --piv-dark:  #1a1a1a;
    --piv-r-sm:  8px;
    --piv-r-md:  12px;
    --piv-r-lg:  16px;
    --piv-shadow-sm: 0 1px 4px rgba(0,0,0,.08);
    --piv-shadow-md: 0 4px 16px rgba(0,0,0,.12);
    --piv-shadow-lg: 0 10px 32px rgba(0,0,0,.16);
    --piv-transition: .22s ease;
}

/* ── INPUTS & SELECTS ──────────────────────────────────────── */
select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
textarea {
    border: 1.5px solid #dde1e7 !important;
    border-radius: var(--piv-r-sm) !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    font-family: inherit !important;
    background: #fff !important;
    color: #1a1a1a !important;
    outline: none !important;
    transition: border-color var(--piv-transition), box-shadow var(--piv-transition) !important;
    -webkit-appearance: none; appearance: none;
}
select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    padding-right: 36px !important;
}
select:focus, input:focus, textarea:focus {
    border-color: var(--piv-green) !important;
    box-shadow: 0 0 0 3px rgba(58,122,58,.12) !important;
}

/* ── PRODUCT LISTING ───────────────────────────────────────── */
.piv-product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.piv-product-card {
    background: #fff;
    border-radius: var(--piv-r-md);
    box-shadow: var(--piv-shadow-sm);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform var(--piv-transition), box-shadow var(--piv-transition);
    border: 1px solid rgba(0,0,0,.05);
}
.piv-product-card:hover { transform: translateY(-5px); box-shadow: var(--piv-shadow-lg); border-color: transparent; }
.piv-product-card__img-wrap { display:block; background:#fff; position:relative; aspect-ratio:1; overflow:hidden; text-decoration:none; padding:20px; box-sizing:border-box; }
.piv-product-card__img { width:100%; height:100%; object-fit:contain; display:block; }
.piv-product-card__body { padding:14px 18px 18px; display:flex; flex-direction:column; flex:1; gap:4px; }
.piv-product-card__cat { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--piv-green); display:block; margin-bottom:2px; }
.piv-product-card__title { font-size:14px; font-weight:700; margin:0; line-height:1.35; }
.piv-product-card__title a { color:#1a1a1a; text-decoration:none; }
.piv-product-card__title a:hover { color:var(--piv-green); }
.piv-product-card__sku { font-size:11px; color:#b0b5be; display:block; }
.piv-product-card__price { font-size:17px; font-weight:700; color:#1a1a1a; margin:6px 0 10px; }
.piv-product-card__price del { color:#c0c5ce; font-size:13px; font-weight:400; margin-right:4px; }
.piv-product-card__price ins { text-decoration:none; color:#e84c05; }
.piv-product-card__actions { margin-top:auto; }
.piv-product-card .piv-btn--add-cart,
.piv-product-card .piv-btn--secondary {
    width:100%; background:var(--piv-dark); color:#fff; border:none;
    border-radius:var(--piv-r-sm); padding:11px 16px; font-size:12px;
    font-weight:700; text-align:center; cursor:pointer; letter-spacing:.07em;
    text-transform:uppercase; text-decoration:none; display:block;
    box-sizing:border-box; transition:background var(--piv-transition),transform .15s;
    font-family:inherit;
}
.piv-product-card .piv-btn--add-cart {
    background:var(--piv-green); position:relative; overflow:hidden;
}
.piv-product-card .piv-btn--add-cart:hover { background:#41521f; transform:translateY(-1px); }
.piv-product-card .piv-btn--secondary:hover { background:var(--piv-green); transform:translateY(-1px); }
.piv-product-card .piv-btn--add-cart:active,
.piv-product-card .piv-btn--secondary:active { transform:translateY(0); }
.piv-btn-ripple { position:absolute; border-radius:50%; background:rgba(255,255,255,.35); width:10px; height:10px; margin-left:-5px; margin-top:-5px; pointer-events:none; animation:piv-ripple .55s ease-out forwards; }
@keyframes piv-ripple { from{transform:scale(0);opacity:1} to{transform:scale(20);opacity:0} }
.piv-badge { position:absolute; top:10px; left:10px; font-size:10px; font-weight:800; padding:4px 10px; border-radius:20px; z-index:2; text-transform:uppercase; letter-spacing:.06em; line-height:1.4; }
.piv-badge--new { background:var(--piv-green); color:#fff; }
.piv-badge--sale { background:#e84c05; color:#fff; top:10px; left:auto; right:10px; font-size:11px; font-weight:900; }
@keyframes piv-pulse { 0%,100%{box-shadow:0 2px 10px rgba(232,76,5,.45)} 50%{box-shadow:0 4px 18px rgba(232,76,5,.7)} }
.piv-product-card.is-on-sale .piv-product-card__img-wrap::after { content:''; position:absolute; inset:0; border:2px solid rgba(232,76,5,.18); pointer-events:none; z-index:1; }
.piv-shop { padding:40px 0; }
.piv-shop__header { display:flex; align-items:center; justify-content:space-between; margin-bottom:28px; padding-bottom:16px; border-bottom:2px solid #1a1a1a; }
.piv-shop__title { font-size:26px; font-weight:700; margin:0; color:#1a1a1a; }
.piv-shop__toolbar { display:flex; gap:16px; align-items:center; font-size:13px; color:#888; }
.site-main > .woocommerce-result-count,
.site-main > .woocommerce-ordering { display:none !important; }
@media(max-width:1100px){.piv-product-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.piv-product-grid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:480px){.piv-product-grid{grid-template-columns:1fr}.piv-shop__header{flex-direction:column;align-items:flex-start;gap:10px}}

/* ── SINGLE PRODUCT ────────────────────────────────────────── */
.piv-single-product { padding:32px 0 64px; }
.woocommerce-breadcrumb,.piv-breadcrumb { display:flex !important; flex-wrap:wrap; align-items:center; font-size:12px !important; color:#aaa !important; margin-bottom:28px !important; padding:12px 0 14px !important; border-bottom:1px solid #f0f0f0 !important; gap:4px !important; }
.woocommerce-breadcrumb a,.piv-breadcrumb a { color:#888 !important; text-decoration:none !important; padding:2px 6px !important; border-radius:4px !important; transition:color var(--piv-transition),background var(--piv-transition) !important; }
.woocommerce-breadcrumb a:hover,.piv-breadcrumb a:hover { color:var(--piv-green) !important; background:rgba(58,122,58,.07) !important; }
.piv-bc-sep { color:#ccc; font-size:16px; margin:0 2px; line-height:1; font-weight:300; }
.piv-single-product__layout { display:grid; grid-template-columns:1fr 460px; gap:56px; align-items:start; margin-bottom:48px; }
.piv-single-product__gallery { position:sticky; top:100px; }
.piv-gallery__main { background:#fff; border-radius:var(--piv-r-md); display:flex; align-items:center; justify-content:center; padding:48px; aspect-ratio:1; overflow:hidden; transition:background var(--piv-transition); }
.piv-gallery__main img { max-width:100%; max-height:100%; object-fit:contain; display:block; width:100%; height:100%; }
.piv-gallery__thumbs { display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
.piv-gallery__thumb { width:70px; height:70px; border:2px solid transparent; border-radius:var(--piv-r-sm); background:#fff; padding:6px; cursor:pointer; transition:border-color .15s,box-shadow .15s; overflow:hidden; box-sizing:border-box; }
.piv-gallery__thumb.is-active,.piv-gallery__thumb:hover { border-color:var(--piv-dark); box-shadow:0 2px 8px rgba(0,0,0,.1); }
.piv-gallery__thumb img { width:100%; height:100%; object-fit:contain; display:block; }
.piv-single-product__info { padding-top:8px; }
.piv-single-product__title { font-size:26px; font-weight:700; line-height:1.25; margin:0 0 8px; color:#1a1a1a; }
.piv-single-product__sku { font-size:12px; color:#c0c5ce; margin:0 0 16px; display:block; }
.piv-single-product__price { font-size:28px !important; font-weight:700 !important; color:#1a1a1a !important; margin-bottom:14px; line-height:1.2; }
.piv-single-product__price * { color:#1a1a1a !important; }
.piv-single-product__price del,.piv-single-product__price del * { font-size:17px !important; color:#c0c5ce !important; font-weight:400 !important; }
.piv-single-product__price ins,.piv-single-product__price ins * { text-decoration:none !important; color:#e84c05 !important; }
.piv-stock { font-size:13px; font-weight:600; margin:0; padding:6px 14px; border-radius:20px; display:inline-block; }
.piv-stock--in { background:#e8f5e9; color:#5f8a1f; }
.piv-stock--out { background:#fdecea; color:#c62828; }
.piv-delivery-badges { display:flex; gap:16px; margin:14px 0 20px; flex-wrap:wrap; padding-bottom:20px; border-bottom:1px solid #ebebeb; }
.piv-delivery-badge { display:flex; align-items:center; gap:7px; font-size:12px; color:#666; font-weight:500; }
.piv-single-product__info form.cart { margin:0; }
.piv-single-product__info .quantity,.piv-single-product__info .qty,.piv-single-product__info input[type="number"] { display:none !important; }
.piv-single-product__info .single_add_to_cart_button,.piv-single-product__info button.button { background:var(--piv-green) !important; color:#fff !important; border:none !important; border-radius:var(--piv-r-sm) !important; padding:15px 32px !important; font-size:13px !important; font-weight:700 !important; letter-spacing:.07em !important; text-transform:uppercase !important; cursor:pointer !important; width:100% !important; display:block !important; text-align:center !important; transition:background var(--piv-transition),transform .15s !important; font-family:inherit !important; box-sizing:border-box !important; margin:20px 0 0 !important; position:relative !important; overflow:hidden !important; }
.piv-single-product__info .single_add_to_cart_button:hover,.piv-single-product__info button.button:hover { background:#41521f !important; transform:translateY(-1px) !important; }
.piv-single-product__info .single_add_to_cart_button:active,.piv-single-product__info button.button:active { transform:translateY(0) !important; }
.piv-specs-bar { display:flex; border:1.5px solid #ebebeb; border-radius:var(--piv-r-sm); margin:20px 0; overflow:hidden; background:#fafafa; }
.piv-spec-pill { flex:1; padding:14px 10px; text-align:center; border-right:1px solid #ebebeb; }
.piv-spec-pill:last-child { border-right:none; }
.piv-spec-pill__value { display:block; font-size:14px; font-weight:700; color:#1a1a1a; line-height:1; margin-bottom:5px; }
.piv-spec-pill__label { display:block; font-size:10px; color:#aaa; text-transform:uppercase; letter-spacing:.07em; line-height:1.3; }
.piv-single-product__description { font-size:14px; line-height:1.75; color:#555; margin-top:24px; border-top:1px solid #ebebeb; padding-top:20px; }
.piv-single-product__description p { margin:0 0 12px; }
.piv-single-product__description ul { margin:0 0 12px; padding-left:20px; }
.piv-desc-clamp { overflow:hidden; max-height:160px; position:relative; }
.piv-desc-clamp::after { content:''; position:absolute; bottom:0; left:0; right:0; height:60px; background:linear-gradient(transparent,#fff); pointer-events:none; }
.piv-show-more-btn { background:none; border:none; color:var(--piv-green); font-size:13px; font-weight:600; cursor:pointer; padding:10px 0 0; text-decoration:underline; display:block; font-family:inherit; }
.piv-accordion-wrap { margin-top:48px; }
.piv-accordion { border-top:1px solid #ebebeb; }
.piv-accordion__item { border-bottom:1px solid #ebebeb; }
.piv-accordion__trigger { width:100%; background:none; border:none; padding:18px 0; font-size:13px; font-weight:700; color:#1a1a1a; cursor:pointer; display:flex; align-items:center; justify-content:space-between; text-align:left; font-family:inherit; text-transform:uppercase; letter-spacing:.06em; transition:color var(--piv-transition); }
.piv-accordion__trigger:hover { color:var(--piv-green); }
.piv-accordion__icon { width:20px; height:20px; flex-shrink:0; transition:transform .25s; color:currentColor; }
.piv-accordion__item.is-open .piv-accordion__icon { transform:rotate(180deg); }
.piv-accordion__panel { display:none; padding:4px 0 24px; font-size:14px; line-height:1.7; color:#555; }
.piv-accordion__panel.is-open { display:block; }
.piv-accordion__panel table.shop_attributes { width:100%; border-collapse:collapse; }
.piv-accordion__panel .shop_attributes th,.piv-accordion__panel .shop_attributes td { padding:9px 14px; font-size:13px; border-bottom:1px solid #f0f0f0; text-align:left; vertical-align:top; }
.piv-accordion__panel .shop_attributes th { font-weight:600; color:#1a1a1a; width:42%; background:#fafafa; }
.piv-accordion__panel .shop_attributes td { color:#666; }
.piv-product-tabs { display:none !important; }
.reviews_tab { display:none !important; }
#tab-reviews { display:none !important; }
@media(max-width:960px){.piv-single-product__layout{grid-template-columns:1fr;gap:32px}.piv-single-product__gallery{position:static}}

/* ── CART DRAWER ───────────────────────────────────────────── */
.piv-cart-drawer { position:fixed !important; top:0 !important; left:0 !important; right:0 !important; bottom:0 !important; z-index:99999 !important; visibility:hidden; transition:visibility 0s linear .5s; }
.piv-cart-drawer.is-open { visibility:visible; transition-delay:0s; }
.piv-cart-drawer__backdrop { position:absolute !important; inset:0 !important; background:rgba(0,0,0,.48) !important; cursor:pointer; opacity:0; transition:opacity .45s ease !important; will-change:opacity; backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px); }
.piv-cart-drawer.is-open .piv-cart-drawer__backdrop { opacity:1; }
.piv-cart-drawer__panel { position:absolute !important; top:0 !important; right:0 !important; bottom:0 !important; width:400px !important; max-width:92vw !important; background:#fff !important; display:flex !important; flex-direction:column !important; transform:translate3d(110%,0,0) !important; transition:transform .5s cubic-bezier(.16,1,.3,1) !important; will-change:transform; box-shadow:-6px 0 40px rgba(0,0,0,.15) !important; border-radius:var(--piv-r-md) 0 0 var(--piv-r-md) !important; overflow:hidden; }
.piv-cart-drawer.is-open .piv-cart-drawer__panel { transform:translate3d(0,0,0) !important; }
.piv-cart-drawer__header { display:flex; align-items:center; justify-content:space-between; padding:20px 24px 16px; border-bottom:1px solid #f0f0f0; background:#fff; flex-shrink:0; }
.piv-cart-drawer__title { font-size:16px; font-weight:700; margin:0; }
.piv-cart-drawer__count { color:#aaa; font-weight:400; }
.piv-cart-drawer__close { background:#f4f5f7; border:none; border-radius:50%; width:32px; height:32px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background var(--piv-transition); color:#555; flex-shrink:0; }
.piv-cart-drawer__close:hover { background:#e8e9eb; color:#1a1a1a; }
.piv-cart-drawer__body { flex:1; overflow-y:auto; padding:16px 24px; position:relative; }
.piv-cart-drawer__body.is-loading::after { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg, transparent, #526832, transparent); background-size:50% 100%; animation:piv-drawer-shimmer 1.1s infinite linear; pointer-events:none; z-index:2; }
@keyframes piv-drawer-shimmer { 0% { background-position:-50% 0 } 100% { background-position:150% 0 } }
.piv-cart-drawer__footer { padding:16px 24px 24px; border-top:1px solid #f0f0f0; background:#fafafa; flex-shrink:0; }
.piv-cart-drawer__empty { text-align:center; padding:48px 24px; color:#aaa; }
.piv-cart-drawer__empty p { margin:12px 0 20px; font-size:14px; }
.piv-cart-drawer__items { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.piv-cart-item { display:flex; gap:12px; align-items:flex-start; padding-bottom:16px; border-bottom:1px solid #f5f5f5; }
.piv-cart-item:last-child { border-bottom:none; padding-bottom:0; }
.piv-cart-item__img-wrap { width:72px; height:72px; background:#f6f7f8; border-radius:var(--piv-r-sm); overflow:hidden; flex-shrink:0; display:block; }
.piv-cart-item__img-wrap img { width:100% !important; height:100% !important; object-fit:contain !important; border:0 !important; }
.piv-cart-item__details { flex:1; min-width:0; }
.piv-cart-item__name { font-size:13px; font-weight:600; color:#1a1a1a; text-decoration:none; display:block; line-height:1.3; margin-bottom:6px; }
.piv-cart-item__name:hover { color:var(--piv-green); }
.piv-cart-item__meta { display:flex; flex-direction:column; gap:2px; }
.piv-cart-item__qty { font-size:12px; color:#aaa; }
.piv-cart-item__price { font-size:14px; font-weight:700; color:#1a1a1a; }
.piv-cart-item__remove { color:#ccc; flex-shrink:0; display:flex; align-items:center; padding:4px; border-radius:4px; transition:color var(--piv-transition); text-decoration:none; }
.piv-cart-item__remove:hover { color:#d32f2f; }
.piv-cart-drawer__subtotal { display:flex; justify-content:space-between; font-size:15px; margin-bottom:8px; }
.piv-cart-drawer__subtotal strong { font-weight:700; font-size:17px; }
.piv-cart-drawer__ship-note { font-size:12px; color:var(--piv-green); margin:0 0 14px; }
.piv-cart-drawer__checkout-btn { display:block; width:100%; padding:14px; text-align:center; background:var(--piv-green) !important; color:#fff !important; border:none !important; text-decoration:none; border-radius:var(--piv-r-sm); font-size:13px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; transition:background var(--piv-transition); box-sizing:border-box; margin-bottom:10px; }
.piv-cart-drawer__checkout-btn:hover { background:#2c6e2f !important; }
.piv-cart-drawer__cart-link { display:block; text-align:center; font-size:13px; color:#888; text-decoration:underline; }
.piv-cart-drawer__cart-link:hover { color:#1a1a1a; }

/* ── BREADCRUMB ────────────────────────────────────────────── */
.woocommerce-breadcrumb,.piv-breadcrumb {
    display:flex !important; flex-wrap:wrap; align-items:center; font-size:12px !important; color:#aaa !important;
    margin-bottom:28px !important; padding:12px 0 14px !important; border-bottom:1px solid #f0f0f0 !important; gap:4px !important;
}
.woocommerce-breadcrumb a,.piv-breadcrumb a { color:#888 !important; text-decoration:none !important; padding:2px 6px !important; border-radius:4px !important; transition:color var(--piv-transition),background var(--piv-transition) !important; }
.woocommerce-breadcrumb a:hover,.piv-breadcrumb a:hover { color:var(--piv-green) !important; background:rgba(58,122,58,.07) !important; }

/* ── PAGINATION ────────────────────────────────────────────── */
.woocommerce-pagination { margin:40px 0 20px; display:flex; justify-content:center; }
.woocommerce-pagination ul { list-style:none; margin:0; padding:0; display:flex; gap:6px; flex-wrap:wrap; align-items:center; justify-content:center; }
.woocommerce-pagination ul .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 10px; border:1.5px solid #dde1e7; border-radius:var(--piv-r-sm); font-size:14px; font-weight:600; color:#555; text-decoration:none; background:#fff; box-sizing:border-box; transition:all var(--piv-transition); }
.woocommerce-pagination ul .page-numbers:hover { border-color:var(--piv-dark); color:var(--piv-dark); background:#f6f7f8; }
.woocommerce-pagination ul .page-numbers.current { background:var(--piv-dark); color:#fff; border-color:var(--piv-dark); }
.woocommerce-pagination ul .page-numbers.dots { border-color:transparent; background:none; }

/* ── CART PAGE ─────────────────────────────────────────────── */
.woocommerce-cart .shop_table { width:100%; border-collapse:collapse; font-size:14px; margin-bottom:32px; }
.woocommerce-cart .shop_table th { font-size:11px; text-transform:uppercase; letter-spacing:.07em; color:#888; font-weight:700; padding:0 12px 14px; border-bottom:2px solid #ebebeb; text-align:left; }
.woocommerce-cart .shop_table td { padding:18px 12px; border-bottom:1px solid #f5f5f5; vertical-align:middle; }
.woocommerce-cart .shop_table td.product-thumbnail img { width:80px !important; height:80px !important; object-fit:contain; background:#f6f7f8; border-radius:var(--piv-r-sm); padding:6px; }
.woocommerce-cart .cart-collaterals { display:flex; justify-content:flex-end; }
.woocommerce-cart .cart_totals { width:360px; background:#f9fafb; border-radius:var(--piv-r-md); padding:24px; }
.woocommerce-cart .cart_totals h2 { font-size:16px; font-weight:700; margin:0 0 18px; padding-bottom:12px; border-bottom:2px solid #1a1a1a; }
.woocommerce-cart .cart_totals table th,.woocommerce-cart .cart_totals table td { padding:10px 0; border-bottom:1px solid #ebebeb; font-size:14px; }
.woocommerce-cart .cart_totals table .order-total th,.woocommerce-cart .cart_totals table .order-total td { font-size:17px !important; font-weight:700 !important; border-bottom:none; padding-top:14px; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { background:var(--piv-dark) !important; color:#fff !important; border:none !important; border-radius:var(--piv-r-sm) !important; padding:15px 32px !important; font-size:13px !important; font-weight:700 !important; letter-spacing:.07em !important; text-transform:uppercase !important; display:block !important; width:100% !important; text-align:center !important; box-sizing:border-box !important; text-decoration:none !important; transition:background var(--piv-transition) !important; margin-top:14px !important; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover { background:var(--piv-green) !important; }

/* ── CHECKOUT (block + classic) ────────────────────────────── */
.woocommerce-page .piv-page,
body.woocommerce-checkout .piv-container { max-width:1280px !important; padding:0 40px !important; box-sizing:border-box; }
.wp-block-woocommerce-checkout,
.wc-block-checkout { max-width:100% !important; margin:0 auto !important; }
.wc-block-checkout .wc-block-components-sidebar-layout {
  width:100% !important; max-width:100% !important;
  flex-wrap:nowrap !important; gap:48px !important; align-items:flex-start !important; }
.wc-block-checkout .wc-block-components-main { flex:1 1 auto !important; width:auto !important; max-width:none !important; min-width:0 !important; }
.wc-block-checkout .wc-block-components-sidebar { flex:0 0 400px !important; width:400px !important; min-width:0 !important; max-width:400px !important; }
.wc-block-checkout__main { padding-right:0 !important; }
.wc-block-components-order-summary { background:#f9fafb; border-radius:var(--piv-r-md); overflow:hidden; border:1px solid #ebebeb; }
.wc-block-components-order-summary__content { padding:20px !important; }
.wc-block-components-order-summary-item { display:grid; grid-template-columns:72px 1fr auto; gap:10px; align-items:center; padding:10px 0; border-bottom:1px solid #f0f0f0; }
.wc-block-components-order-summary-item__image { width:72px !important; height:72px !important; position:relative; }
.wc-block-components-order-summary-item__image img { width:72px !important; height:72px !important; object-fit:contain; border-radius:6px; background:#f6f7f8; display:block !important; }
.wc-block-components-order-summary-item__quantity { position:absolute; top:-6px; right:-6px; width:20px; height:20px; background:#1a1a1a; color:#fff; border-radius:50%; font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.wc-block-components-order-summary-item__description { display:block !important; }
.wc-block-components-order-summary-item__description h3 { font-size:13px !important; font-weight:600 !important; margin:0 0 3px !important; line-height:1.4 !important; color:#1a1a1a !important; }
.wc-block-components-product-metadata { display:none !important; }
.wc-block-cart-item__prices { font-size:12px !important; color:#888 !important; }
.wc-block-components-order-summary-item__total-price { font-size:14px !important; font-weight:700 !important; text-align:right; white-space:nowrap; }
/* ── Profesionalna financijska razrada (nativni WooCommerce redci) ── */
.woocommerce-checkout .wc-block-components-totals-wrapper { border-top:none !important; margin-top:0 !important; padding-top:0 !important; }
/* Međuzbroj / Dostava — normalna težina, uredno poravnanje */
.woocommerce-checkout .wc-block-components-totals-item { padding:5px 0 !important; }
.woocommerce-checkout .wc-block-components-totals-item__label { font-size:14px !important; color:#3a3a3a !important; }
.woocommerce-checkout .wc-block-components-totals-item__value { font-weight:600 !important; font-size:14px !important; color:#20261a !important; }
/* Ukupno — istaknuto, s jednom tankom linijom iznad */
.woocommerce-checkout .wc-block-components-totals-footer-item { border-top:1px solid #e7e3d6 !important; margin-top:8px !important; padding-top:12px !important; }
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-weight:700 !important; font-size:17px !important; color:#20261a !important; }
.woocommerce-checkout .wc-block-components-totals-footer-item__value,
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-weight:800 !important; font-size:19px !important; color:#526832 !important; }
/* Hide empty discount / fee placeholder rows in checkout order summary */
.wp-block-woocommerce-checkout-order-summary-discount-block:not(:has(.wc-block-components-totals-discount)) { display:none !important; }
.wp-block-woocommerce-checkout-order-summary-fee-block:empty { display:none !important; }
.wp-block-woocommerce-checkout-order-summary-shipping-block:empty { display:none !important; }
/* Subtotal (Međuzbroj) se prikazuje — nativni WooCommerce redak (profesionalna razrada) */
/* PIV shipping info row injected by JS */
.piv-checkout-shipping { display:flex; justify-content:space-between; align-items:center; padding:6px 0; font-size:14px; color:#444; }
.piv-checkout-shipping__free { color:#526832; font-weight:600; }
/* Payment method badges */
.piv-pay-badge { display:inline-flex; align-items:center; gap:6px; padding:7px 13px; border-radius:6px; font-size:12px; font-weight:600; border:1.5px solid; }
.piv-pay-badge--cod { background:#f0fdf4; color:#166534; border-color:#bbf7d0; }
.piv-pay-badge--card { background:#eff6ff; color:#1e40af; border-color:#bfdbfe; }
.wc-block-components-checkout-step { border:1px solid #ebebeb; border-radius:var(--piv-r-md); padding:24px !important; margin-bottom:16px !important; background:#fff; }
.wc-block-components-checkout-step__title { font-size:16px !important; font-weight:700 !important; }
@media(max-width:768px){
  .wc-block-checkout .wc-block-components-sidebar-layout { flex-wrap:wrap !important; }
  .wc-block-checkout .wc-block-components-sidebar { flex:1 1 100% !important; width:100% !important; max-width:100% !important; }
}
.wc-block-components-button:not(.wc-block-cart-item__remove-link) {
    background:var(--piv-dark) !important;
    border-radius:var(--piv-r-sm) !important;
    font-weight:700 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
    font-size:13px !important;
    transition:background var(--piv-transition) !important;
}
.wc-block-components-button:not(.wc-block-cart-item__remove-link):hover { background:var(--piv-green) !important; }
/* Classic checkout */
form.woocommerce-checkout { display:grid; grid-template-columns:1fr 400px; gap:48px; align-items:start; }
form.woocommerce-checkout #customer_details { grid-column:1; grid-row:1/span 2; }
form.woocommerce-checkout #order_review_heading { grid-column:2; grid-row:1; margin:0 !important; }
form.woocommerce-checkout #order_review { grid-column:2; grid-row:2; }
form.woocommerce-checkout h3,form.woocommerce-checkout h2#order_review_heading { font-size:15px !important; font-weight:700 !important; padding-bottom:12px !important; border-bottom:2px solid #1a1a1a !important; margin-bottom:20px !important; text-transform:uppercase !important; letter-spacing:.04em !important; }
.woocommerce-checkout-review-order-table { width:100%; border-collapse:collapse; font-size:14px; background:#f9fafb; border-radius:var(--piv-r-md); overflow:hidden; }
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td { padding:12px 16px; border-bottom:1px solid #ebebeb; vertical-align:middle; }
.woocommerce-checkout-review-order-table th { font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:#888; font-weight:700; background:#f0f1f3; }
.woocommerce-checkout-review-order-table .order-total th,.woocommerce-checkout-review-order-table .order-total td { font-size:16px !important; font-weight:700 !important; border-bottom:none; background:#fff; }
.woocommerce-checkout #payment { background:#f9fafb; border-radius:var(--piv-r-md); padding:20px; margin-top:16px; border:1.5px solid #ebebeb; }
.woocommerce-checkout #payment ul.payment_methods { display:none !important; }
.woocommerce-checkout #payment .payment_box { display:none !important; }
.woocommerce-checkout #payment .place-order { display:block !important; }
.woocommerce-checkout #place_order { background:var(--piv-dark) !important; color:#fff !important; border:none !important; border-radius:var(--piv-r-sm) !important; padding:20px 32px !important; font-size:15px !important; font-weight:700 !important; letter-spacing:.07em !important; text-transform:uppercase !important; cursor:pointer !important; width:100% !important; display:block !important; text-align:center !important; transition:background var(--piv-transition) !important; font-family:inherit !important; box-sizing:border-box !important; margin-top:16px !important; }
.woocommerce-checkout #place_order:hover { background:var(--piv-green) !important; }
@media(max-width:860px){form.woocommerce-checkout{grid-template-columns:1fr}form.woocommerce-checkout #customer_details,form.woocommerce-checkout #order_review_heading,form.woocommerce-checkout #order_review{grid-column:1;grid-row:auto}}

/* ── ORDER RECEIVED ────────────────────────────────────────── */
body.woocommerce-order-received .woocommerce { max-width:720px; margin:40px auto; padding:0 20px; }
.piv-thankyou { text-align:center; padding:48px 32px 40px; background:#fff; border-radius:var(--piv-r-lg); box-shadow:var(--piv-shadow-md); margin-bottom:32px; }
.piv-thankyou__icon { width:80px; height:80px; margin:0 auto 20px; }
.piv-thankyou__icon circle { animation:piv-check-bg .4s ease forwards; }
.piv-thankyou__icon path { stroke-dasharray:40; stroke-dashoffset:40; animation:piv-check-draw .5s .3s ease forwards; }
@keyframes piv-check-bg { from{r:0}to{r:26} }
@keyframes piv-check-draw { to{stroke-dashoffset:0} }
.piv-thankyou { border-top:4px solid #526832; }
.piv-thankyou h2 { font-size:26px; font-weight:700; margin:0 0 10px; color:#1a1a1a; }
.piv-thankyou__num { display:inline-block; margin:0 0 16px; padding:7px 18px; background:#eef2e6; color:#526832; border-radius:999px; font-size:14px; font-weight:700; letter-spacing:.01em; }
.piv-thankyou__num strong { font-weight:800; }
.piv-thankyou p { font-size:15px; color:#666; margin:0; line-height:1.6; }
.woocommerce-order-overview { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1px; background:#ebebeb; border:1px solid #ebebeb; border-radius:var(--piv-r-md); overflow:hidden; margin-bottom:32px; }
.woocommerce-order-overview li { background:#fff; padding:18px 20px; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:#999; font-weight:700; }
.woocommerce-order-overview li strong { display:block; font-size:16px; font-weight:700; color:#1a1a1a; margin-top:6px; text-transform:none; letter-spacing:normal; }
.woocommerce-order-overview .woocommerce-order-overview__total strong { color:#526832; }
/* Thank-you CTA + help */
.piv-ty-cta { text-align:center; margin:4px 0 48px; }
.piv-ty-btn { display:inline-block; background:#526832 !important; color:#fff !important; font-weight:700; font-size:15px; padding:14px 34px; border-radius:999px; text-decoration:none !important; transition:background .18s, transform .18s, box-shadow .18s; box-shadow:0 4px 14px rgba(82,104,50,.28); }
.piv-ty-btn:hover { background:#3f5127 !important; transform:translateY(-1px); box-shadow:0 6px 18px rgba(82,104,50,.34); }
.piv-ty-help { font-size:13px; color:#8a8a8a; margin:18px 0 0; line-height:1.7; }
.piv-ty-help a { color:#526832; font-weight:600; text-decoration:none; }
.piv-ty-help a:hover { text-decoration:underline; }
/* Monri gateway transaction dump → tidy muted receipt card */
.woocommerce-order-monri-transaction-info { margin:0 0 32px; padding:16px 20px; background:#fafafa; border:1px solid #eee; border-radius:var(--piv-r-md); font-size:12.5px; color:#8a8a8a; }
.woocommerce-order-monri-transaction-info > strong { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:#999; margin-bottom:10px; font-weight:700; }
.woocommerce-order-monri-transaction-info ul { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:5px 28px; }
.woocommerce-order-monri-transaction-info li { margin:0; word-break:break-word; }
.woocommerce-order-monri-transaction-info li strong { color:#555; font-weight:600; }
.woocommerce-order-details,.woocommerce-customer-details { background:#fff; border-radius:var(--piv-r-lg); box-shadow:var(--piv-shadow-md); padding:26px 28px; margin-bottom:24px; }
.woocommerce-order-details h2,.woocommerce-customer-details h2 { font-size:13px; font-weight:800; padding-bottom:12px; border-bottom:2px solid #eef2e6; margin:0 0 4px; text-transform:uppercase; letter-spacing:.06em; color:#526832; }
.woocommerce-order-details .woocommerce-table { width:100%; border-collapse:collapse; font-size:14px; margin:0; }
.woocommerce-order-details .woocommerce-table thead th { font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:#999; font-weight:700; padding:14px 12px 12px; border-bottom:1px solid #ebebeb; text-align:left; }
.woocommerce-order-details .woocommerce-table thead th.woocommerce-table__product-total,
.woocommerce-order-details .woocommerce-table td.woocommerce-table__product-total,
.woocommerce-order-details .woocommerce-table td.product-total,
.woocommerce-order-details .woocommerce-table th.product-total { text-align:right; }
.woocommerce-order-details .woocommerce-table tbody td { padding:14px 12px; border-bottom:1px solid #f5f5f5; vertical-align:top; }
.woocommerce-order-details .woocommerce-table td.product-name a,
.woocommerce-order-details .woocommerce-table td.woocommerce-table__product-name a { color:#1a1a1a; text-decoration:none; font-weight:600; }
.woocommerce-order-details .woocommerce-table td.product-name a:hover { color:#526832; }
.woocommerce-order-details .woocommerce-table tfoot th { text-align:left; font-weight:600; color:#666; padding:11px 12px; border-top:1px solid #f5f5f5; }
.woocommerce-order-details .woocommerce-table tfoot td { text-align:right; padding:11px 12px; border-top:1px solid #f5f5f5; color:#333; }
/* Ukupno (total) je pretposljednji red — WC zadnjim uvijek stavlja „Način plaćanja" */
.woocommerce-order-details .woocommerce-table tfoot tr:nth-last-child(2) th { font-size:16px; font-weight:800; color:#1a1a1a; border-top:2px solid #ebebeb; }
.woocommerce-order-details .woocommerce-table tfoot tr:nth-last-child(2) td { font-size:18px; font-weight:800; color:#526832; border-top:2px solid #ebebeb; }
/* Način plaćanja (zadnji red) — prigušeno */
.woocommerce-order-details .woocommerce-table tfoot tr:last-child th,
.woocommerce-order-details .woocommerce-table tfoot tr:last-child td { font-size:13px; font-weight:600; color:#666; border-top:1px solid #f5f5f5; }
.woocommerce-customer-details address { font-style:normal; font-size:14px; line-height:1.7; color:#555; border:none; padding:0; }
.woocommerce-columns--addresses { margin:0; }
.woocommerce-notice--success { display:none !important; }
/* Hide WC notices on non-checkout pages — we use our own toast */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error { display:none !important; }

/* ── WC VARIATIONS ──────────────────────────────────────────── */
.variations { width:100% !important; border:none !important; border-collapse:collapse !important; margin:0 0 16px !important; }
.variations td,.variations th { padding:0 !important; border:none !important; background:none !important; vertical-align:top !important; }
.variations .label { padding:18px 0 8px !important; }
.variations .label label { font-size:11px !important; font-weight:800 !important; text-transform:uppercase !important; letter-spacing:.12em !important; color:#555 !important; }
.variations .value { padding-bottom:2px !important; }
.variations .value select {
  width:100% !important;
  border:2px solid #e2e6ec !important;
  border-radius:10px !important;
  padding:14px 48px 14px 18px !important;
  font-size:15px !important;
  font-weight:500 !important;
  font-family:inherit !important;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23555' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 18px center no-repeat !important;
  color:#1a1a1a !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  cursor:pointer !important;
  transition:border-color .18s, box-shadow .18s !important;
  box-shadow:0 1px 4px rgba(0,0,0,.05) !important;
}
.variations .value select:hover { border-color:#c0c8d4 !important; }
.variations .value select:focus { border-color:#526832 !important; box-shadow:0 0 0 3px rgba(82,104,50,.12) !important; outline:none !important; }
.reset_variations { font-size:12px !important; color:#bbb !important; text-decoration:none !important; display:inline-block !important; margin-top:8px !important; transition:color .15s !important; }
.reset_variations:hover { color:#526832 !important; }
.woocommerce-variation-price { margin:8px 0 12px !important; }
.woocommerce-variation-price .price { font-size:22px !important; font-weight:800 !important; }
.woocommerce-variation-availability { font-size:13px !important; }
.single_variation_wrap .single_add_to_cart_button { width:100% !important; }
/* Sale badge on single product gallery — top-left, on the image */
.piv-badge--single { position:absolute !important; top:16px !important; left:16px !important; right:auto !important; z-index:10 !important; font-size:12px !important; padding:5px 12px !important; }

/* ── SERVICE PRICES ────────────────────────────────────────── */
.piv-service-prices { padding:56px 0; }
.piv-service-prices__sub { font-size:14px; color:#888; margin:4px 0 0; }
.piv-service-prices__note { font-size:12px; color:#aaa; margin-top:20px; text-align:center; }
.piv-price-list { margin-top:28px; background:#fff; border-radius:var(--piv-r-md); border:1px solid #ebebeb; overflow:hidden; }
.piv-price-list__header { background:#f5f6f8; padding:10px 20px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; color:#526832; border-bottom:1px solid #ebebeb; }
.piv-price-list__row { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:12px 20px; border-bottom:1px solid #f5f5f5; }
.piv-price-list__row:last-child { border-bottom:none; }
.piv-price-list__row:hover { background:#fafafa; }
.piv-price-list__name { font-size:13px; color:#1a1a1a; line-height:1.4; }
.piv-price-list__desc { display:block; font-size:11px; color:#aaa; margin-top:2px; font-style:italic; }
.piv-price-list__price { font-size:14px; font-weight:700; color:#526832; white-space:nowrap; flex-shrink:0; }

/* ── SALE BADGE ENHANCED ──────────────────────────────────── */
.piv-product-card.is-on-sale { border-color:rgba(232,76,5,.25) !important; }
.piv-product-card.is-on-sale .piv-product-card__img-wrap::after { border:2px solid rgba(232,76,5,.3) !important; }
.piv-product-card__price ins { color:#e84c05 !important; font-size:18px !important; font-weight:800 !important; }
.piv-product-card__price del { color:#bbb !important; font-size:13px !important; }

/* ── ADD-TO-CART TOAST ────────────────────────────────────── */
.piv-toast { position:fixed; top:80px; right:20px; transform:translateY(-12px); background:#1a1a1a; color:#fff; padding:12px 22px; border-radius:40px; font-size:13px; font-weight:600; z-index:999999; opacity:0; transition:opacity .3s,transform .3s; pointer-events:none; white-space:nowrap; box-shadow:0 6px 24px rgba(0,0,0,.22); }
.piv-toast.is-visible { opacity:1; transform:translateY(0); }
.piv-toast__icon { display:inline-block; width:18px; height:18px; background:var(--piv-green); border-radius:50%; text-align:center; line-height:18px; margin-right:8px; font-size:11px; }

/* ── BOOKING FORM ──────────────────────────────────────────── */
.piv-booking-wrap { padding:48px 0; }
.piv-booking-container { max-width:760px; margin:0 auto; background:#fff; border-radius:var(--piv-r-lg); box-shadow:var(--piv-shadow-md); padding:40px 48px; }
.piv-booking__header { display:flex; gap:16px; align-items:flex-start; margin-bottom:32px; padding-bottom:24px; border-bottom:1px solid #f0f0f0; }
.piv-booking__icon { width:56px; height:56px; min-width:56px; background:rgba(58,122,58,.1); border-radius:var(--piv-r-md); display:flex; align-items:center; justify-content:center; }
.piv-booking__title { font-size:22px; font-weight:700; margin:0 0 6px; color:#1a1a1a; }
.piv-booking__sub { font-size:14px; color:#888; margin:0; line-height:1.5; }
.piv-booking-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.piv-booking-field { display:flex; flex-direction:column; gap:5px; }
.piv-booking-field--full { grid-column:1/-1; }
.piv-booking-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:#555; }
.piv-booking-label .req { color:var(--piv-green); margin-left:2px; }
.piv-booking-input { border:1.5px solid #dde1e7 !important; border-radius:var(--piv-r-sm) !important; padding:11px 14px !important; font-size:14px !important; font-family:inherit !important; background:#fff !important; color:#1a1a1a !important; width:100% !important; box-sizing:border-box !important; transition:border-color var(--piv-transition) !important; }
.piv-booking-input:focus { border-color:var(--piv-green) !important; box-shadow:0 0 0 3px rgba(58,122,58,.1) !important; outline:none !important; }
.piv-booking-input.is-invalid { border-color:#c0392b !important; background:#fffafa !important; }
.piv-booking-input.is-invalid:focus { box-shadow:0 0 0 3px rgba(192,57,43,.12) !important; }
.piv-booking-error { margin:18px 0 0; padding:11px 14px; border-radius:var(--piv-r-sm); background:#fdeeec; border:1px solid #f3c6c0; color:#8e2a20; font-size:14px; line-height:1.5; }
.piv-booking-textarea { min-height:110px; resize:vertical; }
.piv-booking-submit { background:var(--piv-dark); color:#fff; border:none; border-radius:var(--piv-r-sm); padding:15px 32px; font-size:13px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; cursor:pointer; width:100%; margin-top:20px; transition:background var(--piv-transition),transform .15s; font-family:inherit; }
.piv-booking-submit:hover:not(:disabled) { background:var(--piv-green); transform:translateY(-1px); }
.piv-booking-submit:disabled { opacity:.6; cursor:not-allowed; }
.piv-booking-success { display:none; flex-direction:column; align-items:center; text-align:center; padding:40px 20px; gap:14px; }
.piv-booking-success.is-shown { display:flex; }
.piv-booking-success__icon { animation:piv-pop .4s cubic-bezier(.175,.885,.32,1.275) forwards; }
@keyframes piv-pop { from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1} }
.piv-booking-success h4 { font-size:20px; font-weight:700; margin:0; color:#1a1a1a; }
.piv-booking-success p { font-size:14px; color:#666; margin:0; line-height:1.6; }
@media(max-width:640px){.piv-booking-container{padding:28px 20px}.piv-booking-grid{grid-template-columns:1fr}}

/* ── LISTING IMPROVEMENTS ──────────────────────────────────── */
.piv-shop__toolbar { gap:12px; }
.piv-shop__toolbar .woocommerce-ordering select { font-size:13px !important; }

/* ── MEGA NAV: ODABERI PROIZVOD ────────────────────────────── */
.piv-mega-nav__link--odaberi { background:var(--piv-green) !important; color:#fff !important; border-radius:6px !important; padding:6px 14px !important; font-weight:700 !important; display:inline-flex !important; align-items:center !important; gap:4px !important; }
.piv-mega-nav__link--odaberi:hover { background:#2d6230 !important; }
.piv-mega-dropdown--brands { min-width:320px; }
/* Peta stavka (Zimska akcija) na uskim ekranima prelije zaglavlje — ispod 1060px steze razmake.
   Izmjereno na zivoj stranici: 920px je bez ovoga imao 32px vodoravnog scrolla, s ovim 0. */
@media(max-width:1060px){
  .piv-mega-nav__top { gap:0; }
  .piv-mega-nav__top .piv-mega-nav__link { padding-left:8px; padding-right:8px; font-size:13.5px; }
  .piv-mega-nav__top .piv-mega-nav__link--odaberi { padding-left:11px; padding-right:11px; }
}
/* Zimska akcija — jednostavan popis; vlastita klasa, da ne pokupi pravila za --brands. */
.piv-mega-dropdown--zima { min-width:238px; padding:8px 0; border-top:3px solid #526832; border-radius:0 0 10px 10px; }
.piv-mega-dropdown--zima .piv-zima-link { display:block; padding:11px 20px; font-size:14px; color:#1a1a1a; text-decoration:none; line-height:1.3; transition:background .15s,color .15s; }
.piv-mega-dropdown--zima .piv-zima-link:hover { background:#eef3e6; color:#41521f; }
.piv-mobile-nav__link--pod { padding-left:24px !important; font-size:14px !important; color:#555 !important; position:relative; }
.piv-mobile-nav__link--pod::before { content:""; position:absolute; left:8px; top:50%; width:7px; height:1px; background:#9aa88a; }
.piv-mega-brands-grid { display:flex; flex-direction:column; gap:0; padding:8px 0; }
.piv-mega-brand-btn { display:flex; align-items:center; justify-content:space-between; padding:10px 18px; font-size:14px; font-weight:600; color:#1a1a1a; text-decoration:none; transition:background .15s,color .15s; border-bottom:1px solid #f5f5f5; }
.piv-mega-brand-btn:last-child { border-bottom:none; }
.piv-mega-brand-btn:hover { background:rgba(58,122,58,.07); color:var(--piv-green); }
.piv-mega-brand-btn svg { color:#aaa; }
.piv-mega-brand-btn:hover svg { color:var(--piv-green); }

/* ── FOOTER OVERRIDES ───────────────────────────────────────── */
.piv-footer { background:#111 !important; }
.piv-footer__inner { padding:88px 20px 32px !important; }
.piv-footer__grid { gap:48px !important; margin-bottom:40px !important; }
.piv-footer__logo-link { font-size:22px !important; font-weight:900 !important; letter-spacing:-.5px !important; text-decoration:none !important; }
/* JEDINSTVENA boja teksta u cijelom footeru (bez šarenila; razlika samo u debljini/veličini) */
.piv-footer, .piv-footer p, .piv-footer li, .piv-footer a, .piv-footer strong, .piv-footer h4,
.piv-footer__tagline, .piv-footer__instore-body, .piv-footer__pay-text, .piv-footer__pay-title,
.piv-footer__bottom p { color:rgba(255,255,255,.8) !important; }
.piv-footer__tagline { font-size:13px; margin-top:8px; line-height:1.5; }
.piv-footer__links h4, .piv-footer__contact h4, .piv-footer__instore h4, .piv-footer__pay-title { font-size:10px !important; text-transform:uppercase !important; letter-spacing:.12em !important; font-weight:700 !important; margin-bottom:16px !important; padding-bottom:10px !important; border-bottom:1px solid rgba(255,255,255,.08) !important; }
.piv-footer__links ul { list-style:none !important; margin:0 !important; padding:0 !important; }
.piv-footer__links li { margin-bottom:10px !important; }
.piv-footer__links a { font-size:14px !important; opacity:1 !important; text-decoration:none !important; transition:opacity .18s !important; display:inline-block; }
.piv-footer__links a:hover, .piv-footer__contact a:hover, .piv-footer__pay-text a:hover { opacity:.65 !important; }
.piv-footer__contact p { font-size:13px; line-height:1.8; }
.piv-footer__contact a { text-decoration:none; transition:opacity .18s; }
.piv-footer__bottom { border-top:1px solid rgba(255,255,255,.08) !important; padding:20px 0 !important; }
.piv-footer__bottom p { font-size:12px !important; opacity:1 !important; text-align:center !important; }


/* ── INFO PAGES ─────────────────────────────────────────────── */
.piv-page { max-width:760px; margin:0 auto; padding:48px 40px 96px; box-sizing:border-box; }
.piv-page h1 { font-size:30px; font-weight:800; color:#1a1a1a; margin:0 0 32px; padding-bottom:20px; border-bottom:2px solid #f0f0f0; line-height:1.2; }
.piv-page h2 { font-size:17px; font-weight:700; color:#1a1a1a; margin:32px 0 10px; }
.piv-page h2:first-of-type { margin-top:16px; }
.piv-page p { font-size:15px; line-height:1.8; color:#555; margin:0 0 16px; }
.piv-page ul { font-size:15px; line-height:1.8; color:#555; padding-left:20px; margin:0 0 16px; }
.piv-page a:not(.piv-pdf-btn) { color:#526832; }
.piv-page a:not(.piv-pdf-btn):hover { text-decoration:underline; }
.piv-pdf-btn { display:inline-flex !important; align-items:center !important; gap:10px !important; margin:20px 0 24px !important; padding:14px 24px !important; background:#1a1a1a !important; color:#fff !important; border-radius:8px !important; text-decoration:none !important; font-size:14px !important; font-weight:700 !important; letter-spacing:.02em !important; transition:background .2s,transform .15s !important; }
.piv-pdf-btn:hover { background:#526832 !important; color:#fff !important; transform:translateY(-1px) !important; }
.piv-pdf-btn svg { flex-shrink:0; }
.piv-info-box { background:#f9fafb; border:1px solid #ebebeb; border-radius:10px; padding:24px 28px; margin:24px 0; }
.piv-info-box h2 { margin-top:0 !important; }

/* ── MOBILE ──────────────────────────────────────────────────── */
@media(max-width:900px){
  /* Checkout 2-col → 1-col, sidebar first */
  form.woocommerce-checkout { grid-template-columns:1fr !important; gap:24px !important; }
  form.woocommerce-checkout #customer_details,
  form.woocommerce-checkout #order_review_heading,
  form.woocommerce-checkout #order_review { grid-column:1 !important; grid-row:auto !important; }
  /* WC block checkout sidebar stacks below, give it a bit of separation */
  .wc-block-checkout .wc-block-components-sidebar-layout { flex-wrap:wrap !important; gap:24px !important; }
  .wc-block-checkout .wc-block-components-sidebar { flex:1 1 100% !important; width:100% !important; max-width:100% !important; }
  .wc-block-checkout .wc-block-components-main { width:100% !important; }
}
@media(max-width:600px){
  /* Checkout container tighter on small phones */
  body.woocommerce-checkout .piv-container,
  body.woocommerce-cart .piv-container { padding:0 12px !important; }
  /* Page h1 */
  .piv-page h1 { font-size:22px !important; padding-bottom:14px !important; margin-bottom:20px !important; }
  .piv-page { padding:28px 16px 64px !important; }
  /* Block checkout steps less padding on mobile */
  .wc-block-components-checkout-step { padding:16px !important; margin-bottom:10px !important; }
  .wc-block-components-checkout-step__title { font-size:14px !important; }
  /* Order summary image – make slightly larger for readability */
  .wc-block-components-order-summary-item__image { width:56px !important; }
  .wc-block-components-order-summary-item__image img { width:56px !important; height:56px !important; }
  /* Block checkout sidebar order summary */
  .wc-block-components-order-summary__content { padding:12px !important; }
  /* Place order button */
  .wc-block-components-checkout-place-order-button { font-size:14px !important; padding:15px !important; }
  /* Totals */
  .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
  .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size:17px !important; }
  /* Cart table on mobile – hide thumbnail col, show inline */
  .woocommerce-cart .shop_table thead { display:none; }
  .woocommerce-cart .shop_table tbody tr { display:grid; grid-template-columns:72px 1fr auto; gap:8px 12px; padding:14px 0; border-bottom:1px solid #f0f0f0; align-items:center; }
  .woocommerce-cart .shop_table td { display:block; border:none; padding:0 !important; }
  .woocommerce-cart .shop_table td.product-thumbnail { grid-row:1/3; }
  .woocommerce-cart .shop_table td.product-name { align-self:end; }
  .woocommerce-cart .shop_table td.product-subtotal { text-align:right; font-weight:700; }
  .woocommerce-cart .shop_table td.product-quantity,.woocommerce-cart .shop_table td.product-remove { display:none; }
  /* Single product on small phone */
  .piv-single-product__title { font-size:18px !important; }
  .piv-gallery__thumb { width:56px !important; height:56px !important; }
  /* Checkout review order table on mobile */
  .woocommerce-checkout-review-order-table thead { display:none !important; }
  .woocommerce-checkout-review-order-table .cart_item td { display:flex; justify-content:space-between; padding:6px 12px !important; }
}
@media(max-width:480px){
  /* Header tighter */
  .piv-header__actions { gap:6px; }
  /* Product card on small phones */
  .piv-product-card__actions { margin-top:10px; }
  .piv-product-card .piv-btn--add-cart { padding:10px 12px !important; font-size:11px !important; }
  /* Footer grid single column */
  .piv-footer__grid { grid-template-columns:1fr !important; gap:28px !important; }
  .piv-footer__inner { padding:56px 16px 28px !important; }
}

/* ── FREE SHIPPING PROGRESS BAR ─────────────────────────────── */
.piv-shipping-bar { margin:8px 0 14px; }
.piv-shipping-bar__track { height:5px; background:#ebebeb; border-radius:10px; overflow:hidden; margin-bottom:7px; }
.piv-shipping-bar__fill { height:100%; background:var(--piv-green); border-radius:10px; transition:width .5s ease; }
.piv-shipping-bar__msg { font-size:12px; color:#888; margin:0; line-height:1.5; }
.piv-shipping-bar__msg strong { color:var(--piv-green); }
.piv-shipping-bar__msg--done { color:var(--piv-green) !important; font-weight:600; }

/* ── LOW STOCK WARNING ──────────────────────────────────────── */
.piv-low-stock { font-size:13px; font-weight:600; color:#c62828; background:#fdecea; border-radius:6px; padding:7px 14px; display:inline-block; margin:8px 0 4px; }

/* ── VAT BREAKDOWN ROW ──────────────────────────────────────── */
.piv-vat-row-php th,
.piv-vat-row-php td { font-size:12px !important; color:#888 !important; border-top:1px dashed #ebebeb !important; padding:8px 16px !important; font-weight:500 !important; }
/* "Uključuje PDV" — prigušena napomena ISPOD Ukupno (bez linije, total već ima svoju) */
.piv-vat-row { display:flex !important; justify-content:space-between !important; align-items:center !important; padding:4px 0 0 !important; border-top:none !important; margin:0 !important; }
.piv-vat-row__label { font-size:12px !important; color:#8a8f80 !important; font-weight:500 !important; }
.piv-vat-row__value { font-size:12px !important; color:#8a8f80 !important; font-weight:600 !important; }

/* ── COOKIE CONSENT BANNER ──────────────────────────────────── */
.piv-cookie-banner { position:fixed; bottom:0; left:0; right:0; z-index:999998; transform:translateY(110%); transition:transform .4s cubic-bezier(.25,.46,.45,.94); background:#fff; border-top:1px solid #ebebeb; box-shadow:0 -4px 24px rgba(0,0,0,.12); }
.piv-cookie-banner.is-visible { transform:translateY(0); }
.piv-cookie-banner__inner { display:flex; align-items:center; gap:20px; padding:16px 0; flex-wrap:wrap; }
.piv-cookie-banner__text { display:flex; align-items:flex-start; gap:12px; flex:1; min-width:260px; }
.piv-cookie-banner__text div { flex:1; }
.piv-cookie-banner__text strong { font-size:14px; font-weight:700; color:#1a1a1a; display:block; margin-bottom:3px; }
.piv-cookie-banner__text p { font-size:13px; color:#555; margin:0; line-height:1.5; }
.piv-cookie-banner__text a { color:var(--piv-green); text-decoration:underline; }
.piv-cookie-banner__actions { display:flex; gap:10px; flex-shrink:0; flex-wrap:wrap; }
.piv-cookie-btn { border:none; border-radius:var(--piv-r-sm); padding:10px 20px; font-size:13px; font-weight:700; cursor:pointer; font-family:inherit; transition:background var(--piv-transition),transform .15s; letter-spacing:.03em; }
.piv-cookie-btn--accept { background:var(--piv-green); color:#fff; }
.piv-cookie-btn--accept:hover { background:#41521f; transform:translateY(-1px); }
.piv-cookie-btn--reject { background:#f0f1f3; color:#666; }
.piv-cookie-btn--reject:hover { background:#e0e1e3; }
.piv-cookie-btn--postavke { background:transparent; color:#526832; text-decoration:underline; padding:10px 8px; }
.piv-cookie-btn--postavke:hover { color:#41521f; }
.piv-cookie-panel { border-top:1px solid #ebebeb; background:#fbfcfa; }
.piv-cookie-panel__inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:16px 0; align-items:start; }
.piv-cookie-vrsta { display:flex; gap:10px; align-items:flex-start; padding:12px 14px; border:1px solid #e6e8e2; border-radius:10px; background:#fff; cursor:pointer; }
.piv-cookie-vrsta.is-locked { cursor:default; background:#f4f6f1; }
.piv-cookie-vrsta input { accent-color:#526832; width:17px; height:17px; flex-shrink:0; margin:2px 0 0; }
.piv-cookie-vrsta .tx { display:block; min-width:0; }
.piv-cookie-vrsta strong { display:block; font-size:13px; font-weight:700; color:#1a1a1a; }
.piv-cookie-vrsta .op { display:block; font-size:12px; line-height:1.5; color:#777; margin-top:2px; }
.piv-cookie-panel__akcije { grid-column:1/-1; display:flex; justify-content:flex-end; }
.piv-kolacici-link { background:none; border:0; padding:0; margin:0; font:inherit; color:inherit; opacity:.75; cursor:pointer; text-decoration:underline; }
.piv-kolacici-link:hover { opacity:1; }
@media(max-width:860px) { .piv-cookie-panel__inner { grid-template-columns:1fr; } }
@media(max-width:640px) { .piv-cookie-banner__inner { gap:12px; } .piv-cookie-banner__actions { width:100%; justify-content:flex-end; } }

/* ── ORDER-ONLY BADGE ──────────────────────────────────────── */
.piv-order-only { display:flex; align-items:center; gap:8px; background:#fff8e1; border:1px solid #ffe082; border-radius:8px; padding:10px 14px; font-size:13px; font-weight:600; color:#f57f17; margin:8px 0; line-height:1.4; }
.piv-order-only svg { flex-shrink:0; }

/* ── QTY OFFER BADGE ───────────────────────────────────────── */
.piv-qty-offer { display:flex; align-items:center; gap:8px; background:#e8f5e9; border:1px solid #c8e6c9; border-radius:8px; padding:10px 14px; font-size:13px; font-weight:600; color:#5f8a1f; margin:8px 0; line-height:1.4; }
.piv-qty-offer svg { flex-shrink:0; }

/* ── MOBILE SECTION OPTIMIZATIONS ─────────────────────────── */
@media(max-width:768px){
  /* Global: side padding on all section containers */
  .piv-container { padding-left:16px !important; padding-right:16px !important; box-sizing:border-box; }
  /* Trust bar: 2×2 grid instead of 4-in-a-row */
  .piv-trust { display:grid !important; grid-template-columns:1fr 1fr !important; gap:16px 24px !important; }
  /* Section headers: stack title above CTA */
  .piv-section-header { flex-direction:column !important; align-items:flex-start !important; gap:10px !important; }
  /* Sections: less vertical padding */
  .piv-on-sale,.piv-new-products { padding:28px 0 !important; }
  .piv-service-prices { padding:32px 0 !important; }
  .piv-shop { padding:24px 0 !important; }
  /* Service CTA: stack text + visual, stack buttons */
  .piv-service-cta__inner { flex-direction:column !important; }
  .piv-service-cta__actions { flex-direction:column !important; align-items:stretch !important; gap:10px !important; }
  .piv-service-cta__actions .piv-btn { text-align:center !important; box-sizing:border-box !important; display:block !important; }
  /* Single product info: side padding when stacked */
  .piv-single-product__info { padding:0 16px !important; }
  /* Add-to-cart button: leave 16px breathing room on each side */
  .piv-single-product__info .single_add_to_cart_button,
  .piv-single-product__info button.button { width:calc(100% - 32px) !important; margin-left:16px !important; margin-right:16px !important; }
}
@media(max-width:480px){
  /* Tighter side padding on small phones */
  .piv-container { padding-left:12px !important; padding-right:12px !important; }
  /* Section title slightly smaller */
  .piv-section-title { font-size:20px !important; }
  /* Service price rows compact */
  .piv-price-list__row { padding:10px 12px !important; }
  .piv-price-list__header { padding:8px 12px !important; }
  /* Trust bar items: less gap */
  .piv-trust__item { gap:8px !important; }
  /* Product card body: tighter padding */
  .piv-product-card__body { padding:10px 12px 14px !important; }
  /* Single product title */
  .piv-single-product__title { font-size:20px !important; }
  /* Booking form */
  .piv-booking-container { padding:24px 16px !important; }
  /* Service CTA label/title smaller */
  .piv-service-cta__title { font-size:22px !important; }
}
/* All prices on single product page: override red/inherit to black */
.piv-single-product__price .woocommerce-Price-amount.amount,
.piv-single-product .woocommerce-Price-amount.amount { color:#1a1a1a !important; }
/* Logo image in header and footer */
.piv-header__logo-img { max-height:40px; width:auto; display:block; }
.piv-footer__logo-img { max-height:36px; width:auto; display:block; }
/* Slider: cover fill, dynamic height via JS */
.piv-slider{height:var(--piv-slider-h,clamp(420px,60vh,680px))!important}
.piv-slide{background-size:cover!important;background-position:center center!important}

/* ── RELATED PRODUCTS GRID (pribor / rezervni dijelovi tabs) ── */
.piv-related-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:16px; padding:16px 0; }
.piv-related-card { display:flex; flex-direction:column; gap:8px; background:#fff; border:1px solid #ebebeb; border-radius:var(--piv-r-md); padding:14px; text-decoration:none; color:inherit; transition:box-shadow .2s,transform .2s; }
.piv-related-card:hover { box-shadow:var(--piv-shadow-md); transform:translateY(-3px); }
.piv-related-card img { width:100%; aspect-ratio:1; object-fit:contain; display:block; }
.piv-related-card__name { font-size:13px; font-weight:600; color:#1a1a1a; line-height:1.4; flex:1; }
.piv-related-card__price { font-size:14px; font-weight:700; color:#1a1a1a; }
.piv-related-card__price .woocommerce-Price-amount { color:#1a1a1a; }

/* ── HUSQVARNA SECTION (product page) ──────────────────────── */
.piv-husq-section { margin:24px 0; padding:24px; background:#f9fafb; border-radius:var(--piv-r-md); border:1px solid #ebebeb; }
.piv-husq-tagline { font-size:17px; font-weight:600; color:#1a1a1a; margin:0 0 16px; line-height:1.5; }
.piv-husq-features { margin:0; }
.piv-husq-features h3 { font-size:13px; text-transform:uppercase; letter-spacing:.07em; color:#888; font-weight:700; margin:0 0 10px; }
.piv-husq-features__list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.piv-husq-features__list li { font-size:14px; color:#333; padding-left:20px; position:relative; line-height:1.5; }
.piv-husq-features__list li::before { content:'✓'; position:absolute; left:0; color:var(--piv-green); font-weight:700; font-size:13px; }

/* ── HUSQVARNA SPECS TABLE ─────────────────────────────────── */
.piv-husq-specs__table { width:100%; border-collapse:collapse; font-size:14px; margin:0; }
.piv-husq-specs__table tr { border-bottom:1px solid #f0f0f0; }
.piv-husq-specs__table tr:last-child { border-bottom:none; }
.piv-husq-specs__table th { width:40%; text-align:left; padding:10px 12px; font-weight:600; color:#555; font-size:13px; background:#f9fafb; }
.piv-husq-specs__table td { padding:10px 12px; color:#1a1a1a; font-weight:500; }

.piv-slide__overlay{display:block!important;background:linear-gradient(90deg,rgba(0,0,0,0.52) 0%,rgba(0,0,0,0.36) 55%,rgba(0,0,0,0.28) 100%)!important}