/* CV IT-Solutions UG / Phorum360 · presentation only · SHOP-UI-R1.
   All rules require the website-bound p360-shop-ui wrapper.
   Existing local font faces, native forms and Odoo interactions are retained. */
#wrapwrap.p360-shop-ui {
  --shop-ink:#14243a; --shop-muted:#657489; --shop-blue:#2369de;
  --shop-border:#e2e9f1; --shop-paper:#fff; --shop-surface:#f6f8fc;
  color:var(--shop-ink); background:var(--shop-surface); line-height:1.65;
}
#wrapwrap.p360-shop-ui main { background:var(--shop-surface); }
#wrapwrap.p360-shop-ui h1,#wrapwrap.p360-shop-ui h2,#wrapwrap.p360-shop-ui h3 { color:var(--shop-ink); letter-spacing:-.035em; line-height:1.16; }
#wrapwrap.p360-shop-ui a { text-underline-offset:4px; }
#wrapwrap.p360-shop-ui :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #2369de; outline-offset:4px; }
#wrapwrap.p360-shop-ui .btn,#wrapwrap.p360-shop-ui .pv-button { border-radius:12px; min-height:44px; font-weight:650; box-shadow:none; transition:background-color .18s,border-color .18s,box-shadow .18s; }
#wrapwrap.p360-shop-ui .btn-primary,#wrapwrap.p360-shop-ui .pv-primary { background:#2369de; border-color:#2369de; color:#fff; }
#wrapwrap.p360-shop-ui .btn-primary:hover,#wrapwrap.p360-shop-ui .pv-primary:hover { background:#1159d0; border-color:#1159d0; color:#fff; box-shadow:0 5px 16px #14243a15; }
#wrapwrap.p360-shop-ui .btn-outline-primary { border-color:#2369de; color:#17539c; background:#fff; }
#wrapwrap.p360-shop-ui .btn-outline-primary:hover { background:#edf3fc; }
#wrapwrap.p360-shop-ui .form-control,#wrapwrap.p360-shop-ui .form-select { border:1px solid #c6d2e1; border-radius:10px; min-height:46px; background-color:#fff; color:var(--shop-ink); font-size:1rem; }
#wrapwrap.p360-shop-ui .form-control:focus,#wrapwrap.p360-shop-ui .form-select:focus { border-color:#2369de; box-shadow:0 0 0 3px #2369de20; }
#wrapwrap.p360-shop-ui .form-label { font-weight:650; color:var(--shop-ink); }
#wrapwrap.p360-shop-ui .form-check-input { width:1.2em; height:1.2em; border-color:#657489; }
#wrapwrap.p360-shop-ui .form-check-label { padding-block:4px; }
#wrapwrap.p360-shop-ui .cv_header { background:#fff; border-bottom:1px solid var(--shop-border); }
#wrapwrap.p360-shop-ui .shop-eyebrow { color:#17539c; text-transform:uppercase; letter-spacing:.13em; font-size:.72rem; font-weight:750; margin:0 0 14px; }
#wrapwrap.p360-shop-ui .shop-intro { color:#53657b; max-width:620px; margin:16px 0 26px; font-size:1.05rem; line-height:1.75; }
#wrapwrap.p360-shop-ui #o_wsale_container { max-width:1320px; padding-top:28px; padding-bottom:72px; }
#wrapwrap.p360-shop-ui #o_wsale_products_header { background:transparent; border:0; border-radius:0; padding:24px 0 30px; margin:0; color:var(--shop-ink); box-shadow:none; }
#wrapwrap.p360-shop-ui #o_wsale_products_header h1 { color:var(--shop-ink); font-size:clamp(2rem,3.7vw,3.35rem); font-weight:750; max-width:800px; line-height:1.12; }
#wrapwrap.p360-shop-ui #o_wsale_products_header .products_header { padding:16px; border:1px solid var(--shop-border); border-radius:16px; background:#fff; }
#wrapwrap.p360-shop-ui #products_grid_before { color:var(--shop-muted); padding-top:38px; }
#wrapwrap.p360-shop-ui #products_grid_before .accordion-item { background:transparent; }
#wrapwrap.p360-shop-ui #products_grid_before .accordion-button { border-radius:10px; }
#wrapwrap.p360-shop-ui .o_wsale_products_grid_table { gap:24px; }
#wrapwrap.p360-shop-ui .oe_product_cart { border:1px solid var(--shop-border); border-radius:22px; background:#fff; overflow:hidden; box-shadow:0 5px 20px #14243a06; transition:box-shadow .2s,border-color .2s; }
#wrapwrap.p360-shop-ui .oe_product_cart:hover { border-color:#afc4df; box-shadow:0 12px 30px #14243a12; }
#wrapwrap.p360-shop-ui .oe_product_cart .oe_product_image { background:linear-gradient(140deg,#f6f8fc,#edf3fc); padding:30px; }
#wrapwrap.p360-shop-ui .oe_product_cart .oe_product_image img { object-fit:contain; max-height:260px; border-radius:18px; }
#wrapwrap.p360-shop-ui .oe_product_cart .o_wsale_product_information { padding:24px; flex-direction:column; }
#wrapwrap.p360-shop-ui .oe_product_cart h2 { font-size:1.5rem; font-weight:750; margin-bottom:12px; }
#wrapwrap.p360-shop-ui .oe_product_cart h2 a { color:var(--shop-ink); }
#wrapwrap.p360-shop-ui .oe_product_cart .oe_subdescription { color:#53657b; line-height:1.7; margin-bottom:20px; }
#wrapwrap.p360-shop-ui .shop-card-price { border-top:1px solid var(--shop-border); padding-top:18px; width:100%; }
#wrapwrap.p360-shop-ui .oe_product_cart .o_wsale_product_info_attributes_wrapper { order:0; }
#wrapwrap.p360-shop-ui .oe_product_cart .o_wsale_product_information_text { order:0; }
#wrapwrap.p360-shop-ui .oe_product_cart .o_wsale_product_sub { order:1; flex-wrap:wrap; }
#wrapwrap.p360-shop-ui .shop-card-price { order:1; margin-top:20px; }
#wrapwrap.p360-shop-ui .shop-card-price .shop-price-amount small { font-weight:400; letter-spacing:0; }
#wrapwrap.p360-shop-ui .shop-card-price .shop-price-amount { display:block; font-size:1.75rem; font-weight:750; letter-spacing:-.03em; color:var(--shop-ink); }
#wrapwrap.p360-shop-ui .shop-card-price small { display:block; color:#53657b; font-size:.8rem; line-height:1.65; }
#wrapwrap.p360-shop-ui .shop-card-price a { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:12px; color:#17539c; font-weight:700; text-decoration:none; }
#wrapwrap.p360-shop-ui .shop-card-price a:hover { text-decoration:underline; }
#wrapwrap.p360-shop-ui #product_detail { max-width:1320px; padding-block:20px 64px; }
#wrapwrap.p360-shop-ui #product_detail_main { row-gap:28px; }
#wrapwrap.p360-shop-ui #product_detail .o_wsale_product_images { padding:32px; border:1px solid var(--shop-border); border-radius:26px; background:linear-gradient(145deg,#fff,#edf3fc); }
#wrapwrap.p360-shop-ui #product_detail .o_wsale_product_images img { object-fit:contain; max-height:480px; border-radius:22px; }
#wrapwrap.p360-shop-ui #product_details { padding-inline:32px; }
#wrapwrap.p360-shop-ui #product_details h1 { font-size:clamp(2rem,3vw,2.8rem); font-weight:750; }
#wrapwrap.p360-shop-ui #product_details h2 { font-size:1.5rem; margin-block:14px; }
#wrapwrap.p360-shop-ui #product_details p { color:#53657b; line-height:1.75; }
#wrapwrap.p360-shop-ui #p01-personal-gross-prices { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:24px; }
#wrapwrap.p360-shop-ui #p01-personal-gross-prices .p01-gross-option { background:#fff; border:1px solid var(--shop-border); border-radius:14px; padding:18px; font-size:.82rem; line-height:1.65; }
#wrapwrap.p360-shop-ui #p01-personal-gross-prices .p01-gross-option strong { display:block; font-size:.95rem; color:var(--shop-ink); }
#wrapwrap.p360-shop-ui #p01-personal-gross-prices .p01-gross-amount { display:block; font-size:1.65rem; letter-spacing:-.04em; margin-block:7px; }
#wrapwrap.p360-shop-ui #p01-personal-gross-prices > p { grid-column:1/-1; font-size:.78rem; }
#wrapwrap.p360-shop-ui .o_wsale_product_details_content_section_price .list-group { border-radius:12px; }
#wrapwrap.p360-shop-ui #add_to_cart { min-height:48px; padding:12px 22px; }
#wrapwrap.p360-shop-ui .css_quantity { min-height:46px; border-radius:10px; background:#fff; overflow:hidden; }
#wrapwrap.p360-shop-ui .css_quantity .btn { min-width:38px; min-height:44px; }
#wrapwrap.p360-shop-ui .css_quantity input { min-width:40px; }
#wrapwrap.p360-shop-ui .o_website_sale_checkout_container { max-width:1280px; padding-block:40px 72px; }
#wrapwrap.p360-shop-ui .o_website_sale_checkout_container h1 { font-size:clamp(1.8rem,3vw,2.65rem); font-weight:750; margin-bottom:24px; }
#wrapwrap.p360-shop-ui .o_website_sale_checkout_container .card,#wrapwrap.p360-shop-ui .o_total_card { border:1px solid var(--shop-border); border-radius:18px; background:#fff; box-shadow:0 5px 20px #14243a06; }
#wrapwrap.p360-shop-ui .o_website_sale_checkout_container .card-body { padding:24px; }
#wrapwrap.p360-shop-ui #cart_products { background:#fff; border:1px solid var(--shop-border); border-radius:18px; padding:16px 24px; }
#wrapwrap.p360-shop-ui .o_payment_form { background:#fff; border:1px solid var(--shop-border); border-radius:16px; padding:20px; }
#wrapwrap.p360-shop-ui .oe_login_form,#wrapwrap.p360-shop-ui .oe_signup_form,#wrapwrap.p360-shop-ui .oe_reset_password_form { max-width:480px; padding:32px; margin-block:40px 64px; border:1px solid var(--shop-border); border-radius:22px; background:#fff; box-shadow:0 12px 40px #14243a08; }
#wrapwrap.p360-shop-ui .oe_login_buttons { padding-top:12px; }
#wrapwrap.p360-shop-ui .oe_signup_form .mb-3 { margin-bottom:20px; }
#wrapwrap.p360-shop-ui .shop-account-heading h1 { font-size:1.8rem; margin-bottom:12px; }
#wrapwrap.p360-shop-ui .shop-account-heading p { color:#53657b; font-size:.9rem; margin-bottom:24px; }
#wrapwrap.p360-shop-ui .p360-vault-page { color:var(--shop-ink); background:#fff; }
#wrapwrap.p360-shop-ui .pv-shell { max-width:1220px; padding-inline:28px; }
#wrapwrap.p360-shop-ui .pv-hero { background:radial-gradient(ellipse at 95% 10%,#dcecfb 0,transparent 55%),linear-gradient(145deg,#f6f8fc,#fff); color:var(--shop-ink); padding:76px 0 70px; border-bottom:1px solid var(--shop-border); }
#wrapwrap.p360-shop-ui .pv-hero h1 { color:var(--shop-ink); font-size:clamp(2.7rem,5vw,4.7rem); letter-spacing:-.055em; max-width:720px; }
#wrapwrap.p360-shop-ui .pv-hero h1 em { color:#2369de; font-style:normal; }
#wrapwrap.p360-shop-ui .pv-lead { color:#53657b; font-size:1.13rem; max-width:560px; }
#wrapwrap.p360-shop-ui .pv-eyebrow { color:#17539c; font-size:.72rem; font-weight:750; letter-spacing:.14em; }
#wrapwrap.p360-shop-ui .pv-mark { border-color:#c6d2e1; color:#17539c; background:#fff; }
#wrapwrap.p360-shop-ui .pv-text-link { color:#17539c; }
#wrapwrap.p360-shop-ui .pv-hero-note { color:#53657b; font-size:.83rem; }
#wrapwrap.p360-shop-ui .pv-hero-note strong { color:var(--shop-ink); }
#wrapwrap.p360-shop-ui .pv-hero-note span,#wrapwrap.p360-shop-ui .pv-start-grid p { color:#53657b; }
#wrapwrap.p360-shop-ui .shop-brand-visual { position:relative; border:1px solid #d1dfed; border-radius:32px; background:linear-gradient(135deg,#fff,#edf3fc); padding:38px; box-shadow:0 22px 65px #14243a12; text-align:center; max-width:420px; justify-self:center; }
#wrapwrap.p360-shop-ui .shop-brand-visual img { display:block; width:min(100%,260px); aspect-ratio:1; object-fit:contain; margin:0 auto 24px; border-radius:26px; }
#wrapwrap.p360-shop-ui .shop-brand-visual strong { display:block; font-size:1.5rem; letter-spacing:-.035em; }
#wrapwrap.p360-shop-ui .shop-brand-visual p { color:#53657b; margin:8px 0 0; font-size:.87rem; }
#wrapwrap.p360-shop-ui .shop-brand-visual .shop-brand-caption { display:block; border-top:1px solid #d1dfed; margin-top:22px; padding-top:18px; color:#17539c; font-size:.78rem; font-weight:650; }
#wrapwrap.p360-shop-ui .pv-proof-strip { background:#fff; border-bottom:1px solid var(--shop-border); color:#53657b; }
#wrapwrap.p360-shop-ui .pv-section { padding:80px 0; }
#wrapwrap.p360-shop-ui .pv-section-heading { max-width:720px; margin-bottom:36px; }
#wrapwrap.p360-shop-ui .pv-section h2 { font-size:clamp(2rem,3.4vw,3rem); }
#wrapwrap.p360-shop-ui .pv-card { background:#fff; border:1px solid var(--shop-border); border-radius:20px; padding:30px; box-shadow:0 6px 24px #14243a05; }
#wrapwrap.p360-shop-ui .pv-card h3 { font-size:1.25rem; line-height:1.3; margin-block:22px 14px; }
#wrapwrap.p360-shop-ui .pv-card-number { color:#17539c; font-size:.73rem; font-weight:700; }
#wrapwrap.p360-shop-ui .pv-security { background:#f6f8fc; border-block:1px solid var(--shop-border); }
#wrapwrap.p360-shop-ui .pv-security h2 { color:var(--shop-ink); }
#wrapwrap.p360-shop-ui .pv-security p { color:#53657b; }
#wrapwrap.p360-shop-ui .pv-security-steps > div { background:#fff; border-color:var(--shop-border); border-radius:16px; padding:22px; }
#wrapwrap.p360-shop-ui .pv-security-steps > div > span { background:#edf3fc; color:#17539c; border-color:#d1dfed; }
#wrapwrap.p360-shop-ui .pv-security-steps h3 { color:var(--shop-ink); }
#wrapwrap.p360-shop-ui .pv-price-card { border:1px solid #d1dfed; border-radius:24px; padding:36px; box-shadow:0 6px 28px #14243a06; }
#wrapwrap.p360-shop-ui .pv-price-featured { border:2px solid #2369de; background:linear-gradient(145deg,#f6f8fc,#fff); }
#wrapwrap.p360-shop-ui .pv-price-badge { background:#2369de; color:#fff; border-radius:8px; font-size:.7rem; padding:8px 12px; }
#wrapwrap.p360-shop-ui .pv-price { color:var(--shop-ink); letter-spacing:-.055em; font-size:clamp(2.5rem,4vw,3.5rem); }
#wrapwrap.p360-shop-ui .pv-price span { letter-spacing:0; font-size:.8rem; color:#53657b; }
#wrapwrap.p360-shop-ui .pv-tax { color:#53657b; }
#wrapwrap.p360-shop-ui .pv-price-card li { color:var(--shop-ink); }
#wrapwrap.p360-shop-ui .pv-price-card .pv-button { justify-content:center; }
#wrapwrap.p360-shop-ui .pv-outline { color:#17539c; border:1px solid #2369de; background:#fff; }
#wrapwrap.p360-shop-ui .pv-start { background:#f6f8fc; border-block:1px solid var(--shop-border); }
#wrapwrap.p360-shop-ui .pv-start-grid { gap:28px; }
#wrapwrap.p360-shop-ui .pv-start-grid b { color:#17539c; background:#e8f0fc; border-radius:10px; padding:10px 14px; font-size:.95rem; }
#wrapwrap.p360-shop-ui .pv-start-grid h3 { margin-top:24px; font-size:1.15rem; }
#wrapwrap.p360-shop-ui .pv-faq details { border:1px solid var(--shop-border); border-radius:14px; margin-bottom:12px; padding:18px 22px; background:#fff; }
#wrapwrap.p360-shop-ui .pv-faq summary { min-height:28px; color:var(--shop-ink); }
#wrapwrap.p360-shop-ui .pv-final { background:#14243a; border-radius:0; }
#wrapwrap.p360-shop-ui .pv-final h2 { color:#fff; }
#wrapwrap.p360-shop-ui .pv-final p { color:#bdcddd; }
#wrapwrap.p360-shop-ui .cv_footer h2 { color:#e2e9f1; }
#wrapwrap.p360-shop-ui .shop-copyright { margin:0; color:#bdcddd; }
#wrapwrap.p360-shop-ui .pv-final .pv-eyebrow { color:#b9dcfa; }
#wrapwrap.p360-shop-ui .cv_legal_content { max-width:860px; margin:auto; background:#fff; border:1px solid var(--shop-border); border-radius:20px; padding:36px; }
#wrapwrap.p360-shop-ui .p360-legal-text { max-width:860px; margin:28px auto; padding:32px; background:#fff; border:1px solid var(--shop-border); border-radius:20px; line-height:1.85; color:#33445b; }
#wrapwrap.p360-shop-ui main > #wrap > .container { padding-block:40px; }
#wrapwrap.p360-shop-ui .alert { border-radius:12px; line-height:1.6; }
@media(min-width:992px) {
 #wrapwrap.p360-shop-ui #product_detail_main { column-gap:24px; flex-wrap:nowrap; }
 #wrapwrap.p360-shop-ui #product_detail .o_wsale_product_images { flex:0 0 43%; }
 #wrapwrap.p360-shop-ui #product_details { flex:1; min-width:0; }
}
@media(max-width:991px) {
 #wrapwrap.p360-shop-ui #product_details { padding-inline:12px; }
 #wrapwrap.p360-shop-ui #product_detail .o_wsale_product_images { margin-inline:12px; padding:24px; width:calc(100% - 24px); flex-basis:calc(100% - 24px); }
 #wrapwrap.p360-shop-ui #product_detail .o_wsale_product_images img { max-height:330px; }
 #wrapwrap.p360-shop-ui .pv-hero { padding:48px 0; }
 #wrapwrap.p360-shop-ui .pv-hero-grid { gap:36px; }
 #wrapwrap.p360-shop-ui .shop-brand-visual { padding:26px; }
}
@media(max-width:575px) {
 #wrapwrap.p360-shop-ui .cv_navbar .cv_wrap { gap:12px; }
 #wrapwrap.p360-shop-ui #o_wsale_container { padding-inline:16px; padding-top:12px; }
 #wrapwrap.p360-shop-ui #o_wsale_products_header { padding-block:24px; }
 #wrapwrap.p360-shop-ui #o_wsale_products_header .products_header { padding:10px; gap:8px; }
 #wrapwrap.p360-shop-ui .shop-intro { font-size:.95rem; margin-bottom:18px; }
 #wrapwrap.p360-shop-ui .oe_product_cart .o_wsale_product_information { padding:22px; }
 #wrapwrap.p360-shop-ui .oe_product_cart .oe_product_image { padding:28px; }
 #wrapwrap.p360-shop-ui #p01-personal-gross-prices { grid-template-columns:1fr; }
 #wrapwrap.p360-shop-ui #product_details h1 { font-size:1.95rem; }
 #wrapwrap.p360-shop-ui #product_detail .o_wsale_product_images img { max-height:240px; }
 #wrapwrap.p360-shop-ui .pv-shell { padding-inline:20px; }
 #wrapwrap.p360-shop-ui .pv-hero h1 { font-size:2.65rem; }
 #wrapwrap.p360-shop-ui .pv-lead { font-size:1.02rem; }
 #wrapwrap.p360-shop-ui .pv-actions { align-items:stretch; gap:16px; }
 #wrapwrap.p360-shop-ui .pv-button { padding:13px 18px; text-align:center; }
 #wrapwrap.p360-shop-ui .shop-brand-visual { max-width:320px; padding:24px; }
 #wrapwrap.p360-shop-ui .shop-brand-visual img { max-width:190px; }
 #wrapwrap.p360-shop-ui .pv-section { padding:52px 0; }
 #wrapwrap.p360-shop-ui .pv-card,#wrapwrap.p360-shop-ui .pv-price-card { padding:26px; }
 #wrapwrap.p360-shop-ui .pv-proof-strip .pv-shell { gap:12px; font-size:.75rem; }
 #wrapwrap.p360-shop-ui .oe_login_form,#wrapwrap.p360-shop-ui .oe_signup_form { padding:24px; margin:28px 12px 48px; max-width:calc(100% - 24px); }
 #wrapwrap.p360-shop-ui .cv_legal_content { padding:24px 18px; }
 #wrapwrap.p360-shop-ui .p360-legal-text { padding:22px 18px; }
 #wrapwrap.p360-shop-ui .o_website_sale_checkout_container { padding:28px 16px 48px; }
 #wrapwrap.p360-shop-ui #cart_products { padding:12px; }
}
@media(prefers-reduced-motion:reduce) {
 #wrapwrap.p360-shop-ui *,#wrapwrap.p360-shop-ui *::before,#wrapwrap.p360-shop-ui *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}
