:root{
  --otmcl-brand:#1d4ed8;
  --otmcl-radius:18px;
  --otmcl-border:#e5e7eb;
  --otmcl-text:#111827;
  --otmcl-muted:#6b7280;
  --otmcl-card:#ffffff;
  --otmcl-soft:#f8fafc;
}

/* ------------------------------------------------------------
   OnTime Machine Catalog Lite - frontend styles
   Scope rule: everything is namespaced with .otmcl-* only.
   No generic button/img/card selectors are used, so one widget
   cannot break another Elementor widget/theme section.
------------------------------------------------------------ */
[class*="otmcl-"]{box-sizing:border-box}
.otmcl-empty,.otmcl-elementor-empty{padding:14px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#475569}

/* Buttons */
.otmcl-el-button,.otmcl-link,.otmcl-category-auto-card-button{
  display:inline-flex!important;align-items:center;justify-content:center;gap:8px;
  background:var(--otmcl-brand);color:#fff!important;text-decoration:none!important;
  border-radius:10px;padding:12px 18px;font-weight:700;line-height:1.2;border:0;
  box-shadow:none;cursor:pointer;white-space:nowrap
}
.otmcl-el-button:hover,.otmcl-link:hover,.otmcl-category-auto-card-button:hover{filter:brightness(.96);color:#fff!important;text-decoration:none!important}
.otmcl-el-button-outline{background:#fff!important;color:var(--otmcl-brand)!important;border:1px solid currentColor!important}

/* Product shortcodes / product grid */
.otmcl-product-grid,.otmcl-el-grid{display:grid!important;grid-template-columns:repeat(var(--otmcl-grid-columns,3),minmax(0,1fr));gap:24px}
.otmcl-product-card,.otmcl-el-card{background:#fff;border:1px solid var(--otmcl-border);border-radius:var(--otmcl-radius);overflow:hidden;box-shadow:0 10px 30px rgba(15,23,42,.05)}
.otmcl-product-thumb,.otmcl-el-card-media{display:block;overflow:hidden;background:#f8fafc}
.otmcl-product-thumb img,.otmcl-el-card-media img{width:100%;height:260px;object-fit:contain;display:block;background:#f8fafc}
.otmcl-product-body,.otmcl-el-card-body{padding:18px}
.otmcl-product-body h3,.otmcl-el-card-title{margin:0 0 8px;color:var(--otmcl-text);line-height:1.2}
.otmcl-product-body p,.otmcl-el-card-excerpt{margin:0 0 14px;color:var(--otmcl-muted);line-height:1.5}
.otmcl-badge,.otmcl-el-badge{display:inline-flex;align-items:center;background:var(--otmcl-brand);color:#fff;border-radius:999px;padding:8px 14px;font-weight:700;line-height:1}

/* Basic dynamic widgets */
.otmcl-el-simple-text,.otmcl-el-field{margin:0;line-height:1.35;color:inherit}
.otmcl-el-simple-text p,.otmcl-el-field p{margin:0 0 .85em}.otmcl-el-simple-text p:last-child,.otmcl-el-field p:last-child{margin-bottom:0}
.otmcl-el-image{display:flex;width:100%}.otmcl-el-image a{display:block;width:100%}.otmcl-el-image img{max-width:100%;height:auto;display:block}

/* Terms */
.otmcl-el-terms{display:flex!important;flex-wrap:wrap;gap:8px}
.otmcl-term-chip{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--otmcl-border);background:#f8fafc;border-radius:999px;padding:8px 14px;font-weight:700;line-height:1.2;color:var(--otmcl-text)}
.otmcl-term-chip a{color:inherit;text-decoration:none}.otmcl-term-chip a:hover{text-decoration:none;color:inherit}

/* Shared section boxes */
.otmcl-el-box{background:#fff;border:1px solid var(--otmcl-border);border-radius:18px;padding:22px;box-sizing:border-box;width:100%}
.otmcl-el-title{margin:0 0 18px;color:var(--otmcl-text);line-height:1.2}

/* Specifications */
.otmcl-el-specs.otmcl-el-box{display:block!important;background:#fff;border:1px solid var(--otmcl-border);border-radius:18px;padding:22px;box-sizing:border-box}
.otmcl-el-specs-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;box-sizing:border-box}
.otmcl-el-spec-row{display:flex!important;align-items:center;justify-content:space-between;gap:14px;background:#f8fafc;border:1px solid #edf0f5;border-radius:14px;padding:14px 16px;margin:0;min-width:0;box-sizing:border-box}
.otmcl-spec-label,.otmcl-el-spec-label{color:var(--otmcl-muted);min-width:0}.otmcl-spec-value,.otmcl-el-spec-value{margin-left:auto;font-weight:800;color:var(--otmcl-text);text-align:right;min-width:0}

/* Features / Applications lists */
.otmcl-el-list.otmcl-el-box{display:block!important;background:#fff;border:1px solid var(--otmcl-border);border-radius:18px;padding:22px;box-sizing:border-box;width:100%}
.otmcl-el-list-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;box-sizing:border-box;width:100%}
.otmcl-el-list-card{display:flex!important;align-items:center;gap:12px;background:#f8fafc;border:1px solid #edf0f5;border-radius:14px;padding:14px 16px;margin:0!important;box-sizing:border-box;min-width:0;width:100%}
.otmcl-el-list-card p{margin:0!important;color:#334155;line-height:1.45;min-width:0;word-break:normal}
.otmcl-el-list-card .otmcl-el-icon{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px;border-radius:999px;background:var(--otmcl-brand);color:#fff;line-height:1}
.otmcl-el-list-card .otmcl-el-icon-inner{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1}
.otmcl-el-list-card .otmcl-el-icon svg,.otmcl-el-list-card .otmcl-el-icon i{width:12px;height:12px;font-size:12px;color:currentColor;fill:currentColor;display:block;line-height:1}
.otmcl-el-list-card .otmcl-el-icon img{width:14px;height:14px;object-fit:contain;display:block}

/* Variants */
.otmcl-el-variants.otmcl-el-box{display:block!important;background:#fff;border:1px solid var(--otmcl-border);border-radius:18px;padding:22px;box-sizing:border-box}
.otmcl-el-variant-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.otmcl-el-variant{background:#f8fafc;border:1px solid #edf0f5;border-radius:14px;padding:16px;margin:0;box-sizing:border-box}
.otmcl-variant-name{display:block;color:var(--otmcl-text);font-weight:800;line-height:1.3;margin:0 0 6px}.otmcl-variant-desc{margin:0!important;color:var(--otmcl-muted);line-height:1.5}

/* FAQs */
.otmcl-el-faqs.otmcl-el-box{display:block!important;background:#fff;border:1px solid var(--otmcl-border);border-radius:18px;padding:22px;box-sizing:border-box}
.otmcl-el-faq{border:1px solid var(--otmcl-border);border-radius:14px;background:#fff;margin:0 0 12px;padding:0;overflow:hidden}
.otmcl-el-faq:last-child{margin-bottom:0}
.otmcl-el-faq summary{display:flex!important;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none;padding:16px 18px;font-weight:800;color:var(--otmcl-text)}
.otmcl-el-faq summary::-webkit-details-marker{display:none}.otmcl-faq-answer{margin:0!important;padding:0 18px 18px;color:var(--otmcl-muted);line-height:1.6}.otmcl-faq-toggle-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.otmcl-faq-icon-open{display:none}.otmcl-el-faq[open] .otmcl-faq-icon-closed{display:none}.otmcl-el-faq[open] .otmcl-faq-icon-open{display:inline-flex}

/* Video / gallery grid */
.otmcl-el-video-frame{position:relative;overflow:hidden;border-radius:16px;background:#000;width:100%}.otmcl-el-video-frame iframe,.otmcl-el-video-frame video{width:100%;height:100%;display:block;aspect-ratio:16/9;border:0}.otmcl-video-4-3 .otmcl-el-video-frame iframe,.otmcl-video-4-3 .otmcl-el-video-frame video{aspect-ratio:4/3}.otmcl-video-1-1 .otmcl-el-video-frame iframe,.otmcl-video-1-1 .otmcl-el-video-frame video{aspect-ratio:1/1}.otmcl-video-9-16 .otmcl-el-video-frame iframe,.otmcl-video-9-16 .otmcl-el-video-frame video{aspect-ratio:9/16}
.otmcl-el-gallery-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.otmcl-el-gallery-item{overflow:hidden}.otmcl-el-gallery-item img{width:100%;height:220px;object-fit:cover;display:block;border-radius:12px}

/* CTA / template */
.otmcl-el-cta.otmcl-el-box{background:#fff;border:1px solid var(--otmcl-border);border-radius:18px;padding:26px;box-sizing:border-box}.otmcl-cta-title{margin:0 0 10px;color:var(--otmcl-text);line-height:1.2}.otmcl-cta-desc{margin:0 0 18px;color:var(--otmcl-muted);line-height:1.6}.otmcl-el-cta-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.otmcl-el-template,.otmcl-template{display:block}.otmcl-content{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px}.otmcl-main-content{min-width:0}

/* Category widgets */
.otmcl-category-auto-card{display:flex!important;flex-direction:column;background:#fff;border:1px solid var(--otmcl-border);border-radius:var(--otmcl-radius);overflow:hidden;box-shadow:0 10px 30px rgba(15,23,42,.05);width:100%}
.otmcl-category-auto-card-media{display:block;padding:14px 14px 0}.otmcl-category-auto-card-body{padding:18px;text-align:center}.otmcl-category-auto-card-title{margin:0 0 12px;font-size:20px;line-height:1.15;color:var(--otmcl-text)}.otmcl-category-auto-card-title a{color:inherit;text-decoration:none}.otmcl-category-auto-card-desc{color:var(--otmcl-muted);margin:0 0 14px;line-height:1.5}.otmcl-category-auto-card-count{color:var(--otmcl-muted);font-weight:700;margin-bottom:12px}
.otmcl-category-name,.otmcl-category-title{margin:0;color:var(--otmcl-text);line-height:1.2}.otmcl-category-description{color:var(--otmcl-muted);line-height:1.55}.otmcl-category-count{display:inline-flex;align-items:center;justify-content:center;color:var(--otmcl-muted);font-weight:700}
.otmcl-category-image,.otmcl-category-product-slider,.otmcl-el-category-product-slider{width:100%;height:var(--otmcl-cat-image-height,220px);position:relative;overflow:hidden;border-radius:14px;background:#f8fafc}.otmcl-category-image img,.otmcl-category-product-slider img,.otmcl-el-category-product-slider img{width:100%;height:100%;display:block;object-fit:contain;object-position:center}.otmcl-category-image-placeholder{display:flex;align-items:center;justify-content:center;font-weight:800;font-size:42px;color:#cbd5e1;width:100%;height:100%;background:#f8fafc}
.otmcl-category-collage{display:grid!important;grid-template-columns:repeat(2,1fr);gap:2px;width:100%;height:100%}.otmcl-collage-cell{display:block;min-width:0;min-height:0}.otmcl-collage-cell img{width:100%;height:100%;object-fit:cover;display:block}
.otmcl-cat-slider-viewport{width:100%;height:100%;overflow:hidden}.otmcl-cat-slider-track{height:100%;display:flex;transition:transform .35s ease;will-change:transform}.otmcl-cat-slider-slide{position:relative;flex:0 0 calc(100% / var(--otmcl-slider-per-view,1));height:100%;min-width:0}.otmcl-cat-slider-slide a{display:block;width:100%;height:100%;color:inherit;text-decoration:none}.otmcl-cat-slider-title{position:absolute;left:10px;right:10px;bottom:10px;background:rgba(17,24,39,.78);color:#fff;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:700}.otmcl-cat-slider-arrow{appearance:none!important;-webkit-appearance:none!important;position:absolute;top:50%;transform:translateY(-50%);z-index:3;border:0!important;width:34px;height:34px;border-radius:999px;background:rgba(255,255,255,.9)!important;box-shadow:0 8px 20px rgba(15,23,42,.15);cursor:pointer;font-size:24px;line-height:1;color:#111827!important;padding:0!important}.otmcl-cat-slider-prev{left:10px}.otmcl-cat-slider-next{right:10px}.otmcl-cat-slider-dots{position:absolute;left:0;right:0;bottom:10px;z-index:4;display:flex!important;align-items:center;justify-content:center;gap:6px;pointer-events:auto}.otmcl-cat-slider-dot,button.otmcl-cat-slider-dot{appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box;width:var(--otmcl-dot-size,7px)!important;height:var(--otmcl-dot-size,7px)!important;min-width:var(--otmcl-dot-size,7px)!important;max-width:var(--otmcl-dot-size,7px)!important;flex:0 0 var(--otmcl-dot-size,7px)!important;aspect-ratio:1/1!important;padding:0!important;margin:0!important;border:0!important;border-radius:999px;background:rgba(255,255,255,.65)!important;background-image:none!important;box-shadow:0 0 0 1px rgba(0,0,0,.1);cursor:pointer;line-height:0!important;font-size:0!important;display:inline-block!important;text-indent:-9999px;overflow:hidden}.otmcl-cat-slider-dot.is-active{background:var(--otmcl-brand)!important}

/* Legacy shortcode media gallery */
.otmcl-media-gallery{--otmcl-media-gap:12px;display:flex;gap:var(--otmcl-media-gap);width:100%}.otmcl-media-thumbs-bottom{flex-direction:column}.otmcl-media-thumbs-left{flex-direction:row-reverse}.otmcl-media-thumbs-right{flex-direction:row}.otmcl-media-main{position:relative;flex:1 1 auto;width:100%;height:520px;overflow:hidden;background:#f8fafc;border:1px solid var(--otmcl-border);border-radius:18px}.otmcl-media-panel{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .2s ease}.otmcl-media-panel.is-active{opacity:1;visibility:visible}.otmcl-media-panel img,.otmcl-media-panel iframe,.otmcl-media-panel video{width:100%;height:100%;display:block;object-fit:contain;border:0}.otmcl-media-thumbs{display:flex;gap:var(--otmcl-media-gap);overflow:auto;scrollbar-width:thin}.otmcl-media-thumb,button.otmcl-media-thumb{appearance:none!important;-webkit-appearance:none!important;position:relative;width:96px;height:96px;flex:0 0 96px;padding:0!important;border:2px solid transparent!important;background:#fff!important;border-radius:14px;overflow:hidden;cursor:pointer}.otmcl-media-thumb.is-active{border-color:var(--otmcl-brand)!important}.otmcl-media-thumb img{width:100%;height:100%;display:block;object-fit:cover}.otmcl-media-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;background:rgba(0,0,0,.65);color:#fff;font-size:16px;line-height:1}

/* WooCommerce-inspired product gallery widget */
.otmcl-wc-gallery{--otmcl-wc-gap:14px;display:flex!important;gap:var(--otmcl-wc-gap);width:100%;box-sizing:border-box}.otmcl-wc-thumbs-bottom{flex-direction:column}.otmcl-wc-thumbs-left{flex-direction:row-reverse;align-items:flex-start}.otmcl-wc-thumbs-right{flex-direction:row;align-items:flex-start}.otmcl-wc-stage{position:relative;flex:1 1 auto;width:100%;height:560px;overflow:hidden;background:#fff;border:1px solid var(--otmcl-border);border-radius:18px;box-sizing:border-box}.otmcl-wc-panel{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.otmcl-wc-panel.is-active{opacity:1;visibility:visible;pointer-events:auto}.otmcl-wc-panel img,.otmcl-wc-panel video,.otmcl-wc-panel iframe{width:100%;height:100%;display:block;object-fit:contain;border:0}.otmcl-wc-full-link{display:block;width:100%;height:100%}.otmcl-wc-video-frame{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#000}.otmcl-wc-video-frame iframe{width:100%;height:100%}.otmcl-wc-thumbs{display:flex!important;gap:var(--otmcl-wc-gap);overflow:auto;scrollbar-width:thin;box-sizing:border-box}.otmcl-wc-thumbs-left .otmcl-wc-thumbs,.otmcl-wc-thumbs-right .otmcl-wc-thumbs{flex:0 0 auto;flex-direction:column;max-height:560px}.otmcl-wc-thumb,button.otmcl-wc-thumb{appearance:none!important;-webkit-appearance:none!important;position:relative;width:98px!important;height:98px!important;min-width:98px!important;flex:0 0 98px!important;padding:0!important;margin:0!important;border:2px solid transparent!important;background:#fff!important;background-color:#fff!important;background-image:none!important;color:inherit!important;border-radius:14px;overflow:hidden;cursor:pointer;box-shadow:none!important;text-indent:0;line-height:1;box-sizing:border-box}.otmcl-wc-thumb:hover,button.otmcl-wc-thumb:hover,.otmcl-wc-thumb:focus,button.otmcl-wc-thumb:focus{background:#fff!important;background-color:#fff!important;outline:0}.otmcl-wc-thumb.is-active,button.otmcl-wc-thumb.is-active{border-color:var(--otmcl-brand)!important}.otmcl-wc-thumb img{width:100%;height:100%;display:block;object-fit:cover}.otmcl-wc-arrow,button.otmcl-wc-arrow{appearance:none!important;-webkit-appearance:none!important;position:absolute;top:50%;z-index:5;transform:translateY(-50%);display:inline-flex!important;align-items:center;justify-content:center;width:42px;height:42px;padding:0!important;margin:0!important;border:0!important;border-radius:999px;background:#fff!important;color:#111827!important;box-shadow:0 8px 24px rgba(15,23,42,.15);cursor:pointer;font-size:24px;line-height:1}.otmcl-wc-prev{left:14px}.otmcl-wc-next{right:14px}.otmcl-wc-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);z-index:3;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;background:rgba(17,24,39,.75);color:#fff;font-size:18px;line-height:1;pointer-events:none}.otmcl-wc-video-label{position:absolute;left:6px;right:6px;bottom:6px;background:rgba(17,24,39,.78);color:#fff;border-radius:8px;padding:4px 6px;font-size:11px;font-weight:700;text-align:center;pointer-events:none}.otmcl-wc-video-placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,#111827,#374151)}

@media(max-width:1024px){
  .otmcl-el-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .otmcl-content{grid-template-columns:1fr}
}
@media(max-width:767px){
  .otmcl-product-grid,.otmcl-el-grid{grid-template-columns:1fr}
  .otmcl-product-thumb img,.otmcl-el-card-media img{height:230px}
  .otmcl-el-specs-grid,.otmcl-el-list-grid,.otmcl-el-variant-list{grid-template-columns:1fr}
  .otmcl-el-box,.otmcl-el-list.otmcl-el-box,.otmcl-el-specs.otmcl-el-box,.otmcl-el-variants.otmcl-el-box,.otmcl-el-faqs.otmcl-el-box{padding:18px}
  .otmcl-el-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .otmcl-category-image,.otmcl-category-product-slider,.otmcl-el-category-product-slider{height:180px}
  .otmcl-media-gallery,.otmcl-media-thumbs-left,.otmcl-media-thumbs-right{flex-direction:column}.otmcl-media-main{height:320px}.otmcl-media-thumbs-left .otmcl-media-thumbs,.otmcl-media-thumbs-right .otmcl-media-thumbs{flex-direction:row;max-height:none}.otmcl-media-thumb{width:72px;height:72px;flex-basis:72px}
  .otmcl-wc-gallery.otmcl-wc-thumbs-left,.otmcl-wc-gallery.otmcl-wc-thumbs-right{flex-direction:column}.otmcl-wc-stage{height:330px}.otmcl-wc-thumbs-left .otmcl-wc-thumbs,.otmcl-wc-thumbs-right .otmcl-wc-thumbs{flex-direction:row;max-height:none}.otmcl-wc-thumb,button.otmcl-wc-thumb{width:72px!important;height:72px!important;min-width:72px!important;flex-basis:72px!important}.otmcl-wc-arrow,button.otmcl-wc-arrow{width:36px;height:36px;font-size:20px}.otmcl-wc-prev{left:10px}.otmcl-wc-next{right:10px}
}
