/* OS Framework — generic WordPress page layouts */
:root{--os-page-width:1280px;--os-reading-width:860px;--os-page-gutter-desktop:48px;--os-page-gutter-tablet:30px;--os-page-gutter-mobile:18px;--os-page-top-desktop:70px;--os-page-bottom-desktop:90px;--os-page-top-tablet:50px;--os-page-bottom-tablet:70px;--os-page-top-mobile:35px;--os-page-bottom-mobile:55px;--os-layout-card-radius:12px;--os-layout-field-radius:8px}
body.os-content-layout{overflow-x:hidden}
body.os-content-layout .os-container,body.os-content-layout .os-commerce-page{width:min(calc(100% - (var(--os-page-gutter-desktop)*2)),var(--os-page-width));max-width:var(--os-page-width);margin-inline:auto}
body.os-layout-full:not(.elementor-page) .os-main>.os-container{width:100%;max-width:none}
body.os-content-layout:not(.elementor-page) .os-main:not(.os-main--front):not(.os-main--fullwidth){padding-top:var(--os-page-top-desktop);padding-bottom:var(--os-page-bottom-desktop)}
body.elementor-page .os-main{padding-block:0}
body.os-content-layout .os-entry-header{margin-bottom:clamp(28px,4vw,52px)}
body.os-content-layout .os-entry-header h1{margin:0;color:var(--os-secondary);font-size:clamp(38px,5vw,72px);font-weight:800;line-height:1.03;letter-spacing:-.045em;overflow-wrap:anywhere}
body.single-post:not(.elementor-page) .os-entry,body.os-content-narrow:not(.elementor-page) .os-entry{max-width:var(--os-reading-width);margin-inline:auto}
body.os-content-layout .os-entry-content{min-width:0}

/* Imported and legacy HTML compatibility (Shopify, PrestaShop, old WordPress). */
body.os-content-layout .os-entry-content :where(img,svg,video,canvas){max-width:100%;height:auto}
body.os-content-layout .os-entry-content :where(iframe,embed,object){display:block;max-width:100%}
body.os-content-layout .os-entry-content figure{max-width:100%;margin:2rem 0}
body.os-content-layout .os-entry-content figcaption{margin-top:.65rem;color:var(--os-muted);font-size:.9em;line-height:1.5}
body.os-content-layout .os-entry-content blockquote{margin:2rem 0;padding:.25rem 0 .25rem 1.25rem;border-left:3px solid var(--os-primary)}
body.os-content-layout .os-entry-content :where(ul,ol){padding-left:1.4em}
body.os-content-layout .os-entry-content :where(ul,ol) :where(ul,ol){margin-top:.5em}
body.os-content-layout .os-entry-content pre{max-width:100%;overflow:auto;padding:1rem;border-radius:var(--os-layout-card-radius);background:var(--os-surface-alt)}
body.os-content-layout .os-entry-content code{overflow-wrap:anywhere}
body.os-content-layout .os-entry-content .wp-block-table,body.os-content-layout .os-entry-content .table-responsive,body.os-content-layout .os-entry-content .rte__table-wrapper{max-width:100%;overflow-x:auto}
body.os-content-layout .os-entry-content :where(.aligncenter){display:block;margin-right:auto;margin-left:auto}
body.os-content-layout .os-entry-content :where(.alignleft){float:left;margin:.4rem 1.5rem 1rem 0}
body.os-content-layout .os-entry-content :where(.alignright){float:right;margin:.4rem 0 1rem 1.5rem}
body.os-content-layout .os-entry-content::after{display:table;clear:both;content:""}

/* Native forms and tables */
body.os-style-native-forms:not(.woocommerce-checkout) .os-main input:is([type=text],[type=email],[type=tel],[type=password],[type=search],[type=url],[type=date]),body.os-style-native-forms:not(.woocommerce-checkout) .os-main input[type=number]:not(.qty),body.os-style-native-forms:not(.woocommerce-checkout) .os-main textarea,body.os-style-native-forms:not(.woocommerce-checkout) .os-main select{width:100%;max-width:100%;min-height:48px;padding:11px 14px;color:var(--os-text);background:#fff;border:1px solid var(--os-border);border-radius:var(--os-layout-field-radius);font:inherit;box-shadow:none;outline:0;transition:border-color .2s ease,box-shadow .2s ease}
body.os-style-native-forms:not(.woocommerce-checkout) .os-main textarea{min-height:140px;resize:vertical}
body.os-style-native-forms:not(.woocommerce-checkout) .os-main input:focus,body.os-style-native-forms:not(.woocommerce-checkout) .os-main textarea:focus,body.os-style-native-forms:not(.woocommerce-checkout) .os-main select:focus{border-color:var(--os-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--os-primary) 16%,transparent)}
body.os-style-native-tables .os-main table{width:100%;max-width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--os-border);border-radius:var(--os-layout-card-radius);overflow:hidden}
body.os-style-native-tables .os-main table th,body.os-style-native-tables .os-main table td{padding:15px 17px;border:0;border-bottom:1px solid var(--os-border);text-align:left;vertical-align:middle}
body.os-style-native-tables .os-main table tr:last-child>*{border-bottom:0}

@media(max-width:1024px){body.os-content-layout .os-container,body.os-content-layout .os-commerce-page{width:min(calc(100% - (var(--os-page-gutter-tablet)*2)),var(--os-page-width))}body.os-content-layout:not(.elementor-page) .os-main:not(.os-main--front):not(.os-main--fullwidth){padding-top:var(--os-page-top-tablet);padding-bottom:var(--os-page-bottom-tablet)}}
@media(max-width:767px){body.os-content-layout .os-container,body.os-content-layout .os-commerce-page{width:min(calc(100% - (var(--os-page-gutter-mobile)*2)),var(--os-page-width))}body.os-content-layout:not(.elementor-page) .os-main:not(.os-main--front):not(.os-main--fullwidth){padding-top:var(--os-page-top-mobile);padding-bottom:var(--os-page-bottom-mobile)}body.os-content-layout .os-entry-header h1{font-size:clamp(34px,11vw,50px)}body.os-content-layout .os-entry-content :where(.alignleft,.alignright){float:none;display:block;margin:1.25rem auto}}
@media(prefers-reduced-motion:reduce){body.os-content-layout *,body.os-content-layout *::before,body.os-content-layout *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
