/* Goldium page layouts (shop / product / cart / checkout) — shared skin. Values from Goldium template custom.css. Scope: .gp */
.gp{ --gp-ink: var(--primary, #1a1a1a); --gp-accent: var(--secondary, #c9a24d); --gp-muted: #757e8b; --gp-line: #e6e6e6; --gp-serif: var(--font-heading, 'Old Standard TT', serif); --gp-sans: var(--font-body, 'Jost', sans-serif); font-family: var(--gp-sans); color: #222; }
.gp a{ text-decoration: none !important; }

/* Page header banner (.sisf-banner port) */
.gp-hero{ position: relative; height: 380px; display: flex; align-items: center; justify-content: center; text-align: center; overflow: hidden; background: #111; color: #fff; }
.gp-hero--plain{ height: 220px; background: linear-gradient(135deg, var(--gp-ink), #2b2f36); }
.gp-hero__bg{ position: absolute; inset: 0; }
.gp-hero__bg img{ width: 100%; height: 100%; object-fit: cover; animation: gp-kenburns 22s ease-in-out infinite alternate; }
.gp-hero__bg::after{ content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.45); }
@keyframes gp-kenburns{ from{ transform: scale(1); } to{ transform: scale(1.1); } }
.gp-hero__content{ position: relative; z-index: 1; padding: 0 16px; }
.gp-hero h1{ font-family: var(--gp-serif); font-size: 46px; line-height: 1.2; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; color: #fff; text-shadow: 0 4px 64px #000; margin: 0; }
.gp-hero__crumbs{ margin-top: 12px; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.8); }
.gp-hero__crumbs a{ color: #fff; } .gp-hero__crumbs span{ margin: 0 8px; opacity: .6; } .gp-hero__crumbs em{ font-style: normal; color: var(--gp-accent); }

/* Buttons */
.gp-btn{ position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-family: var(--gp-sans); font-size: 14px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--gp-ink); background: transparent; border: 1px solid var(--gp-ink); padding: 14px 26px; overflow: hidden; z-index: 1; transition: color .4s; cursor: pointer; line-height: 1.2; }
.gp-btn::after{ content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 100%; background: var(--gp-ink); transition: width .35s ease-in-out; z-index: -1; }
.gp-btn:hover{ color: #fff; } .gp-btn:hover::after{ width: 100%; }
.gp-btn--fill{ background: var(--gp-ink); color: #fff; } .gp-btn--fill::after{ background: var(--gp-accent); } .gp-btn--fill:hover{ color: #fff; border-color: var(--gp-accent); }
.gp-btn--accent{ background: var(--gp-accent); border-color: var(--gp-accent); color: #fff; } .gp-btn--accent::after{ background: var(--gp-ink); } .gp-btn--accent:hover{ border-color: var(--gp-ink); }

/* Section titles */
.gp-title{ font-family: var(--gp-serif); font-size: 34px; line-height: 1.25; letter-spacing: .04em; text-transform: uppercase; font-weight: 400; color: var(--gp-ink); }
.gp-subtitle{ font-family: var(--gp-sans); font-size: 22px; font-weight: 500; color: var(--gp-ink); }

/* ---------- SHOP ---------- */
.gp-shop{ padding: 60px 0 70px; }
.gp-shop__bar{ display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 26px; }
.gp-shop__count{ font-size: 15px; color: #444; }
.gp-shop__sort select.form-control{ min-width: 220px; height: 44px; border: 1px solid #ddd !important; border-radius: 30px !important; padding: 0 18px; font-family: var(--gp-sans); font-size: 14px; }
.gp-shop__filter-btn{ display: none; }
/* filters: reskin of frontend/shop/_filters (CMS classes) */
.gp-filters .collapse-sidebar{ border: 1px solid var(--gp-line) !important; border-radius: 0 !important; box-shadow: none !important; }
.gp-filters .collapse-sidebar > .bg-white{ border-bottom: 1px solid var(--gp-line) !important; padding: 8px 12px 6px; }
.gp-filters .collapse-sidebar > .bg-white > .fs-14{ font-family: var(--gp-sans); font-size: 15px !important; font-weight: 600 !important; letter-spacing: .12em; text-transform: uppercase; color: var(--gp-ink) !important; padding: 12px 4px !important; }
.gp-filters .collapse-sidebar > .bg-white > .fs-14 a{ color: var(--gp-ink) !important; }
.gp-filters .collapse-sidebar > .bg-white > .fs-14 a::after{ float: right; }
.gp-filters .collapse-sidebar .p-3.pt-0{ padding: 4px 4px 14px !important; }
.gp-filters ul li a{ font-size: 15px !important; color: #444 !important; line-height: 1.7; }
.gp-filters ul li a.text-primary{ color: var(--gp-ink) !important; }
.gp-filters ul li a:hover{ color: var(--gp-accent) !important; }
.gp-filters .aiz-checkbox span.fs-14{ font-size: 15px !important; color: #444 !important; }
.gp-filters .aiz-square-check{ border-radius: 2px; border-color: #bbb; }
.gp-filters .aiz-checkbox input:checked ~ .aiz-square-check{ background: var(--gp-ink); border-color: var(--gp-ink); }
.gp-filters .noUi-connect{ background: var(--gp-ink) !important; }
.gp-filters .noUi-handle{ border-color: var(--gp-ink) !important; }
.gp-filters .gp-filters__title{ font-family: var(--gp-sans); font-size: 24px; font-weight: 500; padding: 22px 16px 6px; color: var(--gp-ink); }
.gp-shop__grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px 30px; }
.gp-shop__grid > *{ min-width: 0; }
.gp-shop .pagination-area{ padding-top: 30px; }
.gp-shop .aiz-pagination .page-link{ border-radius: 0 !important; border: 1px solid #ddd; color: var(--gp-ink); font-family: var(--gp-sans); margin: 0 3px; min-width: 42px; height: 42px; line-height: 40px; }
.gp-shop .aiz-pagination .page-item.active .page-link{ background: var(--gp-ink); border-color: var(--gp-ink); color: #fff; }
.gp-shop #mobile-load-more-btn{ background: var(--gp-ink); border-radius: 0; box-shadow: none; }
.gp-shop__empty{ text-align: center; padding: 60px 20px; color: var(--gp-muted); font-size: 16px; }
.gp-shop__empty i{ font-size: 52px; display: block; margin-bottom: 12px; color: #ccc; }
@media (max-width: 1199.98px){ .gp-shop__grid{ grid-template-columns: repeat(3, 1fr); gap: 24px 20px; } }
@media (max-width: 991.98px){ .gp-shop{ padding: 36px 0 50px; } .gp-shop__grid{ grid-template-columns: repeat(2, 1fr); gap: 20px 14px; } .gp-shop__filter-btn{ display: inline-flex; } .gp-hero{ height: 260px; } .gp-hero h1{ font-size: 32px; } }
@media (max-width: 575.98px){ .gp-shop__grid{ gap: 16px 10px; } .gp-hero{ height: 200px; } .gp-hero h1{ font-size: 26px; } .gp-shop__sort select.form-control{ min-width: 160px; height: 40px; } }

/* ---------- PRODUCT ---------- */
.gp-product{ padding: 60px 0 40px; }
.gp-product__top{ display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; }
.gp-product__top > *{ min-width: 0; }
.gp-product .product-gallery .slick-slide img, .gp-product .product-gallery-thumb img{ border-radius: 0; }
.gp-product .product-gallery-thumb .slick-slide{ border-radius: 0 !important; }
.gp-product .product-gallery-thumb .slick-current .carousel-box, .gp-product .product-gallery-thumb .slick-current{ border-color: var(--gp-ink) !important; }
/* details partial reskin */
.gp-product h1{ font-family: var(--gp-serif) !important; font-size: 40px !important; font-weight: 400 !important; letter-spacing: .02em; line-height: 1.2 !important; color: var(--gp-ink) !important; }
.gp-product .rating{ color: var(--gp-accent); }
.gp-product .badge-soft-primary{ background: transparent !important; color: var(--gp-muted) !important; border: 1px solid var(--gp-line); border-radius: 0 !important; letter-spacing: .1em; text-transform: uppercase; font-size: 11px !important; padding: 5px 12px !important; }
.gp-product .detail-tag-chip{ border-radius: 6px !important; letter-spacing: .06em; border: 0 !important; box-shadow: none !important; }
.gp-product .detail-tag-chip.detail-tag-stock-in{ background: #eaf6ee !important; color: #2f7d52 !important; font-weight: 600; }
.gp-product .detail-tag-chip.detail-tag-stock-out{ background: #fdeeee !important; color: #b4443c !important; font-weight: 600; }
.gp-product .detail-tag-chip.detail-tag-offer{ background: #fbf3e6 !important; color: #96702c !important; font-weight: 600; }
.gp-product .fs-20.fw-700, .gp-product .product-price, .gp-product .fs-24.fw-700, .gp-product .fs-30.fw-700, .gp-product .text-primary.fs-24{ font-family: var(--gp-sans); }
.gp-product .btn-primary, .gp-product .buy-now, .gp-product .add-to-cart{ border-radius: 0 !important; letter-spacing: .1em; text-transform: uppercase; font-weight: 500 !important; }
.gp-product .btn-primary, .gp-product .btn-primary *{ color: #fff !important; }
.gp-product .btn-primary{ background: var(--gp-ink) !important; border-color: var(--gp-ink) !important; }
.gp-product .btn-primary.add-to-cart, .gp-product .btn-primary:not(.buy-now):first-child{ background: #fff !important; }
.gp-product .btn-primary:not(.buy-now), .gp-product .btn-primary:not(.buy-now) *{ color: var(--gp-ink) !important; }
.gp-product .btn-primary:not(.buy-now):hover, .gp-product .btn-primary:not(.buy-now):hover *{ background: var(--gp-ink) !important; color: #fff !important; }
.gp-product .buy-now:hover{ background: var(--gp-accent) !important; border-color: var(--gp-accent) !important; }
.gp-product .shadow-sm{ box-shadow: none !important; }
.gp-product .btn-primary:hover{ background: var(--gp-accent) !important; border-color: var(--gp-accent) !important; }
.gp-product .btn-outline-primary, .gp-product .btn-soft-primary{ border-radius: 0 !important; border-color: var(--gp-ink) !important; color: var(--gp-ink) !important; background: #fff !important; letter-spacing: .1em; text-transform: uppercase; }
.gp-product .btn-outline-primary:hover, .gp-product .btn-soft-primary:hover{ background: var(--gp-ink) !important; color: #fff !important; }
.gp-product .aiz-plus-minus, .gp-product .aiz-plus-minus input, .gp-product .aiz-plus-minus button{ border-radius: 0 !important; }
.gp-product .aiz-radio-inline .aiz-megabox-elem, .gp-product .form-control{ border-radius: 0 !important; }
.gp-product .wishlist-btn{ border: 0 !important; background: transparent !important; box-shadow: none !important; width: 32px !important; height: 32px !important; }
.gp-product .wishlist-btn:hover{ background: transparent !important; border: 0 !important; }
/* tabs */
.gp-tabs{ margin-top: 60px; }
.gp-tabs__nav{ display: flex; gap: 40px; justify-content: center; border-bottom: 1px solid var(--gp-line); margin-bottom: 30px; flex-wrap: wrap; }
.gp-tabs__nav a{ position: relative; display: block; padding: 14px 4px; font-family: var(--gp-sans); font-size: 20px; font-weight: 500; color: #666; }
.gp-tabs__nav a::after{ content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--gp-accent); transform: scaleX(0); transition: transform .3s; }
.gp-tabs__nav a.active{ color: var(--gp-ink); } .gp-tabs__nav a.active::after{ transform: scaleX(1); }
.gp-tabs__pane{ display: none; } .gp-tabs__pane.active{ display: block; animation: gp-fade .4s ease; }
@keyframes gp-fade{ from{ opacity: 0; transform: translateY(8px); } to{ opacity: 1; transform: none; } }
.gp-tabs__pane .card, .gp-tabs__pane .bg-white{ border: 0 !important; box-shadow: none !important; }
.gp-tabs__pane .card-header{ display: none; }
.gp-tabs__pane .bg-soft-secondary.border-bottom{ background: transparent !important; border: 0 !important; padding: 0 !important; }
.gp-tabs__pane .a-nav-tabs .nav-link{ font-family: var(--gp-sans); font-size: 14px !important; letter-spacing: .1em; text-transform: uppercase; color: var(--gp-muted) !important; }
.gp-tabs__pane .a-nav-tabs .nav-link.active{ color: var(--gp-ink) !important; }
.gp-tabs__pane .gp-hide-single-nav{ display: none !important; }
.gp-tabs__pane .overflow-hidden{ overflow: visible !important; }
.gp-tabs__pane .fs-16.fw-600, .gp-tabs__pane h5, .gp-tabs__pane h6{ font-family: var(--gp-serif); letter-spacing: .04em; }
.gp-tabs__pane .mw-100.overflow-hidden.text-left{ font-size: 16px; line-height: 1.9; color: #333; }
.gp-related{ margin-top: 70px; }
.gp-related__grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.gp-related__grid > *{ min-width: 0; }
@media (max-width: 991.98px){ .gp-product{ padding: 36px 0 30px; } .gp-product__top{ grid-template-columns: 1fr; gap: 30px; } .gp-product h1{ font-size: 30px !important; } .gp-tabs{ margin-top: 40px; } .gp-tabs__nav{ gap: 20px; } .gp-tabs__nav a{ font-size: 16px; padding: 10px 2px; } .gp-related__grid{ grid-template-columns: repeat(2, 1fr); gap: 16px 12px; } .gp-related{ margin-top: 44px; } }

/* ---------- CART (skin over frontend/partials/cart/cart_details) ---------- */
.gp-cart{ padding: 0 0 60px; }
.gp-cart .bg-white{ border: 0 !important; }
.gp-cart .list-group-item{ border-color: var(--gp-line) !important; padding: 20px 0 !important; }
.gp-cart h3, .gp-cart .h5, .gp-cart .fs-17, .gp-cart .fw-600.fs-16{ font-family: var(--gp-sans); }
.gp-cart .text-primary{ color: var(--gp-ink) !important; }
.gp-cart .btn-primary{ background: var(--gp-accent) !important; border-color: var(--gp-accent) !important; border-radius: 0 !important; letter-spacing: .1em; text-transform: uppercase; font-weight: 500 !important; }
.gp-cart .btn-primary:hover{ background: var(--gp-ink) !important; border-color: var(--gp-ink) !important; }
.gp-cart .btn-outline-primary, .gp-cart .btn-soft-primary, .gp-cart .btn-secondary, .gp-cart .btn-soft-secondary{ border-radius: 0 !important; letter-spacing: .08em; text-transform: uppercase; }
.gp-cart .form-control, .gp-cart .aiz-plus-minus, .gp-cart .aiz-plus-minus input, .gp-cart .aiz-plus-minus button, .gp-cart .input-group-text{ border-radius: 0 !important; }
.gp-cart .card{ border: 1px solid var(--gp-line) !important; border-radius: 0 !important; box-shadow: 0 20px 50px -30px rgba(0,0,0,.25) !important; }
.gp-cart .card-header{ background: #fff !important; border-bottom: 1px solid var(--gp-line) !important; font-family: var(--gp-sans); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.gp-cart .aiz-square-check{ border-radius: 2px; } .gp-cart .aiz-checkbox input:checked ~ .aiz-square-check{ background: var(--gp-ink); border-color: var(--gp-ink); }
.gp-cart .badge{ border-radius: 0 !important; }

/* ---------- CHECKOUT (skin over frontend/checkout + payment_select) ---------- */
.gp-checkout{ padding: 0 0 60px; }
.gp-checkout > section, .gp-checkout .checkout-shell{ margin-top: 40px !important; }
.gp-checkout .card, .gp-checkout .bg-white.rounded, .gp-checkout .checkout-shell .bg-white{ border: 1px solid var(--gp-line) !important; border-radius: 0 !important; box-shadow: none !important; }
.gp-checkout .card-header{ background: #fff !important; border-bottom: 1px solid var(--gp-line) !important; }
.gp-checkout .card-header h3, .gp-checkout .card-header h5, .gp-checkout .card-header .h5, .gp-checkout .card-header .h6{ font-family: var(--gp-sans); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.gp-checkout .form-control, .gp-checkout .custom-select, .gp-checkout .input-group-text, .gp-checkout .aiz-megabox-elem{ border-radius: 0 !important; background: #f8f8f8; border-color: #e5e5e5 !important; }
.gp-checkout .form-control:focus{ background: #fff; border-color: var(--gp-ink) !important; box-shadow: none !important; }
.gp-checkout .btn-primary{ background: var(--gp-accent) !important; border-color: var(--gp-accent) !important; border-radius: 0 !important; letter-spacing: .1em; text-transform: uppercase; font-weight: 500 !important; }
.gp-checkout .btn-primary:hover{ background: var(--gp-ink) !important; border-color: var(--gp-ink) !important; }
.gp-checkout .btn-outline-primary, .gp-checkout .btn-soft-primary, .gp-checkout .btn-secondary, .gp-checkout .btn-light, .gp-checkout .btn-soft-secondary{ border-radius: 0 !important; letter-spacing: .08em; text-transform: uppercase; }
.gp-checkout .text-primary{ color: var(--gp-ink) !important; }
.gp-checkout .aiz-square-check, .gp-checkout .aiz-rounded-check{ border-color: #bbb; }
.gp-checkout .aiz-checkbox input:checked ~ .aiz-square-check, .gp-checkout .aiz-radio input:checked ~ .aiz-rounded-check{ background: var(--gp-ink); border-color: var(--gp-ink); }
.gp-checkout .badge{ border-radius: 0 !important; }
.gp-checkout .list-group-item{ border-color: var(--gp-line) !important; }
.gp-checkout .nav-tabs .nav-link.active, .gp-checkout .aiz-checkout-step.active{ border-color: var(--gp-ink) !important; }
@media (max-width: 767.98px){ .gp-cart, .gp-checkout{ padding: 0 0 40px; } }
