/* Native theme presentation only. Plugin selectors and event handlers remain authoritative. */
.opp-native-page {
    --opp-blue: #0054ff;
    --opp-ink: #20262f;
    --opp-muted: #626b76;
    --opp-line: #e0e3e8;
    --opp-wash: #edf3ff;
    --opp-radius: 10px;
    font-family: 'DM Sans', Arial, sans-serif;
    color: var(--opp-ink);
}
.opp-native-page :where(button, input, select, textarea, [role="button"]):focus-visible {
    outline: 3px solid var(--opp-blue);
    outline-offset: 3px;
}
.opp-site :where(input, select, textarea) { accent-color: var(--opp-blue); }
.opp-site :where(button, a, input, select) { -webkit-tap-highlight-color: transparent; }
.opp-site .opp-breadcrumb { display:flex; gap:12px; margin-bottom:32px; color:var(--opp-muted); font-size:13px; }
.opp-site .opp-breadcrumb a:hover { color:var(--opp-blue); }
.opp-site .opp-commerce { padding:32px 5% 70px; max-width:1360px; }
.opp-site #back-to-gallery-container { margin-bottom:20px; font-size:13px; }

/* Keep the real WooCommerce image, variations, prices and information panels. */
.woocommerce.opp-native-page .opp-site div.product div.images { width:47%; }
.woocommerce.opp-native-page .opp-site div.product div.summary { width:47%; }
.woocommerce.opp-native-page .opp-site div.product .woocommerce-product-gallery { background:#eae7df; padding:26px; border-radius:12px; }
.woocommerce.opp-native-page .opp-site div.product .woocommerce-product-gallery__image {
    background:white; padding:10px 10px 24px; box-shadow:0 12px 30px #30292122; transform:rotate(-3deg);
}
.woocommerce.opp-native-page .opp-site div.product .woocommerce-product-gallery__image img { border-radius:0; }
.woocommerce.opp-native-page .opp-site div.product .product_title { font-size:clamp(34px,3.2vw,46px); line-height:1.12; margin:14px 0 20px; }
.opp-site .woocommerce-product-details__short-description { color:var(--opp-muted); font-size:15px; line-height:1.8; margin-bottom:28px; }
.woocommerce.opp-native-page .opp-site div.product form.cart .variations { margin:0 0 8px; }
.woocommerce.opp-native-page .opp-site div.product form.cart .variations tbody { display:grid; grid-template-columns:1.15fr 1fr; gap:16px; }
.woocommerce.opp-native-page .opp-site div.product form.cart .variations tr { display:flex; flex-direction:column; min-width:0; }
.woocommerce.opp-native-page .opp-site div.product form.cart .variations th,
.woocommerce.opp-native-page .opp-site div.product form.cart .variations td { display:block; padding:0; }
.woocommerce.opp-native-page .opp-site div.product form.cart .variations label { display:block; color:var(--opp-ink); font-size:12px; font-weight:600; margin:0 0 8px; }
.woocommerce.opp-native-page .opp-site div.product form.cart .variations select { width:100%; background:white; border:1px solid #d4d9e0; border-radius:8px; min-height:48px; margin:0; padding:11px; font-size:14px; }
.woocommerce.opp-native-page .opp-site div.product form.cart .reset_variations { font-size:12px; color:var(--opp-muted); }
.opp-site .opp-upload-entry { margin:18px 0 28px; }
.opp-site .opp-upload-entry p { font-size:12px; line-height:1.7; margin-bottom:20px; }
.opp-site .opp-upload-entry .op-btn { min-height:52px; font-size:13px; }
.woocommerce.opp-native-page .opp-site div.product .woocommerce-tabs { border-top:1px solid var(--opp-line); padding-top:30px; }
.woocommerce.opp-native-page .opp-site div.product .woocommerce-tabs ul.tabs { padding:0; margin:0 0 24px; }
.woocommerce.opp-native-page .opp-site div.product .woocommerce-tabs ul.tabs li { border:0; border-radius:0; background:transparent; margin:0 24px 0 0; padding:0; }
.woocommerce.opp-native-page .opp-site div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce.opp-native-page .opp-site div.product .woocommerce-tabs ul.tabs li::after { display:none; }
.woocommerce.opp-native-page .opp-site div.product .woocommerce-tabs ul.tabs li a { padding:12px 0; font-size:13px; font-weight:500; }
.woocommerce.opp-native-page .opp-site div.product .woocommerce-tabs ul.tabs li.active { border-bottom:2px solid var(--opp-blue); color:var(--opp-blue); }
.woocommerce.opp-native-page .opp-site div.product .woocommerce-tabs .panel { font-size:14px; line-height:1.8; color:var(--opp-muted); }
.woocommerce.opp-native-page .opp-site div.product .woocommerce-tabs h2 { color:var(--opp-ink); font-size:24px; margin-bottom:14px; }
.woocommerce.opp-native-page .opp-site .related.products { margin-top:48px; }
.woocommerce.opp-native-page .opp-site .related.products>h2 { font-size:28px; margin-bottom:26px; }
.woocommerce.opp-native-page .opp-site ul.products li.product a img { border-radius:10px; }
.woocommerce.opp-native-page .opp-site ul.products li.product h2 { font-size:20px; margin-top:12px; }

/* Editor: three comfortable columns and one compact row of labelled selectors. */
.opp-site .opp-editor { max-width:1360px; padding:28px 5% 100px; }
.opp-site .opp-editor-top>a { font-size:13px; }
.opp-site .opp-gallery-header { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:26px 0 20px; }
.opp-site .opp-gallery-header>div:first-child { min-width:0; flex:1; }
.opp-site .opp-gallery-heading { margin:0; flex-wrap:nowrap; gap:10px; }
.opp-site .opp-gallery-heading h1 { max-width:none; font-size:34px; font-weight:650; }
.opp-site .opp-gallery-subtitle { margin:8px 0 0; font-size:12px; }
.opp-site .pvpp-add-buttons { flex-shrink:0; gap:10px; }
.opp-site .pvpp-add-buttons .op-btn,.opp-site .customer_upload_order { min-height:46px; padding:12px 17px; font-size:13px; }
.opp-site .opp-editor-tabs { margin-bottom:0; gap:28px; }
.opp-site .opp-editor-tabs button { padding:16px 0; font-size:13px; border-bottom-width:2px; }
.opp-site .opp-editor-hint { font-size:12px; color:var(--opp-muted); margin:18px 0 22px; }
.opp-site .opp-photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.opp-site .main-gal-row-wrap { min-width:0; }
.opp-site .main-gal-item { padding:14px; border:1px solid var(--opp-line); border-radius:10px; box-shadow:none; }
.opp-site .main-gal-item:has(.product-select:checked) { border-color:var(--opp-blue); box-shadow:0 0 0 1px var(--opp-blue); }
.opp-site .filename-image { font-size:11px; max-width:calc(100% - 68px); padding:7px 0; }
.opp-site .main-gal-select { right:9px; top:9px; }
.opp-site .main-gal-select-inner .main-gal-edit-links { gap:7px; }
.opp-site .main-gal-thumb-div { height:265px; margin:10px 0 0; background:#eeefeb; border-radius:4px; }
.opp-native-page .cropper-view-box { outline:1px solid #ffffffed!important; }
.opp-native-page .cropper-point { width:6px; height:6px; background-color:#fff!important; opacity:1; }
.opp-native-page .cropper-line { background-color:#fff; opacity:.45; }
.opp-site .advanced-edit-links { border-top:0; border-bottom:1px solid var(--opp-line); margin:0; padding:7px 0; gap:2px; justify-content:space-between; }
.opp-site .advanced-edit-links .main-gal-edit-icon { min-height:40px; min-width:40px; border-radius:6px; }
.opp-site .advanced-edit-links button:hover { background:var(--opp-wash); color:var(--opp-blue); }
.opp-site .advanced-edit-links .opp-adjust { color:var(--opp-blue); padding:10px 8px; font-size:12px; font-weight:600; background:transparent; border:0; border-radius:6px; }
.opp-site .pvpp-selector-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:14px 0; }
.opp-site .pvpp-selector-row>div { min-width:0; }
.opp-site .pvpp-selector-row label { display:block; font-size:11px; color:var(--opp-muted); margin-bottom:6px; }
.opp-site .pvpp-selector-row select { width:100%; min-width:0; border:1px solid #d9dde3; border-radius:7px; min-height:40px; padding:8px; font-size:12px; }
.opp-site .main-gal-qty-div { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 1px; }
.opp-site .main-gal-qty-div>label { font-size:12px; color:var(--opp-muted); }
.opp-site .main-gal-qty-input { width:auto; border:1px solid #d9dde3; border-radius:7px; overflow:hidden; }
.opp-site .qty-change { border:0; border-radius:0; background:#f8f9fb; width:38px; height:38px; font-size:16px; }
.opp-site .qty-change:hover { background:var(--opp-wash); color:var(--opp-blue); }
.opp-site .qty-input { width:40px; min-width:40px; height:38px; border:0; border-radius:0; padding:0; font-size:13px; appearance:textfield; -moz-appearance:textfield; }
.opp-site .qty-input::-webkit-inner-spin-button,.opp-site .qty-input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.opp-site .pvpp-popup-menu { font-size:13px; min-height:42px; border-radius:6px; }
.opp-site .pvpp-popup-menu.remove,.opp-site .pvpp-post-delete { color:#ad3434; }
.opp-site .pvpp-bulk-popup { padding:16px 20px; border-radius:12px; box-shadow:0 12px 42px #25334a22; }
.opp-site .pvpp-bulk-icon-div button { min-height:40px; }
.opp-site .pvpp-bulk-icon-div .pvpp-bulk-more { background:var(--opp-blue); color:white; border-color:var(--opp-blue); }
.opp-site .pvpp-bulk-icon-div .pvpp-master-delete { color:#ad3434; }
.opp-site #opp-preview-panel { padding-top:20px; }
.opp-site .pvpp-gallery-item { border-radius:8px; }
.opp-site .opp-empty-gallery { padding:64px 20px; border:1px dashed #c6cfdb; border-radius:10px; background:white; text-align:center; }
.opp-site .opp-empty-gallery h2 { font-size:27px; margin-bottom:12px; }
.opp-site .opp-empty-gallery p { font-size:14px; color:var(--opp-muted); }


/* Library uses the existing owner-filtered shortcode and deletion controls. */
.opp-site .opp-library { padding:48px 5% 90px; }
.opp-site .opp-library-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:36px; }
.opp-site .opp-library-heading h1 { font-size:38px; margin:12px 0; }
.opp-site .opp-library-heading p { color:var(--opp-muted); font-size:14px; }
.opp-site .pvpp-uploads-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:0; margin:0; list-style:none; }
.opp-site .pvpp-upload-item { display:flex; flex-direction:column; align-items:stretch; position:relative; padding:14px; margin:0; gap:0; min-width:0; border:1px solid var(--opp-line); border-radius:10px; }
.opp-site .pvpp-gallery-delete-select { position:absolute; right:24px; top:24px; margin:0; z-index:1; width:20px; height:20px; }
.opp-site .pvpp-upload-item:has(.pvpp-gallery-delete-select:checked) { border-color:var(--opp-blue); box-shadow:0 0 0 1px var(--opp-blue); }
.opp-site .pvpp-thumbnail-container { width:100%; height:190px; flex-shrink:0; margin:0 0 18px; border-radius:6px; background:#eeefeb; overflow:hidden; }
.opp-site .pvpp-thumbnail-container a { display:block; height:100%; }
.opp-site .pvpp-library-thumb { width:100%; height:100%; object-fit:cover; border-radius:0; }
.opp-site .pvpp-upload-content { padding:0 4px 6px; }
.opp-site .pvpp-upload-link { font-family:'Manrope',Arial,sans-serif; color:var(--opp-ink); font-size:19px; font-weight:650; line-height:1.4; overflow-wrap:anywhere; }
.opp-site .pvpp-upload-image-count { font-size:12px; margin-top:8px; }
.opp-site .pvpp-upload-date { font-size:11px; color:var(--opp-muted); margin-top:5px; }

/* Shared confirmation, help, upload and editor surfaces, including body-mounted dialogs. */
.opp-native-page .loading-overlay,.opp-native-page .pvpp-modal-backdrop { background:#17223870; backdrop-filter:blur(3px); }
.opp-native-page :is(.spinner-container,.confirm-container,.gallery-choice-container) { box-sizing:border-box; max-width:min(480px,calc(100vw - 32px)); padding:32px; border:1px solid var(--opp-line); border-radius:14px; box-shadow:0 24px 80px #17223830; text-align:left; }
.opp-native-page .loading-message { font-family:'Manrope',Arial,sans-serif; font-size:21px; font-weight:600; line-height:1.45; letter-spacing:-.025em; color:var(--opp-ink); margin:0 0 22px; overflow-wrap:anywhere; }
.opp-native-page .loading-spinner { width:40px; height:40px; border-width:3px; border-top-color:var(--opp-blue); margin:0 0 24px; }
.opp-native-page :is(.loading-ok-button,.confirm-button,.gallery-choice-btn) { min-height:44px; border:1px solid transparent; border-radius:8px; padding:11px 20px; font-size:13px; font-weight:600; line-height:1.4; }
.opp-native-page .loading-ok-button,.opp-native-page .new-gallery-btn { background:var(--opp-blue); color:white; }
.opp-native-page .loading-ok-button:hover,.opp-native-page .new-gallery-btn:hover { background:#0049df; }
.opp-native-page .confirm-buttons { justify-content:flex-end; gap:10px; margin-top:24px; }
.opp-native-page .confirm-button.cancel { background:white; color:var(--opp-ink); border-color:var(--opp-line); }
.opp-native-page .confirm-button.cancel:hover { background:#f6f7f9; }
.opp-native-page .confirm-button.confirm { background:#ad3434; }
.opp-native-page .confirm-button.confirm:hover { background:#902b2b; }
.opp-native-page .gallery-choice-container h3 { font-family:'Manrope',Arial,sans-serif; font-size:24px; font-weight:650; letter-spacing:-.035em; }
.opp-native-page .gallery-choice-container p { font-size:13px; line-height:1.75; color:var(--opp-muted); }
.opp-native-page .pvpp-modal.active { box-sizing:border-box; width:min(520px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); padding:30px; border:1px solid var(--opp-line); border-radius:14px; box-shadow:0 24px 80px #17223830; }
.opp-native-page .pvpp-modal-close { display:flex; align-items:center; justify-content:center; width:40px; height:40px; top:6px; right:6px; font-size:27px; border-radius:8px; color:var(--opp-muted); }
.opp-native-page .pvpp-modal-content { font-size:14px; line-height:1.75; }
.opp-native-page .pvpp-modal-content h2 { font-family:'Manrope',Arial,sans-serif; font-size:25px; font-weight:650; letter-spacing:-.035em; line-height:1.25; padding-right:20px; margin:0 0 24px; }
.opp-native-page .pvpp-bulk-options-modal { padding:0; min-width:0; width:100%; }
.opp-native-page .pvpp-bulk-options-modal label { font-size:12px; margin:18px 0 7px; font-weight:600; }
.opp-native-page .pvpp-bulk-options-modal select,.opp-native-page .pvpp-title-update-field { font:inherit; font-size:14px; padding:11px; background:white; color:var(--opp-ink); border:1px solid #d9dde3; border-radius:8px; min-height:46px; }
.opp-native-page .master-qty-wrap { border:1px solid #d9dde3; border-radius:8px; gap:0; overflow:hidden; }
.opp-native-page .master-qty-wrap button { background:#f8f9fb; border:0; font:inherit; min-width:46px; min-height:46px; }
.opp-native-page .master-qty-wrap input { width:100%; min-width:0; font:inherit; font-size:14px; }
.opp-native-page .pvpp-apply-selected,.opp-native-page .pvpp-title-submit { width:100%; }
.opp-native-page .uppy-Dashboard { font-family:'DM Sans',Arial,sans-serif; }
.opp-native-page .uppy-Dashboard-inner { border-radius:12px; }
.opp-native-page .uppy-StatusBar-actionBtn--done { color:var(--opp-blue); }
.opp-native-page .PinturaRoot { --color-primary:#0054ff; --color-primary-dark:#0049df; --color-primary-text:#fff; --font-family:'DM Sans',Arial,sans-serif; }
.opp-native-page .xoo-el-modal .xoo-el-inmodal { border-radius:12px; overflow:hidden; }

/* Content and commerce remain standard WordPress / WooCommerce forms. */
.opp-site .opp-page-content>h1 { font-size:38px; }
.opp-site .woocommerce table.shop_table { border:1px solid var(--opp-line); border-radius:10px; background:white; }
.opp-site .woocommerce table.shop_table th { font-size:13px; font-weight:600; padding:16px 14px; }
.opp-site .woocommerce table.shop_table td { padding:18px 14px; font-size:14px; }
.opp-site .woocommerce .cart_totals { margin-top:20px; }
.opp-site .woocommerce .cart_totals h2,.opp-site .woocommerce form.checkout h3 { font-size:24px; margin-bottom:22px; }
.opp-site .woocommerce form.checkout label { font-size:13px; font-weight:500; }
.opp-site .woocommerce form .form-row input.input-text,.opp-site .woocommerce form .form-row textarea { border-radius:8px; border:1px solid #d9dde3; padding:12px; }
.opp-site .woocommerce #payment { background:#eef1f6; border-radius:10px; }
.opp-site .woocommerce-MyAccount-navigation ul { list-style:none; padding:0; }
.opp-site .woocommerce-MyAccount-navigation li a { display:block; padding:13px 16px; font-size:14px; border-radius:8px; }
.opp-site .woocommerce-MyAccount-navigation .is-active a { background:var(--opp-wash); color:var(--opp-blue); }
.opp-site .woocommerce-MyAccount-content { background:white; border:1px solid var(--opp-line); border-radius:10px; padding:26px; font-size:14px; }
.opp-site .woocommerce-MyAccount-content p { margin-bottom:18px; }

@media(max-width:1000px) {
    .opp-site .opp-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
    .opp-site .opp-gallery-header { align-items:flex-start; }
    .opp-site .pvpp-add-buttons { flex-direction:column; align-items:stretch; }
    .opp-site .opp-gallery-heading h1 { font-size:29px; }
    .opp-site .pvpp-uploads-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .woocommerce.opp-native-page .opp-site div.product form.cart .variations tbody { grid-template-columns:1fr; }
    .woocommerce.opp-native-page .opp-site div.product .woocommerce-product-gallery { padding:20px; }
}
@media(max-width:767px) {
    .woocommerce.opp-native-page .opp-site div.product div.images,.woocommerce.opp-native-page .opp-site div.product div.summary { width:100%; float:none; }
    .woocommerce.opp-native-page .opp-site div.product .woocommerce-product-gallery { max-width:540px; margin:0 auto 32px; }
    .woocommerce.opp-native-page .opp-site div.product form.cart .variations tbody { grid-template-columns:1fr 1fr; }
    .opp-site .woocommerce-MyAccount-content { margin-top:22px; padding:20px; }
}
@media(max-width:650px) {
    .opp-site .opp-commerce { padding:24px 6% 45px; }
    .opp-site .opp-breadcrumb { margin-bottom:24px; font-size:12px; }
    .woocommerce.opp-native-page .opp-site div.product .product_title { font-size:36px; }
    .woocommerce.opp-native-page .opp-site div.product form.cart .variations tbody { gap:12px; }
    .woocommerce.opp-native-page .opp-site div.product form.cart .variations select { font-size:14px; padding:9px; }
    .woocommerce.opp-native-page .opp-site div.product .woocommerce-tabs ul.tabs li { margin-right:14px; }
    .woocommerce.opp-native-page .opp-site div.product .woocommerce-tabs ul.tabs li a { font-size:12px; }
    .opp-site .opp-editor { padding:22px 5% 150px; }
    .opp-site .opp-gallery-header { display:block; margin:24px 0 16px; }
    .opp-site .opp-gallery-heading h1 { font-size:28px; }
    .opp-site .pvpp-add-buttons { flex-direction:row; margin-top:20px; width:100%; gap:8px; }
    .opp-site .pvpp-add-buttons>* { flex:1; font-size:12px; padding:12px 8px; text-align:center; }
    .opp-site .opp-editor-hint { line-height:1.7; margin:16px 0 20px; }
    .opp-site .opp-photo-grid { grid-template-columns:1fr; gap:22px; }
    .opp-site .main-gal-item { padding:14px; }
    .opp-site .main-gal-thumb-div { height:280px; }
    .opp-site .pvpp-selector-row select { min-height:44px; font-size:16px; }
    .opp-site .advanced-edit-links .main-gal-edit-icon { min-width:44px; min-height:44px; }
    .opp-site .advanced-edit-links .opp-adjust { min-height:44px; }
    .opp-site .qty-change { width:44px; height:44px; }
    .opp-site .qty-input { width:44px; height:44px; font-size:16px; }
    .opp-site .opp-library { padding:32px 6% 70px; }
    .opp-site .opp-library-heading { display:block; margin-bottom:28px; }
    .opp-site .opp-library-heading h1 { font-size:32px; }
    .opp-site .opp-library-heading>.op-btn { margin-top:22px; }
    .opp-site .pvpp-uploads-list { grid-template-columns:1fr; gap:20px; }
    .opp-site .pvpp-thumbnail-container { height:220px; }
    .opp-native-page :is(.spinner-container,.confirm-container,.gallery-choice-container) { padding:24px; }
    .opp-native-page .loading-message { font-size:19px; }
    .opp-native-page .pvpp-modal.active { padding:26px 22px; }
    .opp-native-page .pvpp-bulk-options-modal :is(input,select) { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
    .opp-native-page .opp-site *, .opp-native-page .loading-overlay * { scroll-behavior:auto!important; transition:none!important; }
}

/* Contact form uses WordPress for validation, storage and notification delivery. */
.opp-site .opp-contact-layout { display:grid; grid-template-columns:1fr 1.15fr; gap:80px; padding:20px 0 30px; }
.opp-site .opp-contact-intro h1 { font-size:48px; margin:18px 0 24px; }
.opp-site .opp-contact-intro>p { color:var(--opp-muted); font-size:15px; line-height:1.9; max-width:360px; }
.opp-site .opp-contact-details { display:flex; flex-direction:column; align-items:flex-start; gap:14px; margin:30px 0 38px; font-size:16px; }
.opp-site .opp-contact-details a { color:var(--opp-blue); overflow-wrap:anywhere; }
.opp-site .opp-contact-note { border-top:1px solid var(--opp-line); padding-top:28px; color:var(--opp-muted); font-size:13px; }
.opp-site .opp-contact-note>svg { color:var(--opp-blue); margin-bottom:12px; }
.opp-site .opp-contact-note .op-btn { color:var(--opp-blue); font-size:13px; }
.opp-site .opp-contact-card { padding:32px; background:white; border:1px solid var(--opp-line); border-radius:12px; }
.opp-site .opp-contact-card h2 { font-size:25px; margin-bottom:26px; }
.opp-site .opp-contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px 16px; }
.opp-site .opp-contact-fields label { display:flex; flex-direction:column; gap:8px; font-size:12px; font-weight:600; }
.opp-site .opp-contact-fields input,.opp-site .opp-contact-fields textarea { width:100%; min-width:0; font-size:15px; font-weight:400; padding:12px; border-radius:8px; }
.opp-site .opp-contact-message { grid-column:1/-1; }
.opp-site .opp-contact-fields textarea { resize:vertical; min-height:150px; }
.opp-site .opp-contact-form>.op-btn { width:100%; margin-top:22px; }
.opp-site .opp-contact-feedback { color:#257451; background:#eef8f2; border-radius:8px; padding:14px; font-size:14px; margin-top:20px; }
.opp-site .opp-contact-feedback.is-error { color:#ad3434; background:#fcf0ef; }
.opp-contact-trap { display:none; }
@media(max-width:900px) {
    .opp-site .opp-contact-layout { gap:30px; grid-template-columns:1fr 1.2fr; }
    .opp-site .opp-contact-intro h1 { font-size:40px; }
    .opp-site .opp-contact-card { padding:24px; }
    .opp-site .opp-contact-fields { grid-template-columns:1fr; }
}
@media(max-width:650px) {
    .opp-site .opp-contact-layout { grid-template-columns:1fr; padding-top:0; }
    .opp-site .opp-contact-intro h1 { font-size:38px; }
    .opp-site .opp-contact-note { display:none; }
    .opp-site .opp-contact-details { margin-bottom:0; }
    .opp-site .opp-contact-fields input,.opp-site .opp-contact-fields textarea { font-size:16px; }
}

.opp-site .opp-about { max-width:760px; padding:15px 0 40px; }
.opp-site .opp-about h1 { font-size:clamp(34px,4vw,50px); margin:20px 0 30px; }
.opp-site .opp-about p { max-width:620px; font-size:16px; line-height:1.9; color:var(--opp-muted); margin-bottom:20px; }
.opp-site .opp-about .op-btn { margin-top:15px; }

.opp-native-page .xoo-el-modal .xoo-el-inmodal { overflow:visible; }
.opp-native-page .xoo-el-form-container { font-family:'DM Sans',Arial,sans-serif; color:var(--opp-ink); }
.opp-native-page .xoo-el-form-container .xoo-el-head-img { width:240px; max-width:90%; margin:8px auto 28px; }
/* Keep the plugin's form switches; make their content-box defaults explicit. */
.opp-native-page .xoo-el-form-container ul.xoo-el-tabs { margin:0 20px 24px; padding:0; border-bottom:1px solid var(--opp-line); border-radius:0; overflow:visible; }
.opp-native-page .xoo-el-form-container ul.xoo-el-tabs li { box-sizing:border-box; display:flex; align-items:center; justify-content:center; flex:1 1 0; min-width:0; min-height:46px; margin:0 0 -1px; padding:12px 8px; border:0; border-bottom:3px solid transparent; border-radius:0!important; background:transparent; color:var(--opp-muted); font-size:14px; line-height:1.4; font-weight:600; }
.opp-native-page .xoo-el-form-container ul.xoo-el-tabs li:hover { color:var(--opp-blue); background:var(--opp-wash); }
.opp-native-page .xoo-el-form-container ul.xoo-el-tabs li.xoo-el-active { background:transparent; color:var(--opp-blue); border-bottom-color:var(--opp-blue); font-weight:600; }
@media(max-width:769px) {
    .opp-native-page .xoo-el-modal .xoo-el-form-container ul.xoo-el-tabs { margin-inline:0; }
}
@media(max-width:400px) {
    .opp-native-page .xoo-el-form-container ul.xoo-el-tabs li { padding-inline:4px; }
}
.opp-native-page .xoo-el-form-container button.xoo-el-action-btn { background:var(--opp-blue)!important; color:white!important; border-radius:8px; border-color:var(--opp-blue); min-height:48px; font-size:14px; font-weight:600; }
.opp-native-page .xoo-el-form-container :is(input[type=text],input[type=password],input[type=email]) { border-radius:8px; font:inherit; font-size:16px; }
.opp-native-page .xoo-el-form-container .xoo-el-login-btm { font-size:12px; }
.opp-native-page .xoo-el-form-container .xoo-el-login-btm label { color:var(--opp-muted); }
.opp-native-page span.xoo-el-close { top:8px; right:8px; width:36px; height:36px; font-size:15px; background:white; box-shadow:none; color:var(--opp-muted); }
/* The plugin moves open dialogs to body, outside the storefront wrapper. */
.opp-native-page .pvpp-modal * { box-sizing:border-box; }
.opp-native-page .pvpp-modal .op-btn { display:inline-flex; justify-content:center; align-items:center; gap:10px; min-height:46px; padding:12px 18px; border:1px solid var(--opp-line); border-radius:8px; font:600 14px/1.4 'DM Sans',Arial,sans-serif; cursor:pointer; text-decoration:none; }
.opp-native-page .pvpp-modal .op-btn.primary { background:var(--opp-blue); color:white; border-color:var(--opp-blue); }
.opp-native-page .pvpp-modal .op-btn.primary:hover { background:#0049df; }
.opp-native-page .pvpp-modal .op-btn:disabled { opacity:.5; cursor:not-allowed; }
.opp-native-page .PinturaRoot .PinturaButtonExport { background-color:var(--opp-blue)!important; color:white!important; }
.opp-native-page .PinturaRoot .PinturaButtonExport:hover { background-color:#0049df!important; }
