/* Shared page width: uses the existing GTool container (1440px incl. gutters). */
body#cms #main,body#contact #main,body#module-gtool_catalog-rights #main{max-width:none;width:100%;margin-left:0;margin-right:0}
body#cms #main>.page-header{padding:28px 32px;margin:0 0 22px;border:1px solid #e4edf8;border-radius:14px;background:linear-gradient(110deg,#eff7ff,#fff)}
body#cms #main>.page-header h1{font-size:38px;line-height:1.2;font-weight:750;color:#0c173b;margin:0;letter-spacing:-.6px}
body#cms #content.page-cms{width:100%;box-sizing:border-box;overflow-wrap:anywhere}
body#module-gtool_catalog-rights .gr-panel,body#cms .gr-panel{max-width:none;width:100%;box-sizing:border-box}
/* Keep native store/contact information, stacked at the same outer width as the form. */
body#contact #left-column,body#contact #content-wrapper{width:100%;max-width:100%;float:none}
body#contact #left-column{margin-bottom:20px}
body#contact #left-column .contact-rich{background:#fff;border:1px solid #e4edf8;border-radius:12px;padding:22px;margin:0}
body#contact .contact-form{border:1px solid #e4edf8;border-radius:14px;box-shadow:none;padding:28px 32px}
body#contact .contact-form h3{color:#0c173b;font-weight:700}
@media(max-width:767px){body#cms #main>.page-header{padding:22px 20px}body#cms #main>.page-header h1{font-size:29px}body#contact .contact-form{padding:22px 20px}}
@media(max-width:575px){body#cms #main>.page-header{padding:20px 18px;border-radius:10px}body#cms #main>.page-header h1{font-size:26px}body#contact .contact-form{padding:20px 18px}body#contact #left-column .contact-rich{padding:18px}}

/* Match the specificity of existing per-policy presentation rules. */
body#cms:has(.page-cms) #main{max-width:none;width:100%;margin-left:0;margin-right:0}
body#module-gtool_catalog-rights #content.page-content{padding:0;background:transparent}
body#contact input[type=file]{width:100%;max-width:100%;box-sizing:border-box}

/* GTool contact page: presentation only; preserve native fields, hooks and validation. */
body#contact #content.page-content{padding:0;background:transparent;box-shadow:none;border:0}
body#contact #left-column{margin-bottom:24px}
body#contact #left-column .contact-rich{padding:28px 32px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;background:linear-gradient(115deg,#f0f7ff,#fff);border-radius:16px}
body#contact .contact-rich h4{grid-column:1/-1;color:#0c173b;font-size:30px;line-height:1.2;font-weight:750;margin:0 0 4px;letter-spacing:-.5px}
body#contact .contact-rich hr{display:none}
body#contact .contact-rich .block{display:flex;gap:16px;align-items:flex-start;margin:0;padding:20px;background:#fff;border:1px solid #e1ebf7;border-radius:12px;min-width:0}
body#contact .contact-rich .block .icon{float:none;flex:0 0 48px;width:48px;height:48px;border-radius:12px;background:#edf5ff;color:#0064ff;display:flex;align-items:center;justify-content:center}
body#contact .contact-rich .block .icon i{font-size:25px}
body#contact .contact-rich .block .data{float:none;width:auto;color:#334868;font-size:15px;line-height:1.65;overflow-wrap:anywhere}
body#contact .contact-rich .block a{color:#0064ff;font-weight:650;overflow-wrap:anywhere}
body#contact .contact-form{padding:32px;border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(15,43,75,.035)}
body#contact .contact-form .form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}
body#contact .contact-form .form-group{margin:0;min-width:0}
body#contact .contact-form .form-group:first-child,body#contact .contact-form .form-group:has(textarea),body#contact .contact-form .form-group:has(.psgdpr_consent_message){grid-column:1/-1}
body#contact .contact-form .form-group>div,body#contact .contact-form .form-group>label,body#contact .contact-form .form-group>span{float:none;width:100%;max-width:100%;margin-left:0;padding:0}
body#contact .contact-form h3{font-size:28px;font-weight:750;line-height:1.3;margin:0;padding-bottom:20px;border-bottom:1px solid #e7eef8;letter-spacing:-.4px}
body#contact .contact-form .form-control-label{text-align:left;padding:0 0 8px!important;color:#172b4c;font-size:14px;font-weight:650}
body#contact .contact-form .form-control{border:1px solid #d9e5f3;border-radius:8px;background:#fafcff;min-height:48px;padding:12px 14px;color:#0c173b;box-shadow:none;max-width:100%}
body#contact .contact-form .form-control:focus{border-color:#0064ff;outline:2px solid #dceaff;outline-offset:1px;background:#fff}
body#contact .contact-form textarea.form-control{min-height:170px;resize:vertical}
body#contact .contact-form .form-control-comment{font-size:12px;color:#6a7d96;padding-top:6px!important}
body#contact .contact-form .form-footer{margin-top:24px;padding-top:22px;border-top:1px solid #e7eef8}
body#contact .contact-form .btn-primary{background:#0064ff;border:1px solid #0064ff;border-radius:8px;min-height:48px;padding:12px 34px;font-size:15px;font-weight:700;text-transform:none;box-shadow:none}
body#contact .contact-form .btn-primary:hover{background:#0054dc}
body#contact .contact-form .bootstrap-filestyle{display:flex;max-width:100%}
body#contact .contact-form .bootstrap-filestyle .group-span-filestyle{flex-shrink:0}
body#contact .contact-form .bootstrap-filestyle .btn{min-height:48px;border-radius:0 8px 8px 0}
@media(max-width:991px){body#contact #left-column .contact-rich{grid-template-columns:1fr;gap:12px}body#contact .contact-rich .block{padding:16px}}
@media(max-width:575px){body#contact #left-column .contact-rich,body#contact .contact-form{padding:20px 18px}body#contact .contact-rich h4,body#contact .contact-form h3{font-size:24px}body#contact .contact-form .form-fields{grid-template-columns:1fr;gap:18px}body#contact .contact-form .btn-primary{width:100%}body#contact .contact-rich .block{gap:12px}body#contact .contact-rich .block .icon{flex-basis:40px;width:40px;height:40px}}

body#contact .contact-rich h4,body#contact .contact-form h3{text-transform:none}
body#contact .contact-rich .block:has(.email){display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto 1fr;gap:0 16px}
body#contact .contact-rich .block:has(.email) .icon{grid-row:1/3;grid-column:1}
body#contact .contact-rich .block:has(.email) .data,body#contact .contact-rich .block:has(.email)>a{grid-column:2}
body#contact .contact-form .bootstrap-filestyle .btn{background:#edf5ff;color:#0064ff;border:1px solid #d9e5f3;font-weight:650;text-transform:none}
@media(max-width:575px){body#contact .contact-rich .block:has(.email){grid-template-columns:40px minmax(0,1fr);column-gap:12px}}

/* Contact cards V2: calm surface, prominent contact details, aligned iconography. */
body#contact #left-column .contact-rich{background:transparent;border:0;padding:8px 0 4px;gap:18px 22px;box-shadow:none}
body#contact .contact-rich h4{font-size:27px;font-weight:720;letter-spacing:-.5px;margin:0 0 3px}
body#contact .contact-rich .block{min-height:162px;padding:25px 24px;align-items:center;border:1px solid #e0eaf6;border-radius:16px;box-shadow:0 5px 20px rgba(16,42,79,.035);gap:18px;transition:border-color .18s,box-shadow .18s;box-sizing:border-box}
body#contact .contact-rich .block:hover{border-color:#b9d3f7;box-shadow:0 8px 24px rgba(16,42,79,.065)}
body#contact .contact-rich .block .icon{width:56px;height:56px;flex-basis:56px;border-radius:50%;background:#edf5ff;border:1px solid #e1edff}
body#contact .contact-rich .block .icon i{font-size:27px}
body#contact .contact-rich .block .data{font-size:14px;line-height:1.65;color:#61738c}
body#contact .contact-rich .block a{display:inline-block;color:#0c2348;font-weight:750;font-size:21px;line-height:1.4;margin-top:6px;text-decoration:none}
body#contact .contact-rich .block a:hover{color:#0064ff;text-decoration:underline;text-underline-offset:4px}
body#contact .contact-rich .block a:focus-visible{outline:2px solid #0064ff;outline-offset:5px;border-radius:3px}
body#contact .contact-rich .block a[href^="tel:"]{letter-spacing:.6px}
body#contact .contact-rich .block:has(.email){grid-template-columns:56px minmax(0,1fr);grid-template-rows:auto auto;gap:0 18px;align-content:center;align-items:center}
body#contact .contact-rich .block:has(.email) .data{align-self:end}
body#contact .contact-rich .block:has(.email)>a{align-self:start;font-size:20px}
@media(max-width:991px){body#contact #left-column .contact-rich{gap:14px}body#contact .contact-rich .block{min-height:116px;padding:22px}}
@media(max-width:575px){body#contact .contact-rich h4{font-size:24px}body#contact .contact-rich .block{padding:20px 18px;gap:16px;border-radius:14px}body#contact .contact-rich .block .icon{width:48px;height:48px;flex-basis:48px}body#contact .contact-rich .block:has(.email){grid-template-columns:48px minmax(0,1fr);column-gap:16px}body#contact .contact-rich .block a,body#contact .contact-rich .block:has(.email)>a{font-size:19px}}
@media(prefers-reduced-motion:reduce){body#contact .contact-rich .block{transition:none}}

/* Payment CMS: scoped to its content wrapper. */
.gp-payment{color:#172b4c}.gp-payment .gp-intro{max-width:840px;margin-bottom:28px}.gp-payment .gp-eyebrow{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:#0064ff}.gp-payment h2{font-size:30px;line-height:1.25;font-weight:750;margin:10px 0 14px;color:#0c173b}.gp-payment p{font-size:15px;line-height:1.7;color:#526780;margin:0 0 12px}.gp-payment .gp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.gp-payment .gp-card{border:1px solid #e0eaf6;border-radius:14px;padding:26px;background:#fff;position:relative;box-shadow:0 5px 20px rgba(16,42,79,.035)}.gp-payment .gp-symbol{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:12px;background:#edf5ff;color:#0064ff;font-size:16px;font-weight:750;margin-right:12px}.gp-payment .gp-tag{font-size:12px;font-weight:650;color:#315d93;background:#f0f6ff;padding:6px 10px;border-radius:20px}.gp-payment .gp-pending{background:#fff6e8;color:#87611d}.gp-payment h3{font-size:22px;line-height:1.3;color:#0c173b;font-weight:700;margin:18px 0 12px}.gp-payment p.gp-note{font-size:13px;color:#6a7d96;margin:16px 0 0;padding-top:14px;border-top:1px solid #edf2f8}.gp-payment .gp-security{margin-top:26px;background:#f3f8ff;border:1px solid #e0eaf6;border-radius:14px;padding:24px 28px}.gp-payment .gp-security h3{margin-top:0}.gp-payment ul{padding-left:20px;margin:0}.gp-payment li{list-style:disc;margin:9px 0;line-height:1.6;color:#526780}.gp-payment .gp-support{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;border-top:1px solid #e7eef8;padding-top:24px}.gp-payment .gp-support h3{margin:0 0 8px}.gp-payment .gp-support p{margin:0}.gp-payment .gp-contact{display:inline-flex;align-items:center;justify-content:center;background:#0064ff;color:#fff;padding:14px 22px;border-radius:8px;font-weight:700;min-height:48px;white-space:nowrap}.gp-payment .gp-contact:hover{background:#0054dc}.gp-payment .gp-contact:focus-visible{outline:3px solid #a7caff;outline-offset:3px}
@media(max-width:767px){.gp-payment .gp-grid{grid-template-columns:1fr}.gp-payment .gp-card{padding:22px 20px}.gp-payment h2{font-size:25px}.gp-payment .gp-support{flex-direction:column;align-items:stretch}.gp-payment .gp-contact{white-space:normal}.gp-payment .gp-security{padding:22px 20px}}

body#cms .gp-payment,body#cms .gp-payment p,body#cms .gp-payment h2,body#cms .gp-payment h3,body#cms .gp-payment li{text-align:left}

/* Legal clauses retain ordered numbering; do not inherit payment-card bullets. */
body.cms-id-3 .gp-payment ol{padding-left:24px}body.cms-id-3 .gp-payment ol>li{list-style-type:decimal}body.cms-id-3 .gp-payment ul>li{list-style-type:disc}
