/* =========================================================
TRIMEROUS TECHNOLOGY
TERMS OF SERVICES — PREMIUM LEGAL PAGE
File: assets/css/terms-of-services.css
========================================================= */

/* ---------------------------------------------------------
ROOT VARIABLES
--------------------------------------------------------- */

:root {
--terms-primary: #f05125;
--terms-secondary: #faa41a;
--terms-dark: #101828;
--terms-heading: #172033;
--terms-text: #596579;
--terms-muted: #8791a3;
--terms-border: #e7ebf2;
--terms-soft: #f7f9fc;
--terms-white: #ffffff;
--terms-shadow: 0 18px 50px rgba(16, 24, 40, 0.08);
--terms-shadow-soft: 0 8px 30px rgba(16, 24, 40, 0.06);
--terms-radius: 18px;
--terms-transition: all 0.3s ease;
}

/* ---------------------------------------------------------
GLOBAL PAGE AREA
--------------------------------------------------------- */

.terms-hero-section,
.terms-content-section {
font-family: "Poppins", sans-serif;
}

.terms-content-section p,
.terms-content-section li {
font-family: "Poppins", sans-serif;
}

/* ---------------------------------------------------------
HERO SECTION
--------------------------------------------------------- */

.terms-hero-section {
position: relative;
overflow: hidden;
padding: 150px 0 90px;
background:
radial-gradient(circle at 15% 20%, rgba(240, 81, 37, 0.09), transparent 32%),
radial-gradient(circle at 85% 20%, rgba(250, 164, 26, 0.10), transparent 30%),
linear-gradient(135deg, #bcc0c4 0%, #f5b5b5 55%, #686d72 100%);
border-bottom: 1px solid var(--terms-border);
}

.terms-hero-section::before {
content: "";
position: absolute;
width: 320px;
height: 320px;
border: 1px solid rgba(240, 81, 37, 0.08);
border-radius: 50%;
top: -180px;
left: -120px;
}

.terms-hero-section::after {
content: "";
position: absolute;
width: 420px;
height: 420px;
border: 1px solid rgba(250, 164, 26, 0.08);
border-radius: 50%;
right: -210px;
bottom: -260px;
}

.terms-hero-content {
position: relative;
z-index: 2;
max-width: 900px;
margin: 0 auto;
}

.terms-eyebrow {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 8px 16px;
margin-bottom: 20px;
border-radius: 50px;
background: rgba(240, 81, 37, 0.08);
border: 1px solid rgba(240, 81, 37, 0.12);
color: var(--terms-primary);
font-size: 11px;
font-weight: 700;
letter-spacing: 1.8px;
text-transform: uppercase;
}

.terms-hero-content h1 {
margin: 0 0 20px;
color: var(--terms-heading);
font-size: clamp(42px, 5vw, 68px);
line-height: 1.08;
font-weight: 800;
letter-spacing: -2px;
}

.terms-hero-content h1::after {
content: "";
display: block;
width: 65px;
height: 4px;
margin: 22px auto 0;
border-radius: 10px;
background: linear-gradient(
90deg,
var(--terms-primary),
var(--terms-secondary)
);
}

.terms-hero-content > p {
max-width: 760px;
margin: 25px auto 0;
color: var(--terms-text);
font-size: 16px;
line-height: 1.9;
font-weight: 400;
}

.terms-meta {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 12px;
margin-top: 30px;
}

.terms-meta span {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 9px 15px;
background: rgba(255, 255, 255, 0.85);
border: 1px solid var(--terms-border);
border-radius: 50px;
color: var(--terms-muted);
font-size: 12px;
font-weight: 500;
box-shadow: 0 5px 20px rgba(16, 24, 40, 0.03);
}

.terms-meta i {
color: var(--terms-primary);
}

/* ---------------------------------------------------------
MAIN CONTENT WRAPPER
--------------------------------------------------------- */

.terms-content-section {
position: relative;
padding: 85px 0 100px;
background: #ffffff;
}

.terms-content-section > .container {
max-width: 1180px;
}

/* ---------------------------------------------------------
SIDEBAR
--------------------------------------------------------- */

.terms-sidebar {
position: sticky;
top: 105px;
padding: 26px;
background: #ffffff;
border: 1px solid var(--terms-border);
border-radius: var(--terms-radius);
box-shadow: var(--terms-shadow-soft);
}

.terms-sidebar-title {
padding-bottom: 17px;
margin-bottom: 10px;
border-bottom: 1px solid var(--terms-border);
}

.terms-sidebar-title span {
color: var(--terms-dark);
font-size: 11px;
font-weight: 800;
letter-spacing: 1.5px;
}

.terms-navigation {
display: flex;
flex-direction: column;
}

.terms-navigation a {
position: relative;
display: block;
padding: 9px 12px 9px 15px;
border-left: 2px solid transparent;
color: #6c7687;
font-size: 12px;
line-height: 1.5;
font-weight: 500;
text-decoration: none;
transition: var(--terms-transition);
}

.terms-navigation a::before {
content: "";
position: absolute;
width: 4px;
height: 4px;
left: 4px;
top: 15px;
border-radius: 50%;
background: #c8ced8;
transition: var(--terms-transition);
}

.terms-navigation a:hover {
padding-left: 19px;
color: var(--terms-primary);
border-left-color: var(--terms-primary);
background: rgba(240, 81, 37, 0.035);
}

.terms-navigation a:hover::before {
background: var(--terms-primary);
}

/* ---------------------------------------------------------
DOCUMENT
--------------------------------------------------------- */

.terms-document {
padding-left: 15px;
}

/* ---------------------------------------------------------
INTRO CARD
--------------------------------------------------------- */

.terms-intro-card {
display: flex;
align-items: flex-start;
gap: 20px;
padding: 27px 30px;
margin-bottom: 50px;
border: 1px solid rgba(240, 81, 37, 0.15);
border-radius: var(--terms-radius);
background:
linear-gradient(
135deg,
rgba(240, 81, 37, 0.055),
rgba(250, 164, 26, 0.035)
);
}

.terms-icon {
flex: 0 0 52px;
width: 52px;
height: 52px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 14px;
background: linear-gradient(
135deg,
var(--terms-primary),
var(--terms-secondary)
);
color: #ffffff;
font-size: 21px;
box-shadow: 0 10px 25px rgba(240, 81, 37, 0.20);
}

.terms-intro-card h3 {
margin: 1px 0 8px;
color: var(--terms-heading);
font-size: 17px;
font-weight: 700;
}

.terms-intro-card p {
margin: 0;
color: var(--terms-text);
font-size: 13px;
line-height: 1.8;
}

/* ---------------------------------------------------------
INDIVIDUAL SECTIONS
--------------------------------------------------------- */

.terms-section {
position: relative;
padding: 0 0 45px;
margin-bottom: 45px;
border-bottom: 1px solid var(--terms-border);
scroll-margin-top: 110px;
}

.terms-section:last-of-type {
border-bottom: 0;
}

.terms-section h2 {
position: relative;
margin: 0 0 18px;
padding-left: 58px;
color: var(--terms-heading);
font-size: 25px;
line-height: 1.35;
font-weight: 700;
letter-spacing: -0.3px;
}

.terms-number {
position: absolute;
top: -2px;
left: 0;
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
border-radius: 12px;
background: rgba(240, 81, 37, 0.08);
color: var(--terms-primary);
font-size: 11px;
font-weight: 800;
letter-spacing: 0.5px;
}

.terms-section p {
margin: 0 0 15px;
color: var(--terms-text);
font-size: 14px;
line-height: 1.95;
font-weight: 400;
}

.terms-section p:last-child {
margin-bottom: 0;
}

/* ---------------------------------------------------------
LISTS
--------------------------------------------------------- */

.terms-list {
padding: 0;
margin: 20px 0 0;
list-style: none;
}

.terms-list li {
position: relative;
padding: 7px 0 7px 28px;
color: var(--terms-text);
font-size: 14px;
line-height: 1.8;
}

.terms-list li::before {
content: "\f00c";
position: absolute;
left: 0;
top: 9px;
width: 17px;
height: 17px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background: rgba(240, 81, 37, 0.09);
color: var(--terms-primary);
font-family: FontAwesome;
font-size: 8px;
}

/* ---------------------------------------------------------
HIGHLIGHT BOX
--------------------------------------------------------- */

.terms-highlight {
position: relative;
margin-top: 22px;
padding: 19px 22px 19px 25px;
border-radius: 12px;
background: #f8fafc;
border: 1px solid var(--terms-border);
color: #596579;
font-size: 13px;
line-height: 1.8;
}

.terms-highlight::before {
content: "";
position: absolute;
width: 3px;
top: 13px;
bottom: 13px;
left: 10px;
border-radius: 5px;
background: linear-gradient(
to bottom,
var(--terms-primary),
var(--terms-secondary)
);
}

.terms-highlight strong {
color: var(--terms-heading);
}

/* ---------------------------------------------------------
CONTACT CARD
--------------------------------------------------------- */

.terms-contact-card {
margin-top: 25px;
padding: 8px 22px;
border: 1px solid var(--terms-border);
border-radius: 16px;
background: #ffffff;
box-shadow: var(--terms-shadow-soft);
}

.contact-item {
display: flex;
align-items: center;
gap: 16px;
padding: 18px 0;
border-bottom: 1px solid var(--terms-border);
}

.contact-item:last-child {
border-bottom: 0;
}

.contact-icon {
flex: 0 0 40px;
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 11px;
background: rgba(240, 81, 37, 0.08);
color: var(--terms-primary);
font-size: 15px;
}

.contact-item div:last-child {
min-width: 0;
}

.contact-item span {
display: block;
margin-bottom: 3px;
color: var(--terms-muted);
font-size: 10px;
font-weight: 600;
letter-spacing: 0.7px;
text-transform: uppercase;
}

.contact-item strong,
.contact-item a {
display: block;
color: var(--terms-heading);
font-size: 13px;
font-weight: 600;
text-decoration: none;
word-break: break-word;
}

.contact-item a {
color: var(--terms-primary);
transition: var(--terms-transition);
}

.contact-item a:hover {
color: var(--terms-secondary);
}

/* ---------------------------------------------------------
FINAL COMMITMENT CARD
--------------------------------------------------------- */

.terms-final-notice {
display: flex;
align-items: flex-start;
gap: 20px;
margin-top: 10px;
padding: 27px 28px;
border-radius: 18px;
background: linear-gradient(
135deg,
#111827,
#1d2738
);
box-shadow: 0 20px 45px rgba(16, 24, 40, 0.14);
}

.terms-final-icon {
flex: 0 0 48px;
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 13px;
background: rgba(255, 255, 255, 0.10);
color: var(--terms-secondary);
font-size: 18px;
}

.terms-final-notice h3 {
margin: 1px 0 7px;
color: #ffffff;
font-size: 17px;
font-weight: 700;
}

.terms-final-notice p {
margin: 0;
color: rgba(255, 255, 255, 0.70);
font-size: 13px;
line-height: 1.8;
}

/* ---------------------------------------------------------
LINKS INSIDE TERMS DOCUMENT
--------------------------------------------------------- */

.terms-document a {
transition: var(--terms-transition);
}

/* ---------------------------------------------------------
TEXT SELECTION
--------------------------------------------------------- */

.terms-document ::selection {
background: rgba(240, 81, 37, 0.18);
color: var(--terms-dark);
}

/* ---------------------------------------------------------
RESPONSIVE — LARGE TABLETS
--------------------------------------------------------- */

@media (max-width: 1199px) {


.terms-hero-section {
    padding: 135px 0 80px;
}

.terms-content-section {
    padding: 70px 0 85px;
}

.terms-sidebar {
    padding: 21px;
}

.terms-navigation a {
    font-size: 11px;
}

.terms-document {
    padding-left: 5px;
}


}

/* ---------------------------------------------------------
RESPONSIVE — TABLETS
--------------------------------------------------------- */

@media (max-width: 991px) {


.terms-hero-section {
    padding: 120px 0 70px;
}

.terms-hero-content h1 {
    font-size: 48px;
}

.terms-content-section {
    padding: 60px 0 75px;
}

.terms-sidebar {
    position: relative;
    top: auto;
    margin-bottom: 40px;
}

.terms-navigation {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 15px;
}

.terms-document {
    padding-left: 0;
}

.terms-section h2 {
    font-size: 23px;
}


}

/* ---------------------------------------------------------
RESPONSIVE — MOBILE
--------------------------------------------------------- */

@media (max-width: 767px) {

.terms-hero-section {
    padding: 105px 0 55px;
}

.terms-hero-content {
    padding: 0 10px;
}

.terms-eyebrow {
    padding: 7px 13px;
    font-size: 9px;
    letter-spacing: 1.3px;
}

.terms-hero-content h1 {
    font-size: 38px;
    letter-spacing: -1px;
}

.terms-hero-content > p {
    font-size: 13px;
    line-height: 1.8;
}

.terms-meta {
    flex-direction: column;
    align-items: center;
}

.terms-meta span {
    width: fit-content;
    max-width: 100%;
    font-size: 10px;
}

.terms-content-section {
    padding: 45px 0 60px;
}

.terms-sidebar {
    padding: 20px;
    margin-bottom: 30px;
}

.terms-navigation {
    display: block;
}

.terms-navigation a {
    padding: 8px 10px 8px 15px;
}

.terms-intro-card {
    gap: 14px;
    padding: 21px;
    margin-bottom: 38px;
}

.terms-icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    font-size: 17px;
}

.terms-intro-card h3 {
    font-size: 15px;
}

.terms-intro-card p {
    font-size: 12px;
    line-height: 1.7;
}

.terms-section {
    padding-bottom: 35px;
    margin-bottom: 35px;
}

.terms-section h2 {
    padding-left: 49px;
    font-size: 20px;
}

.terms-number {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    font-size: 10px;
}

.terms-section p {
    font-size: 13px;
    line-height: 1.85;
}

.terms-list li {
    font-size: 13px;
    line-height: 1.75;
}

.terms-highlight {
    padding: 17px 17px 17px 22px;
    font-size: 12px;
}

.terms-contact-card {
    padding: 5px 16px;
}

.contact-item {
    gap: 12px;
    padding: 15px 0;
}

.contact-icon {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    font-size: 13px;
}

.contact-item strong,
.contact-item a {
    font-size: 12px;
}

.terms-final-notice {
    gap: 14px;
    padding: 22px;
}

.terms-final-icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
}

