/* ==========================================================================
   WordPress, Elementor and portal additions
   ========================================================================== */

/* Elementor: our widgets are full sections — no gaps between them. */
.e-con.cdj-row, .elementor-section.cdj-row { --padding-top:0; --padding-right:0; --padding-bottom:0; --padding-left:0; --gap:0; --row-gap:0; --column-gap:0; padding:0; }
.e-con.cdj-row > .e-con-inner { max-width:none; padding:0; }
.cdj-row .elementor-widget-wrap { padding:0 !important; }
[class*="elementor-widget-cdj-"] { margin-bottom:0 !important; width:100%; }
.elementor-widget-container > .cdj-section { position:relative; }
.cdj-section { position:relative; }
body.elementor-editor-active [data-reveal] { opacity:1 !important; transform:none !important; }
.elementor-page main#main > .elementor { overflow:hidden; }

/* WP admin bar */
body.admin-bar .site-header { top:32px; }
@media (max-width:782px){ body.admin-bar .site-header { top:46px; } }

/* Layout helpers used by sections */
.split--reverse > :first-child { order:2; }
@media (max-width:1024px){ .split--reverse > :first-child { order:0; } }
.lead-wrap p { font-size:19px; line-height:1.65; color:var(--muted); }
.lead-wrap p:first-child { margin-top:20px; }
.prose p { margin:0 0 1em; }
.story--body { margin-top:0; }
.hero-c.has-magic, .page-hero, .bg-navy { overflow:hidden; }
.brand--logo img { max-height:56px; width:auto; display:block; }
.nav ul { list-style:none; margin:0; padding:0; }
.cdj-hp { position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* Forms */
.cdj-form .form-status:empty { display:none; }
.cdj-form .form-status { margin:12px 0 0; font-weight:500; color:var(--navy); }
.cdj-form .form-status.is-error { color:#9b2c2c; }
.cdj-form.is-sending button[type="submit"] { opacity:.6; pointer-events:none; }
.cdj-form .form-note { font-size:14px; color:var(--muted); margin:8px 0 0; }
.cdj-order-box { margin-top:28px; }
.cdj-order-box .panel-form { padding:28px; }
.product__main img { width:100%; height:auto; display:block; }
.qty input { width:48px; text-align:center; border:0; background:transparent; font:inherit; font-weight:600; -moz-appearance:textfield; }
.qty input::-webkit-outer-spin-button, .qty input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }

/* Posts */
.cdj-card img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--card-radius); }
.cdj-card .h3 a { color:var(--navy); text-decoration:none; }

/* ---------- Portal ---------- */
body.cdj-portal-page { background:var(--cream); }
body.cdj-portal-page.admin-bar .portal { min-height:calc(100vh - 32px); }
.cdj-portal-embed .portal { min-height:80vh; }
.portal__nav a { color:var(--on-navy, #d9deea); }
.portal .badge { background:var(--gold); color:var(--navy); font-size:12px; font-weight:700; border-radius:999px; padding:1px 8px; }
.portal-row { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:20px; align-items:start; }
.portal-col { display:flex; flex-direction:column; gap:20px; min-width:0; }
@media (max-width:1024px){ .portal-row { grid-template-columns:1fr; } }
.portal .panel form { display:flex; flex-direction:column; gap:12px; }
.portal .panel .field { margin:0; }
.portal .panel .btn { align-self:flex-start; }
.cdj-edit form { max-width:720px; }
.cdj-table { width:100%; border-collapse:collapse; font-size:15px; }
.cdj-table th { text-align:left; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); font-weight:600; padding:10px 12px; border-bottom:1px solid var(--line); }
.cdj-table td { padding:14px 12px; border-bottom:1px solid var(--line); vertical-align:middle; }
.cdj-table a { color:var(--navy); }
.cdj-table .stock img { width:44px; height:auto; border-radius:6px; }
.cdj-actions { white-space:nowrap; text-align:right; }
.cdj-actions form { display:inline !important; margin-left:12px; }
.cdj-link-btn { background:none; border:0; padding:0; font:inherit; cursor:pointer; text-decoration:underline; color:var(--navy); }
.cdj-danger { color:#9b2c2c; }
.seg a { font-size:13px; font-weight:500; border-radius:999px; padding:7px 12px; text-decoration:none; color:var(--ink); white-space:nowrap; }
.seg a[aria-pressed="true"] { background:var(--navy); color:#fff; }
.cdj-filters { display:flex; flex-wrap:wrap; gap:8px; }
.cdj-filters .seg { flex-wrap:wrap; }
.cal-mini { width:56px; flex:none; text-align:center; background:var(--navy); color:#fff; border-radius:12px; padding:6px 0; line-height:1.1; }
.cal-mini span { font-size:11px; letter-spacing:.14em; color:var(--gold-soft); }
.cal-mini b { display:block; font-size:22px; }
.cdj-notice { background:#F6EBCD; color:#5b4510; border-radius:14px; padding:12px 16px; margin:0; font-weight:500; }
.cdj-notice--error { background:#F8E1E1; color:#7a2020; }
.specs dd { white-space:pre-line; }

/* Portal login */
.cdj-portal-login { min-height:80vh; display:grid; place-items:center; padding:48px 16px; background:var(--cream); }
.cdj-portal-login .panel { width:100%; max-width:440px; padding:40px; }
#loginform p { margin:0 0 14px; }
#loginform label { display:block; font-size:14px; font-weight:500; color:var(--navy); margin-bottom:6px; }
#loginform input[type="text"], #loginform input[type="password"] { width:100%; border:1px solid var(--line); border-radius:12px; padding:12px 14px; font:inherit; background:#fff; }
#loginform .login-remember label { display:flex; gap:8px; align-items:center; font-weight:400; }
#loginform .button-primary { background:var(--navy); color:#fff; border:0; border-radius:999px; padding:13px 26px; font:inherit; font-weight:600; cursor:pointer; width:100%; }
.portal .stock img { width:44px !important; height:60px !important; object-fit:cover; border-radius:6px; flex:none; }
.portal .stock { align-items:center; }
.field textarea, .portal textarea { border-radius:16px !important; padding:14px 16px; }
.portal input[type="file"] { border-radius:14px !important; padding:10px 12px; }
