/* Shared armature layout and its separate draft; other product templates are unaffected. */
.artisans-product-layout :is(.elementor-3410,.elementor-3412) { --ac-ink:var(--artisans-green, #173b32); --ac-gold:var(--artisans-gold, #c1ab7a); --ac-line:#d9d5ca; --ac-muted:#606660; --ac-paper:#f7f6f4; color:#24332e; font-family:Mulish,sans-serif; }
.artisans-product-layout :is(.elementor-3410,.elementor-3412) * { box-sizing:border-box; }
:is(.elementor-3410,.elementor-3412) .ac-banner { padding:12px 28px; display:flex; justify-content:space-between; gap:16px; background:#e9e5da; color:#364138; font-size:12px; line-height:1.5; }
:is(.elementor-3410,.elementor-3412) .ac-banner strong { font-weight:700; letter-spacing:.09em; }
:is(.elementor-3410,.elementor-3412) .ac-banner a { color:inherit; text-decoration:underline; }
:is(.elementor-3410,.elementor-3412) .ac-breadcrumb > .elementor-container,
:is(.elementor-3410,.elementor-3412) .ac-hero > .elementor-container,
:is(.elementor-3410,.elementor-3412) .ac-details > .elementor-container { max-width:1240px; }
:is(.elementor-3410,.elementor-3412) .ac-breadcrumb { padding:22px 32px 12px; }
:is(.elementor-3410,.elementor-3412) .ac-breadcrumb .elementor-widget-wrap { padding:0; }
:is(.elementor-3410,.elementor-3412) .woocommerce-breadcrumb { font-size:12px; line-height:1.6; color:#687069; }
:is(.elementor-3410,.elementor-3412) .ac-hero { padding:12px 32px 60px; }
:is(.elementor-3410,.elementor-3412) .ac-hero > .elementor-container { gap:56px; align-items:flex-start; }
:is(.elementor-3410,.elementor-3412) .ac-gallery { width:calc(46% - 28px); }
:is(.elementor-3410,.elementor-3412) .ac-summary { width:calc(54% - 28px); min-width:0; }
:is(.elementor-3410,.elementor-3412) .ac-gallery > .elementor-widget-wrap,
:is(.elementor-3410,.elementor-3412) .ac-summary > .elementor-widget-wrap { padding:0; display:block; }
:is(.elementor-3410,.elementor-3412) .ac-gallery { position:sticky; top:70px; }
:is(.elementor-3410,.elementor-3412) .ac-gallery .elementor-widget { margin:0; }
:is(.elementor-3410,.elementor-3412) .ac-gallery .woocommerce-product-gallery { background:#f7f6f4; overflow:hidden; border-radius:3px; float:none!important; width:100%!important; margin:0!important; opacity:1!important; transition:none!important; }
:is(.elementor-3410,.elementor-3412) .ac-gallery .woocommerce-product-gallery__image { overflow:hidden; }
:is(.elementor-3410,.elementor-3412) .ac-gallery .woocommerce-product-gallery__image > a { display:flex!important; align-items:center; justify-content:center; height:clamp(360px,43vw,520px); overflow:hidden; opacity:1; }
:is(.elementor-3410,.elementor-3412) .ac-gallery .woocommerce-product-gallery__image > a > img { flex:none!important; width:140%!important; height:auto!important; max-width:none!important; margin:0; transform:none; mix-blend-mode:normal; filter:none; opacity:1; }
:is(.elementor-3410,.elementor-3412) .ac-photo-caption { margin:16px 0 0; font-size:12px; color:var(--ac-muted); line-height:1.6; text-align:center; }
:is(.elementor-3410,.elementor-3412) .ac-summary .elementor-widget { width:100%!important; margin:0 0 18px; }
:is(.elementor-3410,.elementor-3412) .ac-eyebrow { margin:0; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:#77705e; }
:is(.elementor-3410,.elementor-3412) .ac-summary .product_title { margin:0; font-family:Mulish,sans-serif; font-size:34px; line-height:1.17; font-weight:500; letter-spacing:-.8px; color:var(--ac-ink); }
:is(.elementor-3410,.elementor-3412) .ac-summary .elementor-jet-single-price .price { margin:0; display:flex; align-items:baseline; justify-content:flex-start; color:var(--ac-ink); font-size:24px; line-height:1.3; font-weight:500; }
:is(.elementor-3410,.elementor-3412) .ac-summary .elementor-jet-single-price .price small { font-size:12px; font-weight:400; color:var(--ac-muted); margin-left:5px; }
:is(.elementor-3410,.elementor-3412) .ac-intro { font-size:14px; line-height:1.8; font-weight:400; color:#4a554e; }
:is(.elementor-3410,.elementor-3412) .ac-intro p { margin:0; }
:is(.elementor-3410,.elementor-3412) .ac-dimensions { display:flex; gap:0; margin:20px 0 26px; padding:17px 0; border-top:1px solid var(--ac-line); border-bottom:1px solid var(--ac-line); }
:is(.elementor-3410,.elementor-3412) .ac-dimensions > div { flex:1; padding:0 18px; border-left:1px solid var(--ac-line); }
:is(.elementor-3410,.elementor-3412) .ac-dimensions > div:first-child { border:0; padding-left:0; }
:is(.elementor-3410,.elementor-3412) .ac-dimensions dt { font-size:11px; color:var(--ac-muted); font-weight:400; margin-bottom:4px; }
:is(.elementor-3410,.elementor-3412) .ac-dimensions dd { margin:0; font-size:18px; font-weight:500; color:var(--ac-ink); }
:is(.elementor-3410,.elementor-3412) .ac-size-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:12px; font-size:14px; font-weight:600; }
:is(.elementor-3410,.elementor-3412) .ac-size-heading a { font-size:12px; font-weight:400; color:var(--ac-ink); text-decoration:underline; text-underline-offset:3px; }
:is(.elementor-3410,.elementor-3412) .ac-sizes { display:grid; grid-template-columns:repeat(var(--ac-size-count,4),minmax(0,1fr)); gap:8px; }
:is(.elementor-3410,.elementor-3412) .ac-size { display:flex; flex-direction:column; gap:2px; padding:12px 5px; border:1px solid var(--ac-gold); border-radius:3px; color:#45534a; text-align:center; background:#fff; line-height:1.6; text-decoration:none; transition:border-color .15s,background .15s; }
:is(.elementor-3410,.elementor-3412) .ac-size strong { font-weight:600; font-size:18px; }
:is(.elementor-3410,.elementor-3412) .ac-size span { font-size:11px; }
:is(.elementor-3410,.elementor-3412) .ac-size:hover,:is(.elementor-3410,.elementor-3412) .ac-size.is-current { border-color:var(--ac-gold); background:#edf1eb; color:var(--ac-ink); }
:is(.elementor-3410,.elementor-3412) .ac-size.is-current { box-shadow:inset 0 0 0 1px var(--artisans-gold-ink, #79643e); }
:is(.elementor-3410,.elementor-3412) .ac-config-heading { margin:30px 0 6px; padding-top:26px; border-top:1px solid var(--ac-line); font-size:21px; line-height:1.4; font-weight:500; color:var(--ac-ink); }
:is(.elementor-3410,.elementor-3412) .ac-config-subtitle { margin:0; color:var(--ac-muted); font-size:12px; line-height:1.6; }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) { margin:0; }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .apc-addon { padding:20px 0; margin:0; border:0; border-bottom:1px solid var(--ac-line); background:transparent!important; box-shadow:none; }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .addon-header { padding:0; margin:0; border:0; }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .apc-addon-title { margin:0 0 8px; padding:0; font-size:15px; line-height:1.5; font-weight:600; color:var(--ac-ink); cursor:default; }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .apc-addon-title::before,
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .apc-addon-title::after { display:none!important; }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .options-container { display:block!important; height:auto!important; padding:0; margin:0; }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .ac-option-help { margin:0 0 13px; color:var(--ac-muted); font-size:12px; font-weight:400; line-height:1.6; }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .options { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; margin:0; }
:is(.elementor-3410,.elementor-3412) :is(#apc-addon-1,.apc-addon[data-group="1"]) .options { grid-template-columns:repeat(5,minmax(0,1fr))!important; gap:7px!important; }
:is(.elementor-3410,.elementor-3412) :is(#apc-addon-2,.apc-addon[data-group="2"]) .options { grid-template-columns:1fr!important; }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .apc-option { min-width:0; max-width:100%; margin:0; padding:0; border:1px solid var(--ac-gold)!important; border-radius:4px!important; background:#fff; transition:background .15s,border-color .15s; }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .apc-option.selected { border-color:var(--ac-gold)!important; background:#edf1eb; box-shadow:inset 0 0 0 1px var(--artisans-gold-ink, #79643e); }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .apc-option.selected .label-container-display::after,
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .apc-option.selected .color::after { background-color:var(--artisans-gold-ink, #79643e)!important; }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .apc-option .label,
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .apc-option .label_container { border:0!important; border-radius:3px; padding:0; margin:0; background:transparent!important; width:100%; }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .label-container-display { border:0!important; display:flex!important; flex-direction:row!important; align-items:center; justify-content:flex-start; gap:10px; padding:12px!important; min-height:88px; }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .image-container { flex:0 0 44px; width:44px!important; margin:0!important; }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .image-container img { width:44px!important; height:56px!important; object-fit:contain; margin:0!important; mix-blend-mode:multiply; }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .inside { min-width:0; width:auto; flex:1; text-align:left; }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .label_price { display:block; line-height:1.5; text-align:left; }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) label { font-size:12px; font-weight:500; line-height:1.5; color:var(--ac-ink); }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .option-price { display:block; font-size:11px; font-weight:400; color:#5d665d; }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .brackets { display:none; }
:is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .tooltip { display:none!important; }
:is(.elementor-3410,.elementor-3412) :is(#apc-addon-1,.apc-addon[data-group="1"]) .color-container { display:flex; align-items:center; flex-direction:column; padding:12px 3px!important; gap:7px; width:100%; height:100%; border:0!important; background:none!important; }
:is(.elementor-3410,.elementor-3412) :is(#apc-addon-1,.apc-addon[data-group="1"]) .color { display:block; width:29px!important; height:29px!important; border:1px solid #c2c5bc; border-radius:50%; margin:0; }
:is(.elementor-3410,.elementor-3412) :is(#apc-addon-1,.apc-addon[data-group="1"]) .option-container { display:flex; flex-direction:column; align-items:center; width:100%; }
:is(.elementor-3410,.elementor-3412) :is(#apc-addon-1,.apc-addon[data-group="1"]) small { font-size:11px; line-height:1.6; text-align:center; font-weight:500; }
:is(.elementor-3410,.elementor-3412) .ac-no-bulb { display:block; width:100%; padding:10px 14px; margin:0 0 10px; text-align:left; border:1px solid var(--ac-gold); border-radius:3px; font:400 12px/1.5 Mulish,sans-serif; color:var(--ac-ink); background:#fff; cursor:pointer; }
:is(.elementor-3410,.elementor-3412) .ac-no-bulb[aria-pressed="true"] { border-color:var(--ac-gold); background:#edf1eb; box-shadow:inset 0 0 0 1px var(--artisans-gold-ink, #79643e); }
:is(.elementor-3410,.elementor-3412) :is(#apc-addon-2,.apc-addon[data-group="2"]) input[type="text"] { border:1px solid #bbc2b8; padding:12px; background:#fff; border-radius:3px; }
:is(.elementor-3410,.elementor-3412) :is(#apc-addon-2,.apc-addon[data-group="2"]) .apc-option { padding:12px; }
.artisans-product-layout :is(.elementor-3410,.elementor-3412) .jet-woo-builder form.cart:has(:is(#apc-container,.apc-container)) { display:flex!important; flex-wrap:wrap; gap:12px; margin:0!important; align-items:stretch; }
:is(.elementor-3410,.elementor-3412) form.cart :is(#apc-container,.apc-container) { width:100%; }
:is(.elementor-3410,.elementor-3412) :is(#apc-total-price-table,.apc-total-price-table) { padding:24px 0 4px!important; margin:0!important; }
:is(.elementor-3410,.elementor-3412) :is(#apc-total-price-table,.apc-total-price-table) table { border:0; background:none; width:100%; margin:0; }
:is(.elementor-3410,.elementor-3412) :is(#apc-total-price-table,.apc-total-price-table) tr { display:table-row!important; background:none; }
:is(.elementor-3410,.elementor-3412) :is(#apc-total-price-table,.apc-total-price-table) th,
:is(.elementor-3410,.elementor-3412) :is(#apc-total-price-table,.apc-total-price-table) td { background:none; border:0; padding:4px 0; color:#5b655d; font-size:12px!important; line-height:1.5; font-weight:400; }
:is(.elementor-3410,.elementor-3412) :is(#apc-total-price-table,.apc-total-price-table) td { text-align:right; }
:is(.elementor-3410,.elementor-3412) :is(#apc-total-price-table,.apc-total-price-table) .apc-total-order th,
:is(.elementor-3410,.elementor-3412) :is(#apc-total-price-table,.apc-total-price-table) .apc-total-order td { padding-top:12px; color:var(--ac-ink); font-size:18px!important; font-weight:600; }
:is(.elementor-3410,.elementor-3412) form.cart .quantity { flex:0 0 70px; margin:0!important; }
:is(.elementor-3410,.elementor-3412) form.cart .quantity input { width:70px!important; height:50px; border:1px solid #bcc3b8; border-radius:3px; margin:0!important; background:#fff; color:var(--ac-ink); font-size:15px; }
:is(.elementor-3410,.elementor-3412) form.cart .quantity.ac-quantity { flex:0 0 152px; width:152px!important; max-width:none!important; display:flex; flex-direction:column; gap:7px; }
:is(.elementor-3410,.elementor-3412) .ac-quantity-label { margin:0; color:var(--ac-ink); font:500 13px/1.5 Mulish,sans-serif; }
:is(.elementor-3410,.elementor-3412) .ac-quantity-controls { display:flex; width:152px; height:50px; border:1px solid var(--ac-gold); border-radius:3px; background:#fff; }
:is(.elementor-3410,.elementor-3412) form.cart .ac-quantity-controls input.qty { appearance:textfield; -moz-appearance:textfield; flex:1 1 0; min-width:0; width:62px!important; height:48px; padding:0 3px; border:0; border-radius:0; text-align:center; font-size:16px; box-shadow:none; }
:is(.elementor-3410,.elementor-3412) .ac-quantity-controls input::-webkit-inner-spin-button,
:is(.elementor-3410,.elementor-3412) .ac-quantity-controls input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
:is(.elementor-3410,.elementor-3412) form.cart button.ac-quantity-button { flex:0 0 44px; width:44px; min-width:44px; height:48px; padding:0; margin:0; border:0; border-radius:2px; background:#fff; color:var(--ac-ink); font:400 23px/1 Mulish,sans-serif; box-shadow:none; touch-action:manipulation; }
:is(.elementor-3410,.elementor-3412) form.cart button.ac-quantity-button:hover { color:var(--ac-ink); background:#edf1eb; }
:is(.elementor-3410,.elementor-3412) form.cart button.ac-quantity-button:disabled { color:#a7aaa2; background:#fff; cursor:default; }
:is(.elementor-3410,.elementor-3412) .ac-quantity-controls input:focus-visible { outline:2px solid #8f7440; outline-offset:-3px; }
:is(.elementor-3410,.elementor-3412) form.cart button.single_add_to_cart_button { flex:1!important; align-self:flex-end; margin:0!important; min-height:50px; width:auto!important; padding:13px 14px; border:1px solid var(--ac-ink); border-radius:3px; background:var(--ac-ink); color:#fff; font-size:14px; line-height:1.5; font-weight:500; text-transform:none; letter-spacing:.1px; }
.artisans-product-layout :is(.elementor-3410,.elementor-3412) form.cart button.single_add_to_cart_button:is(:hover,:focus-visible,:active) { background:var(--artisans-green-hover, #102c25)!important; border-color:var(--artisans-green-hover, #102c25)!important; color:#fff!important; box-shadow:none; }
:is(.elementor-3410,.elementor-3412) .ac-no-bulb:hover { background:#edf1eb; color:var(--ac-ink); border-color:var(--ac-gold); }
:is(.elementor-3410,.elementor-3412) .ac-included { padding:14px 0; margin:0; font-size:12px; line-height:1.7; color:var(--ac-muted); }
:is(.elementor-3410,.elementor-3412) .ac-advice { padding:16px 0 0; border-top:1px solid var(--ac-line); font-size:12px; color:var(--ac-muted); line-height:1.7; }
:is(.elementor-3410,.elementor-3412) .ac-advice a { color:var(--ac-ink); text-decoration:underline; text-underline-offset:3px; }
:is(.elementor-3410,.elementor-3412) .ac-details { padding:36px 32px 70px; border-top:1px solid var(--ac-line); }
:is(.elementor-3410,.elementor-3412) .ac-details > .elementor-container > .elementor-column > .elementor-widget-wrap { padding:0; }
:is(.elementor-3410,.elementor-3412) .ac-details .artisans-product-tabs__nav { gap:32px; margin-bottom:28px; border-color:var(--ac-line); }
:is(.elementor-3410,.elementor-3412) .ac-details .artisans-product-tabs__nav [role="tab"] { font-size:16px; color:var(--ac-ink); }
:is(.elementor-3410,.elementor-3412) .ac-details .shop_attributes { border:0!important; font-size:14px; }
:is(.elementor-3410,.elementor-3412) .ac-details .shop_attributes th,
:is(.elementor-3410,.elementor-3412) .ac-details .shop_attributes td { border:0!important; border-bottom:1px solid #dedfd7!important; padding:12px 16px!important; line-height:1.6; background:transparent; }
:is(.elementor-3410,.elementor-3412) .ac-details .shop_attributes th { width:35%; color:#61695f; font-weight:400; }
:is(.elementor-3410,.elementor-3412) .ac-details .shop_attributes td { color:var(--ac-ink); font-style:normal; }
:is(.elementor-3410,.elementor-3412) .ac-details .shop_attributes td p { margin:0; font-style:normal; }
:is(.elementor-3410,.elementor-3412) .ac-details .artisans-product-tabs__nav [role="tab"][aria-selected="true"] { border-bottom-color:var(--ac-ink); }
:is(.elementor-3410,.elementor-3412) .ac-details .artisans-product-tabs__choice { max-width:none; width:100%; color:#4a554e; font-size:14px; font-weight:400; line-height:1.8; }
:is(.elementor-3410,.elementor-3412) .ac-guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; align-items:stretch; }
:is(.elementor-3410,.elementor-3412) .ac-guide-block { min-width:0; padding:24px; border:1px solid var(--ac-line); border-radius:5px; background:#fff; }
:is(.elementor-3410,.elementor-3412) .ac-guide-block h3 { margin:0 0 16px; font-size:20px; font-weight:500; line-height:1.4; color:var(--ac-ink); letter-spacing:-.2px; }
:is(.elementor-3410,.elementor-3412) .ac-guide-block p { margin:0 0 14px; line-height:1.8; }
:is(.elementor-3410,.elementor-3412) .ac-guide-block > :last-child { margin-bottom:0; }
:is(.elementor-3410,.elementor-3412) .ac-guide-block a { color:var(--ac-ink); text-decoration:underline; text-underline-offset:3px; }
:is(.elementor-3410,.elementor-3412) .ac-guide-block a:hover { color:#3e664f; }
:is(.elementor-3410,.elementor-3412) .ac-guide-sizes { background:#f0f3ee; }
:is(.elementor-3410,.elementor-3412) .ac-guide-sizes .artisans-choice-guide__table { margin:20px 0 0; }
:is(.elementor-3410,.elementor-3412) .ac-guide-sizes .artisans-choice-guide__sizes { width:100%; border:0; margin:0; font-size:13px; }
:is(.elementor-3410,.elementor-3412) .ac-guide-sizes .artisans-choice-guide__sizes caption { color:#647061; font-size:12px; line-height:1.6; margin-bottom:10px; }
:is(.elementor-3410,.elementor-3412) .ac-guide-sizes .artisans-choice-guide__sizes :is(th,td) { padding:12px 8px; border:0!important; border-bottom:1px solid #d8dfd3!important; text-align:left; font-size:13px; font-weight:400; line-height:1.6; background:transparent; }
:is(.elementor-3410,.elementor-3412) .ac-guide-sizes .artisans-choice-guide__sizes thead th { font-size:12px; font-weight:600; color:#52644f; }
:is(.elementor-3410,.elementor-3412) .ac-guide-sizes .artisans-choice-guide__sizes tbody th { font-weight:500; }
:is(.elementor-3410,.elementor-3412) .ac-guide-sizes .artisans-choice-guide__sizes .is-current { background:#e0e8dc; color:var(--artisans-green, #173b32); }
:is(.elementor-3410,.elementor-3412) .ac-guide-alternatives { grid-column:1/-1; }
:is(.elementor-3410,.elementor-3412) .ac-related-models { margin-top:40px; color:#4a554e; font-size:14px; font-weight:400; line-height:1.8; }
:is(.elementor-3410,.elementor-3412) .ac-related-models h2 { margin:0 0 20px; color:var(--ac-ink); font-size:25px; font-weight:500; line-height:1.4; letter-spacing:-.2px; }
:is(.elementor-3410,.elementor-3412) .ac-guide-alternatives > ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:0; margin:0 0 20px; list-style:none; }
:is(.elementor-3410,.elementor-3412) .ac-guide-alternatives > ul > li { margin:0; padding:16px; border:1px solid var(--ac-line); border-radius:4px; background:var(--ac-paper); font-size:13px; line-height:1.7; }
:is(.elementor-3410,.elementor-3412) .ac-guide-alternatives li > a { display:block; margin-bottom:8px; font-size:15px; font-weight:600; line-height:1.5; text-decoration:none; }
:is(.elementor-3410,.elementor-3412) .ac-guide-model-image { display:block; width:100%; height:170px; object-fit:contain; margin:0 0 14px; mix-blend-mode:normal; }
:is(.elementor-3410,.elementor-3412) .ac-details .artisans-product-tabs__lifetime { max-width:78ch; font-size:14px; line-height:1.8; color:#4a554e; }
:is(.elementor-3410,.elementor-3412) .ac-details .artisans-product-tabs__lifetime a { color:var(--ac-ink); text-decoration:underline; text-underline-offset:3px; }
:is(.elementor-3410,.elementor-3412) a:focus-visible,:is(.elementor-3410,.elementor-3412) [role="radio"]:focus-visible,:is(.elementor-3410,.elementor-3412) button:focus-visible { outline:2px solid #8f7440; outline-offset:3px; }
@media(min-width:1025px) { :is(.elementor-3410,.elementor-3412) .ac-gallery .woocommerce-product-gallery__wrapper { min-height:500px; display:flex; align-items:center; } }
@media(max-width:1024px) {
 :is(.elementor-3410,.elementor-3412) .ac-hero > .elementor-container { gap:28px; }
 :is(.elementor-3410,.elementor-3412) .ac-summary .product_title { font-size:28px; }
 :is(.elementor-3410,.elementor-3412) .ac-gallery { width:calc(42% - 14px); }
 :is(.elementor-3410,.elementor-3412) .ac-summary { width:calc(58% - 14px); }
}
@media(max-width:767px) {
 :is(.elementor-3410,.elementor-3412) .ac-banner { padding:10px 18px; gap:5px; font-size:10px; }
 :is(.elementor-3410,.elementor-3412) .ac-breadcrumb { padding:18px 20px 10px; }
 :is(.elementor-3410,.elementor-3412) .ac-hero { padding:0 20px 34px; }
 :is(.elementor-3410,.elementor-3412) .ac-hero > .elementor-container { display:flex; flex-direction:column; gap:26px; }
 :is(.elementor-3410,.elementor-3412) .ac-gallery,:is(.elementor-3410,.elementor-3412) .ac-summary { width:100%; position:static; }
 :is(.elementor-3410,.elementor-3412) .ac-gallery .woocommerce-product-gallery__image { height:300px; }
 :is(.elementor-3410,.elementor-3412) .ac-gallery .woocommerce-product-gallery__image > a { height:100%; }
 :is(.elementor-3410,.elementor-3412) .ac-gallery .woocommerce-product-gallery__image > a > img { width:128%!important; height:auto!important; transform:none; }
 :is(.elementor-3410,.elementor-3412) .ac-photo-caption { font-size:10px; margin-top:10px; }
 :is(.elementor-3410,.elementor-3412) .ac-summary .product_title { font-size:29px; }
 :is(.elementor-3410,.elementor-3412) .ac-summary .elementor-widget { margin-bottom:15px; }
 :is(.elementor-3410,.elementor-3412) .ac-intro { font-size:13px; line-height:1.75; }
 :is(.elementor-3410,.elementor-3412) .ac-dimensions { margin:16px 0 22px; padding:14px 0; }
 :is(.elementor-3410,.elementor-3412) .ac-dimensions dd { font-size:17px; }
 :is(.elementor-3410,.elementor-3412) .ac-size-heading { font-size:13px; }
 :is(.elementor-3410,.elementor-3412) .ac-size-heading a { font-size:11px; }
 :is(.elementor-3410,.elementor-3412) .ac-size span { font-size:10px; }
 :is(.elementor-3410,.elementor-3412) .ac-size { padding:10px 2px; }
 :is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .label-container-display { padding:10px!important; gap:7px; }
 :is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .image-container { flex-basis:32px; width:32px!important; }
 :is(.elementor-3410,.elementor-3412) :is(#apc-container,.apc-container) .image-container img { width:32px!important; height:48px!important; }
 :is(.elementor-3410,.elementor-3412) :is(#apc-addon-1,.apc-addon[data-group="1"]) small { font-size:10px; }
 :is(.elementor-3410,.elementor-3412) :is(#apc-addon-1,.apc-addon[data-group="1"]) .options { gap:5px!important; }
 :is(.elementor-3410,.elementor-3412) .ac-details { padding:22px 20px 44px; }
 :is(.elementor-3410,.elementor-3412) .ac-details .artisans-product-tabs__nav { gap:15px; }
 :is(.elementor-3410,.elementor-3412) .ac-details .artisans-product-tabs__nav [role="tab"] { font-size:12px; }
 :is(.elementor-3410,.elementor-3412) .ac-details .shop_attributes { display:table!important; width:100%; table-layout:fixed; border-collapse:collapse; }
 :is(.elementor-3410,.elementor-3412) .ac-details .shop_attributes tbody { display:table-row-group!important; }
 :is(.elementor-3410,.elementor-3412) .ac-details .shop_attributes tr { display:table-row!important; background:transparent!important; }
 :is(.elementor-3410,.elementor-3412) .ac-details .shop_attributes th,:is(.elementor-3410,.elementor-3412) .ac-details .shop_attributes td { display:table-cell!important; font-size:13px; padding:12px 6px!important; vertical-align:top; text-align:left; background:transparent!important; overflow-wrap:anywhere; }
 :is(.elementor-3410,.elementor-3412) .ac-details .shop_attributes th { width:44%; }
 :is(.elementor-3410,.elementor-3412) .ac-details .shop_attributes td { width:56%; }
 :is(.elementor-3410,.elementor-3412) form.cart .quantity.ac-quantity { flex:1 1 100%; width:100%!important; flex-direction:row; align-items:center; justify-content:space-between; margin:4px 0 2px!important; }
 :is(.elementor-3410,.elementor-3412) form.cart button.single_add_to_cart_button { flex:1 1 100%!important; width:100%!important; }
 :is(.elementor-3410,.elementor-3412) .ac-guide-grid { grid-template-columns:1fr; gap:16px; }
 :is(.elementor-3410,.elementor-3412) .ac-guide-block { padding:20px 16px; }
 :is(.elementor-3410,.elementor-3412) .ac-guide-block h3 { font-size:18px; }
 :is(.elementor-3410,.elementor-3412) .ac-details .artisans-product-tabs__choice { font-size:13px; }
 :is(.elementor-3410,.elementor-3412) .ac-guide-sizes .artisans-choice-guide__sizes :is(th,td) { padding:10px 5px; font-size:12px; }
 :is(.elementor-3410,.elementor-3412) .ac-guide-sizes .artisans-choice-guide__sizes thead th { font-size:11px; }
 :is(.elementor-3410,.elementor-3412) .ac-guide-alternatives > ul { grid-template-columns:1fr; gap:12px; }
 :is(.elementor-3410,.elementor-3412) .ac-related-models { margin-top:28px; font-size:13px; }
 :is(.elementor-3410,.elementor-3412) .ac-related-models h2 { font-size:21px; }
 :is(.elementor-3410,.elementor-3412) .ac-guide-alternatives > ul > li { display:flow-root; padding:12px; }
 :is(.elementor-3410,.elementor-3412) .ac-guide-alternatives li > a { font-size:14px; }
 :is(.elementor-3410,.elementor-3412) .ac-guide-model-image { float:left; width:76px; height:112px; margin:0 14px 0 0; }
}


:is(.elementor-3410,.elementor-3412) .ac-variant-note { font-size:12px; line-height:1.7; color:var(--ac-muted); margin:10px 0 0; }
.ac-photo-fit-safe :is(.elementor-3410,.elementor-3412) .ac-gallery .woocommerce-product-gallery__image > a > img { width:100%!important; max-width:100%!important; height:100%!important; object-fit:contain; }
:is(.elementor-3410,.elementor-3412) .ac-guide-alternatives > ul > li > a { overflow-wrap:anywhere; }

/* Floating summary is outside the template wrappers to stay aligned with the viewport. */
.artisans-product-layout .ac-floating-price { position:fixed; z-index:90; left:var(--ac-floating-left); bottom:16px; width:var(--ac-floating-width); box-sizing:border-box; padding:12px 18px; border:1px solid var(--artisans-gold, #c1ab7a); border-radius:4px; background:#fff; color:var(--artisans-green, #173b32); box-shadow:0 4px 22px #18362f18; font:400 14px/1.5 Mulish,sans-serif; }
.artisans-product-layout .ac-floating-price[hidden] { display:none!important; }
.artisans-product-layout .ac-floating-price-main { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.artisans-product-layout .ac-floating-price-main > span { font-weight:600; }
.artisans-product-layout .ac-floating-price-main small { font-size:11px; font-weight:400; color:#606660; white-space:nowrap; }
.artisans-product-layout .ac-floating-price-main strong { font-size:23px; font-weight:600; line-height:1.3; white-space:nowrap; }
.artisans-product-layout .ac-floating-price-detail { display:flex; justify-content:space-between; gap:12px; margin-top:4px; color:#606660; font-size:11px; }
.artisans-product-layout .ac-floating-price-detail > span:last-child { white-space:nowrap; }
.artisans-product-layout :is(.elementor-3410,.elementor-3412) .apc-addon-label { scroll-margin-bottom:120px; }
@media(max-width:767px) {
 .artisans-product-layout .ac-floating-price { left:0; bottom:0; width:100%; padding:11px 20px calc(11px + env(safe-area-inset-bottom,0px)); border:0; border-top:1px solid var(--artisans-gold, #c1ab7a); border-radius:0; box-shadow:0 -4px 18px #18362f12; }
 .artisans-product-layout .ac-floating-price-main strong { font-size:22px; }
}

/* Accessory pages share the armature design while keeping their own product facts. */
.artisans-accessory-layout .elementor-3412 .elementor-element-ac10008 { display:none; }
.artisans-accessory-layout .elementor-3412 .ac-config-heading { border-top:0; padding-top:0; margin-top:0; }
.artisans-accessory-layout .elementor-3412 .ac-part-facts dd { font-size:17px; line-height:1.5; }
.artisans-accessory-layout .elementor-3412 .ac-part-advice { padding:24px; margin-top:32px; border:1px solid var(--ac-line); border-radius:4px; background:#fff; font-size:14px; line-height:1.8; color:#4a554e; }
.artisans-accessory-layout .elementor-3412 .ac-part-advice h2,.artisans-accessory-layout .elementor-3412 .jet-single-attrs__title { font:500 24px/1.4 Mulish,sans-serif; color:var(--ac-ink); margin:0 0 16px; }
.artisans-accessory-layout .elementor-3412 .ac-part-advice p { margin:0 0 16px; }
.artisans-accessory-layout .elementor-3412 .ac-part-advice a { color:var(--ac-ink); text-decoration:underline; text-underline-offset:4px; }
.artisans-accessory-layout .elementor-3412 .jet-woo-builder form.cart { display:flex!important; flex-wrap:wrap; gap:12px; align-items:stretch; }
.artisans-accessory-layout .elementor-3412 :is(#apc-addon-29,.apc-addon[data-group="29"]) .options { grid-template-columns:1fr!important; }
.artisans-accessory-layout .elementor-3412 :is(#apc-addon-29,.apc-addon[data-group="29"]) .apc-option { padding:12px; }
.artisans-accessory-layout .elementor-3412 :is(#apc-addon-29,.apc-addon[data-group="29"]) input[type=text] { width:100%; min-height:48px; padding:12px; border:1px solid #bbc2b8; border-radius:3px; font:400 16px/1.5 Mulish,sans-serif; background:#fff; }
@media(max-width:767px) {
 .artisans-accessory-layout .elementor-3412 .ac-part-facts>div { padding:0 8px; }
 .artisans-accessory-layout .elementor-3412 .ac-part-facts>div:first-child { padding-left:0; }
 .artisans-accessory-layout .elementor-3412 .ac-part-facts dd { font-size:15px; }
 .artisans-accessory-layout .elementor-3412 .ac-part-advice { padding:20px 16px; }
 .artisans-accessory-layout .elementor-3412 :is(#apc-addon-26,.apc-addon[data-group="26"]) .options { grid-template-columns:1fr!important; }
}

/* Purchase facts follow the add-to-cart button, using the existing typography. */
.artisans-product-layout :is(.elementor-3410,.elementor-3412) .ac-order-information { margin:18px 0 0; text-align:left; }
.artisans-product-layout :is(.elementor-3410,.elementor-3412) .ac-order-information .artisans-delivery-info { margin:0; padding:0; border:0; color:var(--ac-muted); font-size:12px; line-height:1.65; }
.artisans-product-layout :is(.elementor-3410,.elementor-3412) .ac-order-information .artisans-delivery-info .artisans-delivery-term { color:var(--ac-ink); font-size:14px; line-height:1.65; }
.artisans-product-layout :is(.elementor-3410,.elementor-3412) .ac-order-information .ac-included { padding:0; margin:9px 0 0; font-size:12px; line-height:1.65; }
.artisans-product-layout :is(.elementor-3410,.elementor-3412) .ac-maker-origin { margin:12px 0 0; color:var(--ac-ink); font-size:13px; line-height:1.6; }

/* The workshop story shares the product page's paper, columns and reading edges. */
.artisans-product-layout :is(.elementor-3410,.elementor-3412) .ac-hero:has(+ .ac-workshop) { padding-bottom:32px; }
.artisans-product-layout :is(.elementor-3410,.elementor-3412) .ac-workshop { padding:0 32px 44px; background:var(--ac-paper); font-family:Mulish,sans-serif; color:var(--ac-ink); }
.artisans-product-layout .ac-workshop-inner { max-width:1240px; margin:0 auto; padding:36px 0 0; border-top:1px solid var(--ac-line); display:grid; grid-template-columns:minmax(0,calc(46% - 28px)) minmax(0,calc(54% - 28px)); gap:56px; align-items:center; background:transparent; }
.artisans-product-layout .ac-workshop-photo { margin:0; min-width:0; }
.artisans-product-layout .ac-workshop-photo img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.artisans-product-layout .ac-workshop-copy { min-width:0; }
.artisans-product-layout .ac-workshop-copy h2 { margin:0 0 16px; font:500 28px/1.3 Mulish,sans-serif; letter-spacing:-.35px; color:var(--ac-ink); text-transform:none; scroll-margin-top:180px; }
.artisans-product-layout .ac-workshop-copy p { margin:0 0 14px; font:400 14px/1.8 Mulish,sans-serif; color:#4a554e; }
.artisans-product-layout .ac-workshop-link { display:inline-flex; align-items:center; gap:10px; font-size:13px; color:var(--ac-ink); text-decoration:underline; text-underline-offset:4px; }
.artisans-product-layout .ac-workshop-link svg { fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.artisans-product-layout :is(.elementor-3410,.elementor-3412) .ac-workshop + .ac-details { border-top:0; padding-top:0; }
@media(max-width:1024px) {
 .artisans-product-layout .ac-workshop-inner { grid-template-columns:minmax(0,calc(42% - 14px)) minmax(0,calc(58% - 14px)); gap:28px; }
 .artisans-product-layout .ac-workshop-copy h2 { font-size:25px; }
}
@media(max-width:767px) {
 .artisans-product-layout :is(.elementor-3410,.elementor-3412) .ac-hero:has(+ .ac-workshop) { padding-bottom:28px; }
 .artisans-product-layout :is(.elementor-3410,.elementor-3412) .ac-workshop { padding:0 20px 32px; }
 .artisans-product-layout .ac-workshop-inner { grid-template-columns:minmax(0,1fr); padding:28px 0 0; gap:22px; }
 .artisans-product-layout .ac-workshop-copy h2 { font-size:23px; margin-bottom:14px; scroll-margin-top:90px; }
 .artisans-product-layout .ac-workshop-copy p { font-size:14px; line-height:1.75; }
}

/* Coating references and colour advice within the existing colour selector. */
:is(.elementor-3410,.elementor-3412) :is(#apc-addon-1,.apc-addon[data-group="1"]) .ac-colour-code { display:block; color:var(--ac-muted); font-size:10px; line-height:1.6; font-weight:400; white-space:normal; }
:is(.elementor-3410,.elementor-3412) :is(#apc-addon-1,.apc-addon[data-group="1"]) .ac-colour-advice { margin:14px 0 0; color:var(--ac-muted); font-size:12px; line-height:1.65; }
:is(.elementor-3410,.elementor-3412) :is(#apc-addon-1,.apc-addon[data-group="1"]) .ac-colour-advice p { margin:0; font:inherit; color:inherit; }
:is(.elementor-3410,.elementor-3412) :is(#apc-addon-1,.apc-addon[data-group="1"]) .ac-colour-advice a { display:inline-flex; align-items:center; min-height:44px; color:var(--ac-ink); font:inherit; text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--ac-gold); }
:is(.elementor-3410,.elementor-3412) :is(#apc-addon-1,.apc-addon[data-group="1"]) .ac-colour-advice a:focus-visible { outline:2px solid var(--ac-ink); outline-offset:3px; }

/* Keep every studio product photo fully visible on mobile, including Amsterdam. */
@media(max-width:767px) {
 .artisans-product-layout :is(.elementor-3410,.elementor-3412) .ac-gallery .woocommerce-product-gallery__image > a > img,
 .artisans-product-layout :is(.elementor-3410,.elementor-3412) .ac-gallery .ac-scene-product > a > img {
  width:100%!important; max-width:100%!important; height:100%!important;
  object-fit:contain; object-position:center; transform:none!important;
 }
}

/* These four originals have large, measured studio margins. Centre the complete
   lamp with at least 25px clearance in the 300px mobile frame (320–767px screens). */
@media(max-width:767px) {
 .artisans-product-layout:is(.postid-405,.postid-407) :is(.elementor-3410,.elementor-3412) .ac-gallery .woocommerce-product-gallery__image > a > img { transform:translateY(-21%) scale(1.8)!important; }
 .artisans-product-layout.postid-411 :is(.elementor-3410,.elementor-3412) .ac-gallery .woocommerce-product-gallery__image > a > img { transform:translateY(-5%) scale(1.25)!important; }
 .artisans-product-layout.postid-458 :is(.elementor-3410,.elementor-3412) .ac-gallery .woocommerce-product-gallery__image > a > img { transform:translateY(-10.5%) scale(1.45)!important; }
}