.terms-final-notice h3 {
    font-size: 15px;
}

.terms-final-notice p {
    font-size: 12px;
    line-height: 1.7;
}


}

/* ---------------------------------------------------------
RESPONSIVE — SMALL MOBILE
--------------------------------------------------------- */

@media (max-width: 480px) {

.terms-hero-section {
    padding: 95px 0 48px;
}

.terms-hero-content h1 {
    font-size: 32px;
}

.terms-hero-content h1::after {
    width: 50px;
    height: 3px;
    margin-top: 17px;
}

.terms-hero-content > p {
    font-size: 12px;
}

.terms-meta span {
    font-size: 9px;
    padding: 8px 11px;
}

.terms-content-section {
    padding: 38px 0 50px;
}

.terms-sidebar {
    padding: 17px;
}

.terms-sidebar-title {
    padding-bottom: 13px;
}

.terms-navigation a {
    font-size: 11px;
}

.terms-intro-card {
    display: block;
}

.terms-icon {
    margin-bottom: 15px;
}

.terms-section h2 {
    font-size: 18px;
}

.terms-section p {
    font-size: 12.5px;
}

.terms-list li {
    padding-left: 25px;
    font-size: 12.5px;
}

.terms-final-notice {
    display: block;
}

.terms-final-icon {
    margin-bottom: 15px;
}

}

/* ---------------------------------------------------------
REDUCED MOTION ACCESSIBILITY
--------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {


.terms-navigation a,
.contact-item a {
    transition: none;
}


}

/* ---------------------------------------------------------
PRINT VERSION
--------------------------------------------------------- */

@media print {

.terms-hero-section {
    padding: 30px 0;
    background: #ffffff !important;
}

.terms-hero-section::before,
.terms-hero-section::after,
.terms-sidebar {
    display: none !important;
}

.terms-hero-content h1 {
    font-size: 34px;
    color: #000000;
}

.terms-content-section {
    padding: 30px 0;
}

.terms-document {
    padding: 0;
}

.terms-section {
    page-break-inside: avoid;
    margin-bottom: 25px;
    padding-bottom: 25px;
}

.terms-final-notice {
    background: #ffffff !important;
    border: 1px solid #cccccc;
    box-shadow: none;
}

.terms-final-notice h3,
.terms-final-notice p {
    color: #000000 !important;
}

.terms-intro-card,
.terms-contact-card {
    box-shadow: none;
}


}
