/* CIC overrides for static (no-JS) rendering */
html, body { overflow: visible !important; height: auto !important; max-height: none !important; }
body.cic-odoo-render { margin: 0; padding: 0; }
/* Force horizontal navbar */
header nav .navbar-nav { display: flex !important; flex-direction: row !important; align-items: center !important; opacity: 1 !important; visibility: visible !important; }
header nav .navbar-collapse, header nav .collapse { display: flex !important; flex-basis: auto !important; }
header ul.o_menu_loading, header .o_menu_loading { opacity: 1 !important; }
/* Hide "Powered by Odoo" footer branding */
footer .o_footer_copyright .float-end, footer .o_footer_copyright [class*="odoo"] { display: none !important; }
/* Masonry block: force CSS Grid */
.s_masonry_block .row.o_grid_mode { display: grid !important; grid-template-columns: repeat(12, 1fr); grid-auto-rows: minmax(50px, auto); gap: 0.5rem; }
/* Hide "Powered by Odoo" branding (matches live which has it removed) */
.o_footer_copyright .col-sm:not(.text-sm-start) { display: none !important; }
.o_footer_copyright .col-sm.text-sm-end, .o_footer_copyright .text-end { display: none !important; }
/* Also hide via attribute selectors as fallback */
.o_footer_copyright a[href*="odoo.com"] { display: none !important; }

/* When o_animating fires, force visibility visible — Odoo keyframes only animate opacity, not visibility */
.o_animate.o_animating, [class*="o_anim_"].o_animating { visibility: visible; }



/* animation-gate — animation only runs when o_animating is present.
   Without this, .o_anim_* classes set animation-name from page load,
   so the animation has finished before the user scrolls to the element. */
.o_animate:not(.o_animating) { animation-name: none !important; }
/* end-animation-gate */

