/* Lovable product configurator system: Public Sans + Archivo, 1200px canvas. */
.single-product .site-main,.single-product .content-area,.single-product .woocommerce,.single-product main#main,.single-product div.product{max-width:none!important;width:100%!important;padding-left:0!important;padding-right:0!important}
.single-product .woocommerce-breadcrumb{display:none!important}
.single-product .op-lovable-product-intro{box-sizing:border-box;width:100%;max-width:1344px;margin:0 auto;padding:48px 20px 0;font-family:"Public Sans",Arial,sans-serif;color:#101a29}
.single-product .op-lovable-product-intro .op-back{display:inline-flex;align-items:center;gap:8px;margin:0;color:#64748b;font:400 14px/20px "Public Sans",Arial,sans-serif;text-decoration:none}
.single-product .op-lovable-product-intro .op-back:hover{color:#b40018}
.single-product .op-lovable-product-head{display:flex;align-items:flex-start;gap:20px;margin-top:24px}
.single-product .op-lovable-product-icon{width:56px;height:56px;flex:0 0 56px;color:#c60817;stroke:currentColor;fill:none;margin-top:0}
.single-product .op-lovable-product-copy{min-width:0;flex:1}
.single-product .op-lovable-product-copy .op-lovable-eyebrow{display:block;margin:0;color:#64748b;font:600 12px/16px "Public Sans",Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.single-product .op-lovable-product-copy h1{margin:0;color:#101a29;font:800 36px/40px Archivo,"Public Sans",Arial,sans-serif;letter-spacing:0}
.single-product .op-lovable-product-copy>p{max-width:42rem;margin:8px 0 0;color:#64748b;font:400 16px/24px "Public Sans",Arial,sans-serif}
.single-product .op-lovable-product-copy>.op-lovable-source{margin-top:4px;font-size:12px;line-height:16px}
.single-product .op-lovable-product-intro>h1,.single-product .op-lovable-product-intro>p,.single-product .op-lovable-product-intro>.op-lovable-eyebrow{display:none}
.single-product .opdyn-layout{box-sizing:border-box;width:100%;max-width:1344px;margin:48px auto 0;padding:0 20px 64px;font-family:"Public Sans",Arial,sans-serif}
.single-product .opdyn-layout>form.cart{display:grid!important;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start}
.single-product .op-simple-product-grid{box-sizing:border-box;width:100%;max-width:1344px;margin:0 auto;padding:0 20px 64px;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start}
.single-product .op-simple-product-grid .op-simple-gallery{grid-column:1;min-width:0;min-height:360px;border:1px solid #e7e9ed;border-radius:7px;background:#f6f8f8;display:flex;align-items:center;justify-content:center;overflow:hidden}
.single-product .op-simple-product-grid .op-simple-gallery img{max-width:70%;height:auto;mix-blend-mode:multiply}
.single-product .op-simple-product-grid .opdyn-summary-shell{grid-column:2;grid-row:1;min-width:0;width:100%!important;float:none!important}
.single-product .op-simple-product-grid .opdyn-summary-shell>.product_title,.single-product .op-simple-product-grid .opdyn-summary-shell>.woocommerce-product-details__short-description,.single-product .op-simple-product-grid .opdyn-summary-shell>.product_meta,.single-product .op-simple-product-grid .opdyn-summary-shell>.opdyn-price{display:none!important}
.single-product .op-simple-product-grid .opdyn-summary-shell>h3{margin:0;color:#101a29;font:700 20px/28px Archivo,"Public Sans",Arial,sans-serif}
.single-product .opdyn-layout form.cart .opdyn-left{grid-column:1;grid-row:1;min-width:0;width:100%!important}
.single-product .opdyn-layout form.cart .opdyn-summary-shell{grid-column:2;grid-row:1;min-width:0;width:100%!important}
.single-product .opdyn-left .opcc-configurator{margin:0}
.single-product .opcc-configurator>h3{margin:0 0 24px;color:#101a29;font:400 22px/28px "Public Sans",Arial,sans-serif}
.single-product .opdyn-group{margin:0 0 28px}
.single-product .opdyn-group>label{display:block;margin:0;color:#64748b;font:600 12px/16px "Public Sans",Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.single-product .opdyn-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.single-product .opdyn-card{box-sizing:border-box;width:100%;min-height:46px;margin:0;padding:12px 16px;background:#fff;border:1px solid #e7e9ed;border-radius:5px;color:#101a29;font:400 14px/20px "Public Sans",Arial,sans-serif;text-align:left;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;transition:color .15s,border-color .15s,background-color .15s}
.single-product .opdyn-card:hover{border-color:rgba(198,8,23,.5)}
.single-product .opdyn-card.is-selected{border-color:#c60817;background:#fff1f0;color:#a90016}
.single-product .opdyn-card.is-selected:after{content:'✓';display:block;flex:0 0 auto;color:#c60817;font:700 18px/20px "Public Sans",Arial,sans-serif}
.single-product .opdyn-group:first-of-type .opdyn-card,.single-product .opdyn-group:nth-of-type(2) .opdyn-card{font-weight:500}
.single-product .opdyn-quantity-cards{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.single-product .opdyn-quantity-cards .opdyn-card{width:auto;min-width:112px;padding:12px 16px}
.single-product .opdyn-native{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;white-space:nowrap!important}
.single-product .opdyn-summary-shell{position:sticky;top:28px;box-sizing:border-box;width:100%;height:fit-content;margin:0!important;padding:24px;background:#fff;border:1px solid #e7e9ed;border-radius:7px;box-shadow:none;color:#101a29}
.single-product .opdyn-summary-shell>.product_title,.single-product .opdyn-summary-shell>.woocommerce-product-details__short-description,.single-product .opdyn-summary-shell>.product_meta,.single-product .opdyn-summary-shell>.op-stable-summary,.single-product .opdyn-summary-shell>.op-correction-summary{display:none!important}
.single-product .opdyn-summary-shell>h3{margin:0;color:#101a29;font:700 20px/28px Archivo,"Public Sans",Arial,sans-serif}
.single-product .opdyn-summary-list{margin:16px 0 0;padding:0 0 20px;border-bottom:1px solid #e7e9ed}
.single-product .opdyn-line{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:8px 0;color:#101a29;font:400 14px/20px "Public Sans",Arial,sans-serif}
.single-product .opdyn-line span:first-child{flex:0 0 auto;color:#64748b}
.single-product .opdyn-line span:last-child{max-width:62%;color:#3b4350;font-weight:600;text-align:right}
.single-product .opdyn-summary-shell>.opdyn-price{display:none!important}
.single-product .opdyn-pricing{display:flex;flex-direction:column;gap:6px;margin:20px 0 0;padding:0;border:0;background:transparent;color:#101a29;font:400 14px/20px "Public Sans",Arial,sans-serif}
.single-product .opdyn-pricing>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.single-product .opdyn-pricing .opdyn-net-value{color:#c60817;font:700 24px/32px Archivo,"Public Sans",Arial,sans-serif}
.single-product .opdyn-pricing .opdyn-vat,.single-product .opdyn-pricing .opdyn-gross{color:#64748b;font-size:13px;line-height:18px}
.single-product .opdyn-pricing .opdyn-gross{color:#101a29;font-weight:600}
.single-product .opdyn-pricing .opdyn-unit-note{display:block;justify-content:flex-start;margin-top:6px;color:#64748b;font-size:13px;line-height:18px}
.single-product .opdyn-pricing .opdyn-moq{display:none}
.single-product .opdyn-summary-shell .quantity{margin:16px 0 12px}
.single-product .opdyn-summary-shell .quantity input.qty{box-sizing:border-box;width:100%;height:42px;padding:9px 11px;border:1px solid #cfd7e2;border-radius:6px;color:#101a29;background:#fff;font:400 16px/22px "Public Sans",Arial,sans-serif}
.single-product .opdyn-summary-shell .single_add_to_cart_button{box-sizing:border-box;width:100%;min-height:40px;margin:0;background:#c60817!important;border:0!important;border-radius:5px;color:#fff!important;font:500 14px/20px "Public Sans",Arial,sans-serif;box-shadow:none;display:flex;align-items:center;justify-content:center;gap:8px}
.single-product .opdyn-summary-shell .opdyn-cart-icon{width:17px;height:17px;flex:0 0 17px}
.single-product .opdyn-summary-shell .single_add_to_cart_button:hover{background:#a90016!important}
.single-product .opdyn-summary-shell .single_add_to_cart_button:disabled{opacity:.55;cursor:not-allowed}
.single-product .opdyn-summary-shell .opdyn-continue{box-sizing:border-box;width:100%;min-height:36px;margin:8px 0 0;background:#fff;border:1px solid #e7e9ed;border-radius:5px;color:#101a29;font:400 14px/20px "Public Sans",Arial,sans-serif;cursor:pointer}
.single-product .opdyn-summary-shell .opdyn-continue:hover{border-color:#c60817;color:#c60817}
.single-product .opdyn-summary-shell .opdyn-continue:disabled{opacity:.55;cursor:not-allowed}
.single-product .opdyn-summary-shell .opdyn-upload-note{margin:12px 0 0;color:#64748b;font:400 12px/16px "Public Sans",Arial,sans-serif}
.single-product .opdyn-moq-error{display:block;margin:6px 0;color:#b40018;font:400 13px/18px "Public Sans",Arial,sans-serif}
.single-product .opdyn-summary-shell .opdyn-note,.single-product .opdyn-summary-shell .opdyn-pricing-note{display:none!important}
/* Product canvas: a soft neutral page background gives the product card visual
   separation while preserving the existing Lovable/Onlineprinters structure. */
body.single-product{background:#fff!important}
body.single-product .site-main,body.single-product #content{background:#fff!important}
/* Public Onlineprinters schemas: use the actual source page flow, rather than
   transforming choices into the old generic card grid. */
.single-product div.product.op-source-product{box-sizing:border-box!important;display:grid!important;grid-template-columns:minmax(0,.92fr) minmax(420px,1fr)!important;column-gap:72px!important;row-gap:36px!important;align-items:stretch!important;width:100%!important;max-width:1440px!important;margin:0 auto 72px!important;padding:48px 48px 84px!important;background:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#151b27!important;font-family:"Public Sans",Arial,sans-serif!important}
.single-product .op-source-product__header{grid-column:1/-1!important;min-width:0!important;padding:0 0 8px!important}
.single-product .op-source-product__back{display:inline-block!important;margin:0 0 20px!important;color:#64748b!important;font:400 14px/20px "Public Sans",Arial,sans-serif!important;text-decoration:none!important}
.single-product .op-source-product__back:hover{color:#c60817!important}
.single-product .op-source-product__header .product_title{float:none!important;width:auto!important;margin:0!important;color:#101a29!important;font:800 36px/42px Archivo,"Public Sans",Arial,sans-serif!important;letter-spacing:-.02em!important}
/* Supplier copy is surfaced in the translated product-detail accordions. Do
   not expose incomplete import copy above the configurator. */
.single-product .op-source-product__header .woocommerce-product-details__short-description{display:none!important}
.single-product .op-source-product>.woocommerce-product-gallery{grid-column:1!important;grid-row:2!important;float:none!important;width:auto!important;margin:0!important;min-height:520px!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important;display:flex!important;align-items:flex-start!important;justify-content:center!important}
.single-product .op-source-product>.woocommerce-product-gallery img{max-width:72%!important;height:auto!important;mix-blend-mode:multiply!important}
.single-product .op-source-product>.woocommerce-product-gallery .woocommerce-product-gallery__wrapper{box-sizing:border-box!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important}
.single-product .op-source-product>.woocommerce-product-gallery .woocommerce-product-gallery__image--placeholder{box-sizing:border-box!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important}
.single-product .op-source-product>.woocommerce-product-gallery .woocommerce-product-gallery__image--placeholder img{display:block!important;width:auto!important;max-width:72%!important;max-height:72%!important;height:auto!important;object-fit:contain!important;margin:0 auto!important}
.single-product .op-source-product>.op-generated-gallery{grid-column:1!important;grid-row:2!important;min-height:520px!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;box-sizing:border-box!important;border:0!important;border-radius:0!important;background:#fff!important;overflow:hidden!important}
.single-product .op-generated-gallery__placeholder{display:flex!important;align-items:center!important;justify-content:center!important;width:48%!important;max-width:280px!important;aspect-ratio:1/1!important;background:#fff!important}
.single-product .op-source-product>.summary .opcc-configurator:not(.op-source-configurator){display:none!important}
.single-product .op-generated-gallery__placeholder svg{display:block!important;width:58%!important;height:auto!important;fill:none!important;stroke:#aeb8bc!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.single-product .op-source-product>.summary.entry-summary{grid-column:2!important;grid-row:2!important;float:none!important;width:auto!important;height:100%!important;box-sizing:border-box!important;margin:0!important;padding:32px!important;background:#fff!important;border:1px solid #e5e9ee!important;border-radius:12px!important;box-shadow:0 10px 30px rgba(15,23,42,.06)!important;color:#151b27!important}
.single-product .op-source-product>.summary .price{display:block!important;margin:0 0 8px!important;color:#c60817!important;font:700 22px/28px Archivo,"Public Sans",Arial,sans-serif!important}
.single-product .op-source-product>.summary .op-stable-summary,.single-product .op-source-product>.summary .op-correction-summary{display:none!important}
.single-product .op-source-product>.summary .op-stable-summary strong,.single-product .op-source-product>.summary .op-correction-summary strong{color:#151b27!important}
.single-product .op-source-product>.summary .product_meta{margin:24px 0 0!important;padding-top:18px!important;border-top:1px solid #e4e8ec!important;color:#64748b!important;font:400 13px/19px "Public Sans",Arial,sans-serif!important}
.single-product .op-source-product>.summary .product_meta a{color:#c60817!important;text-decoration:none!important}
.single-product .op-source-product .op-source-configurator{margin:24px 0 0!important;padding:24px 0 0!important;border-top:1px solid #dfe4e8!important}
.single-product .op-source-product .op-source-configurator__title{margin:0 0 22px!important;color:#101a29!important;font:700 23px/30px Archivo,"Public Sans",Arial,sans-serif!important}
.single-product .op-source-product .op-source-configurator__section{margin:26px 0 2px!important;padding:20px 0 0!important;border-top:1px solid #e4e8ec!important;color:#101a29!important;font:700 18px/25px Archivo,"Public Sans",Arial,sans-serif!important}
.single-product .op-source-product .op-source-flow-section{display:grid!important;gap:18px!important;margin:0!important;padding:0!important}
.single-product .op-source-product .op-source-flow-section--named{margin-top:26px!important;padding-top:0!important}
.single-product .op-source-product .op-source-flow-section--named .op-source-configurator__section{margin:0 0 0!important}
.single-product .op-source-product .op-source-total-price{display:block!important;order:4!important;margin:28px 0 0!important;padding:18px 0 0!important;border-top:1px solid #dfe4e8!important;color:#c60817!important;font:700 22px/28px Archivo,"Public Sans",Arial,sans-serif!important}
.single-product .op-source-product .op-source-configurator__row{gap:7px!important}
.single-product .op-source-product .op-source-configurator__row>label{color:#435166!important;font-size:14px!important;font-weight:600!important}
.single-product .op-source-product .op-source-configurator__select,.single-product .op-source-product .op-source-configurator__input{min-height:50px!important;border-color:#c9d0d7!important;border-radius:2px!important;background:#f2f4f6!important}
.single-product .op-source-product form.cart>.quantity{display:block!important;margin:28px 0 12px!important}
.single-product .op-source-product form.cart>.quantity input.qty{box-sizing:border-box!important;width:100%!important;min-height:46px!important;border:1px solid #c9d0d7!important;border-radius:2px!important;background:#fff!important;color:#101a29!important;font:500 16px/22px "Public Sans",Arial,sans-serif!important}
.single-product .op-source-product form.cart>.single_add_to_cart_button{box-sizing:border-box!important;width:100%!important;min-height:48px!important;margin:0!important;padding:12px 20px!important;border:0!important;border-radius:3px!important;background:#c60817!important;color:#fff!important;font:700 15px/22px "Public Sans",Arial,sans-serif!important;float:none!important}
.single-product .op-source-product form.cart>.single_add_to_cart_button:hover{background:#a90016!important}
.single-product .op-source-product>.woocommerce-tabs{grid-column:1/-1!important;grid-row:3!important;float:none!important;width:auto!important;margin:20px 0 0!important;padding:0!important;border-top:1px solid #dfe4e8!important}
.single-product .op-source-product>.woocommerce-tabs:before,.single-product .op-source-product>.woocommerce-tabs:after{display:none!important}
@media(max-width:900px){body.single-product{background:#fff!important}body.single-product .site-main,body.single-product #content{background:#fff!important}.single-product div.product.op-source-product{grid-template-columns:1fr!important;gap:28px!important;margin:0 auto 48px!important;padding:32px 24px 60px!important;border:0!important;border-radius:0!important;box-shadow:none!important}.single-product .op-source-product__header,.single-product .op-source-product>.woocommerce-product-gallery,.single-product .op-source-product>.summary.entry-summary,.single-product .op-source-product>.woocommerce-tabs{grid-column:1!important;grid-row:auto!important}.single-product .op-source-product>.woocommerce-product-gallery{min-height:360px!important}.single-product .op-source-product>.summary.entry-summary{height:auto!important;padding:24px!important}.single-product .op-source-product__header .product_title{font-size:32px!important;line-height:38px!important}.single-product .op-source-product__header .woocommerce-product-details__short-description{font-size:15px!important;line-height:22px!important}.single-product .op-source-product .op-source-configurator{margin-top:22px!important;padding-top:22px!important}}
@media(max-width:480px){.single-product div.product.op-source-product{padding:24px 16px 48px!important}.single-product .op-source-product__back{margin-bottom:16px!important}.single-product .op-source-product__header .product_title{font-size:28px!important;line-height:34px!important}.single-product .op-source-product>.woocommerce-product-gallery{min-height:280px!important}.single-product .op-source-product>.summary.entry-summary{padding:20px!important;border-radius:10px!important}.single-product .op-source-product .op-source-configurator__title{font-size:21px!important;line-height:28px!important}.single-product .op-source-product .op-source-configurator__section{font-size:17px!important}.single-product .op-source-product .op-source-configurator__select,.single-product .op-source-product .op-source-configurator__input{font-size:16px!important}}
@media(max-width:900px){.single-product .opdyn-layout{margin-top:40px;padding:0 20px 48px}.single-product .opdyn-layout>form.cart{grid-template-columns:1fr;gap:40px}.single-product .opdyn-layout form.cart .opdyn-left,.single-product .opdyn-layout form.cart .opdyn-summary-shell{grid-column:1;grid-row:auto}.single-product .opdyn-summary-shell{position:static;order:2}.single-product .opdyn-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.single-product .op-simple-product-grid{grid-template-columns:1fr;gap:40px}.single-product .op-simple-product-grid .op-simple-gallery,.single-product .op-simple-product-grid .opdyn-summary-shell{grid-column:1;grid-row:auto}.single-product .op-source-product>.op-generated-gallery{grid-column:1!important;grid-row:auto!important;min-height:300px!important}}
@media(max-width:640px){.single-product .op-lovable-product-intro{padding:32px 20px 0}.single-product .op-lovable-product-head{gap:14px;margin-top:20px}.single-product .op-lovable-product-icon{width:44px;height:44px;flex-basis:44px}.single-product .op-lovable-product-copy h1{font-size:30px;line-height:34px}.single-product .op-lovable-product-copy>p{font-size:15px;line-height:22px}.single-product .opdyn-layout{margin-top:32px;padding:0 20px 40px;gap:32px}.single-product .opcc-configurator>h3{font-size:20px;line-height:28px;margin-bottom:20px}.single-product .opdyn-cards{grid-template-columns:1fr;gap:8px}.single-product .opdyn-card{min-height:46px}.single-product .opdyn-summary-shell{padding:20px}.single-product .opdyn-line span:last-child{max-width:56%}}