/* CIC Fluent Forms - dark Odoo theme overrides */
.cic-ff-wrapper { max-width: 720px; margin: 0 auto 64px; padding: 0 16px; }
.cic-ff-wrapper .ff-default { font-family: inherit; color: #fff; }
.cic-ff-wrapper .ff-default .ff-el-group { margin-bottom: 20px; }
.cic-ff-wrapper .ff-default .ff-el-input--label label,
.cic-ff-wrapper .ff-default label.ff-el-form-label { color: #fff !important; font-weight: 600; font-size: 14px; letter-spacing: 0.02em; margin-bottom: 8px; display: block; }
.cic-ff-wrapper .ff-default .ff-el-form-required-asterisk,
.cic-ff-wrapper .ff-default .ff_required { color: #ffa31a !important; margin-left: 4px; }
.cic-ff-wrapper .ff-default input[type='text'],
.cic-ff-wrapper .ff-default input[type='email'],
.cic-ff-wrapper .ff-default input[type='tel'],
.cic-ff-wrapper .ff-default input[type='number'],
.cic-ff-wrapper .ff-default input[type='url'],
.cic-ff-wrapper .ff-default textarea,
.cic-ff-wrapper .ff-default select { background: rgba(255,255,255,0.06) !important; border: 1px solid rgba(255,255,255,0.18) !important; color: #fff !important; padding: 10px 14px !important; border-radius: 8px !important; font-size: 15px !important; transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease; }
.cic-ff-wrapper .ff-default input::placeholder,
.cic-ff-wrapper .ff-default textarea::placeholder { color: rgba(255,255,255,0.4) !important; }
.cic-ff-wrapper .ff-default input:focus,
.cic-ff-wrapper .ff-default textarea:focus,
.cic-ff-wrapper .ff-default select:focus { border-color: #ffa31a !important; background: rgba(255,255,255,0.10) !important; box-shadow: 0 0 0 3px rgba(255,163,26,0.18) !important; outline: none !important; }
.cic-ff-wrapper .ff-default textarea { min-height: 140px; }
.cic-ff-wrapper .ff-default .ff_btn_style { background: #00c853 !important; color: #fff !important; border: 0 !important; padding: 12px 28px !important; border-radius: 999px !important; font-weight: 600 !important; font-size: 15px !important; cursor: pointer; transition: background-color .15s ease, transform .1s ease; }
.cic-ff-wrapper .ff-default .ff_btn_style:hover { background: #00a843 !important; transform: translateY(-1px); }
.cic-ff-wrapper .ff-default .ff_btn_style:active { transform: translateY(0); }
.cic-ff-wrapper .ff-default .ff-message-success,
.cic-ff-wrapper .ff-default .ff-success-message { background: rgba(0,200,83,0.15) !important; border: 1px solid #00c853 !important; color: #fff !important; padding: 16px !important; border-radius: 8px !important; font-size: 16px !important; }
.cic-ff-wrapper .ff-default .text-danger,
.cic-ff-wrapper .ff-default .error { color: #ffa31a !important; font-size: 13px; margin-top: 4px; }
.cic-ff-wrapper .ff-default .ff-el-name-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 600px) { .cic-ff-wrapper .ff-default .ff-el-name-fields { grid-template-columns: 1fr; } }
/* end-cic-ff-styling */

/* CIC Sign-in placeholder page styling */
.cic-sign-in .cic-sign-in-card { max-width: 460px; margin: 0 auto; padding: 40px 32px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.10); border-radius: 16px; backdrop-filter: blur(6px); }
.cic-sign-in-title { color: #ffa31a; font-size: 32px; font-weight: 700; margin: 0 0 8px; text-align: center; letter-spacing: 0.01em; }
.cic-sign-in-sub { color: rgba(255,255,255,0.7); font-size: 15px; text-align: center; margin: 0 0 32px; }
.cic-sign-in-form { display: flex; flex-direction: column; gap: 18px; }
.cic-sign-in .cic-field { display: flex; flex-direction: column; gap: 6px; position: relative; }
.cic-sign-in .cic-field label { color: #fff; font-weight: 600; font-size: 13px; letter-spacing: 0.02em; }
.cic-sign-in .cic-field input { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.18); color: #fff; padding: 11px 14px; border-radius: 8px; font-size: 15px; transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease; }
.cic-sign-in .cic-field input::placeholder { color: rgba(255,255,255,0.4); }
.cic-sign-in .cic-field input:focus { border-color: #ffa31a; background: rgba(255,255,255,0.10); box-shadow: 0 0 0 3px rgba(255,163,26,0.18); outline: none; }
.cic-forgot { position: absolute; right: 0; top: 0; color: rgba(255,255,255,0.55); font-size: 12px; text-decoration: none; }
.cic-forgot:hover { color: #ffa31a; text-decoration: underline; }
.cic-sign-in-btn { background: #00c853; color: #fff; border: 0; padding: 13px 28px; border-radius: 999px; font-weight: 600; font-size: 15px; cursor: pointer; transition: background-color .15s ease, transform .1s ease; margin-top: 6px; }
.cic-sign-in-btn:hover { background: #00a843; transform: translateY(-1px); }
.cic-sign-in-btn:active { transform: translateY(0); }
.cic-sign-in-msg { background: rgba(0,200,83,0.10); border: 1px solid rgba(0,200,83,0.40); color: #fff; padding: 14px 16px; border-radius: 8px; font-size: 14px; margin-top: 8px; line-height: 1.5; }
.cic-sign-in-msg a { color: #00c853; font-weight: 600; }
.cic-sign-in-divider { display: flex; align-items: center; gap: 12px; margin: 28px 0 18px; color: rgba(255,255,255,0.35); font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; }
.cic-sign-in-divider::before, .cic-sign-in-divider::after { content: ''; flex: 1; height: 1px; background: rgba(255,255,255,0.12); }
.cic-sign-in-noaccount { text-align: center; color: rgba(255,255,255,0.7); font-size: 14px; margin: 0; }
.cic-sign-in-noaccount a { color: #ffa31a; font-weight: 600; text-decoration: none; }
.cic-sign-in-noaccount a:hover { text-decoration: underline; }
@media (max-width: 600px) { .cic-sign-in .cic-sign-in-card { padding: 32px 20px; } .cic-sign-in-title { font-size: 26px; } }
/* end-cic-sign-in-styling */
