/*
Theme Name: RRTS Blog Theme  
Theme URI: https://round-robin.eu
Description: Custom WordPress theme for Round-Robin Trading Strategies blog
Version: 2.9793
Author: RRTS
Author URI: https://round-robin.eu
License: GPL-2.0+
*/

/* ============================================================================
   LAYOUT FLESSIBILE - Funziona su TUTTI i dispositivi
   ============================================================================ */

/* Reset & Base */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: 'Helvetica Neue', Arial, sans-serif;
	background-color: #000000;
	color: #808080;
	line-height: 1.6;
	overflow-x: hidden;
	height: 100%;
}

/* FORZA PORTRAIT SU MOBILE */
@media screen and (max-width: 1279px) and (orientation: landscape) {
    body::before {
        content: "Please rotate your device to portrait mode";
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #000;
        color: #808080;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 24px;
        z-index: 9999;
        text-align: center;
        padding: 20px;
    }
    
    #header,
    #hero,
    #news-ticker,
    #market-ticker,
    .content-section,
    #footer {
        display: none !important;
    }
}

a {
	text-decoration: none;
	color: inherit;
	transition: all 0.3s ease;
}

/* ============================================================================
   FORM STATUS MESSAGES - Success & Error
   ============================================================================ */

.form-status {
	display: none;
	padding: 15px;
	margin-bottom: 20px;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 500;
	text-align: center;
	line-height: 1.6;
}

.form-status.success {
	background-color: rgba(0, 176, 97, 0.1);
	border: 2px solid #00b061;
	color: #00b061;
}

.form-status.error {
	background-color: rgba(255, 59, 48, 0.1);
	border: 2px solid #ff3b30;
	color: #ff3b30;
}

/* Fine Form Status */

ul {
	list-style: none;
}

.container {
	max-width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}

/* ============================================================================
   STICKY HEADER CONTAINER - Si adatta automaticamente all'altezza
   ============================================================================ */

.sticky-header-container {
	position: sticky;
	top: 0px;  
	left: 0;
	width: 100%;
	z-index: 1000;
	background-color: #000000;
}

/* Header */
#header {
	width: 100%;
	background-color: #000000;
	border-bottom: 1px solid #808080;
}

.header-content {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 24px 20px;
	min-height: 60px;
	position: relative;
}

/* Logo - visibile su mobile/tablet, nascosto su desktop */
.logo {
	display: none;
}

.logo a {
	display: block;
	line-height: 0;
}

.logo img {
	height: 70px;
	width: auto;
	display: block;
}

/* Navigation */
.main-nav {
	margin: 0;
}

.main-nav ul {
	display: flex;
	align-items: center;
	gap: 40px;
}

.main-nav a {
	color: #808080;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 1px;
	text-transform: uppercase;
	transition: color 0.3s ease;
}

.main-nav a:hover {
	color: #ffffff;
}

/* Contact Button */
.btn-contact {
	background-color: #808080;
	color: #000000 !important;
	padding: 2px 6px;
	border-radius: 3px;
	display: inline-block;
	text-align: center;
	transition: all 0.3s ease;
	white-space: nowrap;
	font-size: 12px;
	line-height: 1.3;
}

.btn-contact .subtitle {
	display: block;
	font-size: 9px;
	font-weight: 400;
	letter-spacing: 0.5px;
	margin-top: 1px;
}



.btn-contact:hover .subtitle {
	color: #ffffff;
}


/* Nascondi hamburger su desktop */
@media screen and (min-width: 767px) {
	.hamburger-menu {
		display: none !important;
	}

	.x-icon-mobile {
		display: none !important;
	}
}


/* MOBILE: Hamburger menu in alto a destra */
@media screen and (max-width: 767px) {
    /* LOGO MOBILE - CENTRATO E PIÙ GRANDE */
    .logo {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
        margin-top: 8px !important;
    }
    
    .logo a {
        pointer-events: auto !important;
        cursor: pointer !important;
    }
    
    .logo img {
        height: 65px !important;
        width: auto !important;
    }
}

/* Market Ticker - Altezza si adatta automaticamente */
#market-ticker {
	width: 100%;
	height: 40px;
	background-color: transparent;
	overflow: hidden;
	display: flex;
	align-items: center;
	position: relative;
}

.market-ticker-content {
	position: relative;
	width: 100%;
	display: flex;
	align-items: center;
	height: 100%;
}

/* Logo fisso Bloomberg-style - SOLO DESKTOP >= 1025px */
@media screen and (min-width: 1441px) {
	#fixed-logo-overlay {
		display: flex;
		top: 71px;
		align-items: center;
		justify-content: flex-start;
		position: fixed;
		left: -220px;
		width: 200px;
		height: 63px;
		background: #000000;
		z-index: 10000;
		pointer-events: none;
		padding-left: 5px;
		opacity: 0;
		transition: left 3s ease-in, opacity 3s ease-in;
	}
	
	#fixed-logo-overlay.active {
		left: 0;
		opacity: 1;
	}
	
	#fixed-logo-overlay img {
		height: 40px;
		width: auto;
		display: block;
		opacity: 1;
	}
	
	#fixed-logo-overlay::before {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		width: 220px;
		height: 40px;
		background: linear-gradient(to right, #000000 85%, rgba(0,0,0,0) 100%);
		z-index: -1;
		pointer-events: none;
	}
	
	.market-ticker-scroll {
		padding-left: 230px;
	}
}

/* MOBILE & TABLET - Logo outside market ticker */
@media screen and (max-width: 1440px) {
	#fixed-logo-overlay {
		display: none;
	}
	
	#market-ticker {
		position: relative;
		z-index: 1;
	}
	
	.market-ticker-logo {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 2;
		transition: opacity 3s ease-out;
		pointer-events: none;
	}
	
	.market-ticker-logo img {
		height: 33px;
		width: auto;
		display: block;
	}
	
	.market-ticker-logo.fade-out {
		opacity: 0;
	}
	
	/* Ensure market content is visible but starts faded */
	.market-ticker-scroll {
		opacity: 0;
		transition: opacity 1.5s ease-in;
	}
	
	.market-ticker-scroll.fade-in {
		opacity: 1;
	}
	
	/* Remove the loading overlay styles for mobile/tablet */
	.loading-logo-overlay {
		display: none !important;
	}
}

/* Performance optimization for tickers */
#market-ticker .market-ticker-scroll,
#news-ticker .ticker-scroll {
	will-change: transform;
	transform: translateZ(0);
	backface-visibility: hidden;
	perspective: 1000px;
}

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce) {
	#market-ticker .market-ticker-scroll,
	#news-ticker .ticker-scroll {
		transition: none !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

.market-ticker-scroll {
	white-space: nowrap;
	display: block;
	line-height: 1.2;
	height: 40px;
}

.market-ticker-scroll * {
	display: inline-block !important;
	vertical-align: middle !important;
}

.market-loading-wrapper {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	width: 100% !important;
	height: 40px !important;
}

.market-loading-wrapper img {
	height: 45px !important;
	display: block !important;
}

.market-item {
	display: inline-block !important;
	margin: 0;
	padding: 0 20px;
	vertical-align: middle !important;
}

.market-block {
	display: inline-flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	vertical-align: middle !important;
	line-height: 1;
	text-align: center;
	min-height: 36px;
	gap: 2px;
	flex-wrap: nowrap !important;
	max-width: 200px;
	padding-top: 3px;
}

.market-block > * {
	flex-shrink: 0 !important;
}

.market-line1,
.market-line2 {
	display: block !important;
	white-space: nowrap;
	width: 100%;
	text-align: center;
	min-height: 17px;
}

/* FORCE HELVETICA NEUE FOR ALL MARKET TICKER ELEMENTS */
.market-symbol,
.market-last,
.market-change,
.market-pct,
.market-separator,
#market-ticker .market-ticker-scroll .market-symbol,
#market-ticker .market-ticker-scroll .market-last,
#market-ticker .market-ticker-scroll .market-change,
#market-ticker .market-ticker-scroll .market-pct,
#market-ticker .market-ticker-scroll .market-separator {
	display: inline !important;
	vertical-align: baseline !important;
	font-family: 'Helvetica Neue', Arial, sans-serif !important;
	font-size: 14px;
	font-weight: 500;
	margin: 0;
	padding: 0;
}

.market-symbol,
#market-ticker .market-ticker-scroll .market-symbol {
	font-size: 14px;
	font-weight: 700;
	color: #808080;
	letter-spacing: 0.5px;
	margin-right: 8px;
	text-shadow: 0.5px 0 0 #808080;
}

.market-last,
#market-ticker .market-ticker-scroll .market-last {
	font-size: 14px;
	font-weight: 400;
	color: #ffffff;
}

.market-change,
#market-ticker .market-ticker-scroll .market-change {
	font-size: 14px;
	font-weight: 700;
	margin-right: 5px;
}

.market-pct,
#market-ticker .market-ticker-scroll .market-pct {
	font-size: 14px;
	font-weight: 700;
}

.market-positive {
	color: #00b061;
}

.market-negative {
	color: #e74c3c;
}

.market-neutral {
	color: #808080;
}

.market-separator,
#market-ticker .market-ticker-scroll .market-separator {
	font-size: 14px;
	color: #808080;
	margin: 0 25px;
	vertical-align: middle !important;
}

/* News Ticker */
#news-ticker {
	width: 100%;
	height: 24px;
	background-color: #000000;
	border-bottom: 1px solid #808080;
	overflow: hidden;
	display: flex;
	align-items: center;
}

.ticker-content {
	position: relative;
	width: 100%;
	display: flex;
	align-items: center;
	height: 100%;
}

.ticker-scroll {
	white-space: nowrap;
	display: block;
	line-height: 24px;
	height: 24px;
}

.ticker-scroll * {
	display: inline-block !important;
	vertical-align: middle !important;
}

.news-item {
	display: inline-block !important;
	margin: 0;
	padding: 0;
}

.news-time,
.news-title,
.news-separator {
	display: inline-block !important;
	vertical-align: middle !important;
	font-family: 'Helvetica Neue', Arial, sans-serif;
	margin: 0;
	padding: 0;
}

.news-time {
	font-size: 15px;
	font-weight: 700;
	color: #F08C32;
	letter-spacing: 0.5px;
}

.news-title {
	font-size: 15px;
	font-weight: 400;
	color: #FFFFFF;
	margin-left: 5px;
}

.news-separator {
	font-size: 15px;
	color: #ffffff;
	margin: 0 15px;
}

/* Hero Section */
#hero {
	min-height: 100vh;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	text-align: center;
	padding: 130px 20px 60px 20px;
}

.hero-content {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}

.hero-content h1 {
	font-size: 56px;
	color: #808080;
	line-height: 1.3;
	letter-spacing: -1px;
	text-align: center;
	margin: 0;
	font-family: 'Palatino Linotype', 'Palatino', 'Georgia', serif;
	font-weight: 300;
}

/* Content Sections */
.content-section {
	min-height: 100vh;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 80px 20px;
	border-top: 1px solid #1a1a1a;
}

.content-section h2 {
	font-size: 48px;
	color: #808080;
	margin-bottom: 30px;
	font-weight: 300;
}

.content-section p {
	font-size: 18px;
	color: #808080;
}

/* Footer */
#footer {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #000000;
	padding: 24px 0;
	z-index: 999;
}

#footer p {
	font-family: Verdana, sans-serif;
	font-size: 8px;
	color: #808080;
	text-align: center;
	margin: 0;
	line-height: 1.4;
}

/* TABLET SPECIFIC UPDATES: 768px - 1440px */
@media screen and (min-width: 768px) and (max-width: 1440px) {
    /* Mobile auth button - LARGER for tablet */
    .mobile-auth-button {
        min-width: 76px !important;
    }
    
    .mobile-auth-button .auth-line {
        font-size: 11px !important;
    }
    
    /* Custom hamburger - LARGER bars for tablet */
    .custom-hamburger .bar {
        width: 38px !important;
    }
    
    .custom-hamburger .bar:nth-child(1) { transform: translateY(-9px) !important; }
    .custom-hamburger .bar:nth-child(2) { transform: translateY(0) !important; }
    .custom-hamburger .bar:nth-child(3) { transform: translateY(9px) !important; }
}




/* ============================================================================
   RESPONSIVE - 3 BREAKPOINT UNIVERSALI
   ============================================================================ */

/* DESKTOP >= 1280px */
@media screen and (min-width: 1441px) {
	.logo {
		display: none;
	}
}

/* TABLET: 768px - 1279px */
@media screen and (min-width: 768px) and (max-width: 1440px) {
	.header-content {
		flex-direction: column;
		gap: 12px;
		padding: 12px 20px;
	}
	
	.logo {
		display: flex;
		justify-content: center;
		width: 100%;
	}
	
	.logo img {
		height: 70px;
	}
	
	.main-nav {
		width: 100%;
	}
	
	.main-nav ul {
		justify-content: center;
		gap: 50px;
	}
	
	.hero-content h1 {
		font-size: 42px;
	}
	
	#hero {
		padding: 140px 20px 60px 20px;
	}
	
	.market-symbol,
	.market-last,
	.market-change,
	.market-pct,
	#market-ticker .market-ticker-scroll .market-symbol,
	#market-ticker .market-ticker-scroll .market-last,
	#market-ticker .market-ticker-scroll .market-change,
	#market-ticker .market-ticker-scroll .market-pct {
		font-size: 12px !important;
	}
	
	.news-time,
	.news-title {
		font-size: 13px;
	}
	
	.site-footer {
    padding: 2px 20px;
	}

	
}

/* MOBILE < 768px */
@media screen and (max-width: 767px) {
    .header-content {
        flex-direction: column;
        gap: 8px;
        padding: 8px 15px;
        min-height: 85px !important;
    }
    
    .logo {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
        margin-top: 8px !important;
    }
    
    .logo img {
        height: 48px !important;
        width: auto !important;
    }
    
    .main-nav {
        width: 100%;
        display: none !important; /* Nascondi nav desktop su mobile */
    }
    
    .main-nav ul {
        flex-wrap: nowrap;
        justify-content: center;
        gap: 35px;
    }
    
    .main-nav a {
        font-size: 10px;
        white-space: nowrap;
    }
    
    .btn-contact {
        padding: 4px 8px;
        font-size: 8px;
    }
    
    .btn-contact .subtitle {
        font-size: 5px;
    }
	
	.hero-content h1 {
		font-size: 24px;
		line-height: 1.4;
	}
	
	.hero-content h1 br {
		display: inline;
	}
	
	.content-section h2 {
        font-size: 24px !important;
    }
	
	#hero {
		padding: 105px 15px 40px 15px !important;
	}
	
	#market-ticker {
		height: 36px;
	}
	
	.market-symbol,
	.market-last,
	.market-change,
	.market-pct,
	#market-ticker .market-ticker-scroll .market-symbol,
	#market-ticker .market-ticker-scroll .market-last,
	#market-ticker .market-ticker-scroll .market-change,
	#market-ticker .market-ticker-scroll .market-pct {
		font-size: 10px !important;
	}
	
	#news-ticker {
		height: 20px;
	}
	
	.news-time,
	.news-title {
		font-size: 10px !important;
	}
	
	.news-separator {
		margin: 0 5px !important;
		font-size: 10px !important;
	}
	
	#footer p {
		font-size: 7px !important;
	}
}

/* MOBILE < 768px - HIGH SPECIFICITY */
@media screen and (max-width: 767px) {
    #market-ticker-scroll .market-item {
        padding: 0 5px !important;
    }
    
    #market-ticker-scroll .market-separator {
        margin: 0 5px !important;
		font-size: 10px !important;
    }
    
    #market-ticker-scroll .market-symbol,
    #market-ticker-scroll .market-last,
    #market-ticker-scroll .market-change,
    #market-ticker-scroll .market-pct {
        font-size: 10px !important;
		font-family: 'Helvetica Neue', Arial, sans-serif !important;
    }
    
    #market-ticker-scroll .market-symbol {
        font-weight: 800 !important;
    }
	
    #market-ticker-scroll .market-block {
        gap: 0px !important;
        line-height: 0.9 !important;
        min-height: 28px !important;
        padding-top: 2px !important;
    }
    
    #market-ticker-scroll .market-change,
    #market-ticker-scroll .market-pct {
        margin-top: -2px !important;
        display: inline-block !important;
    }
}
@media screen and (min-width: 480px) and (max-width: 767px) {
    .hamburger-icon span {
        height: 3px !important;
    }
}


/* EXTRA SMALL < 480px */
@media screen and (max-width: 479px) {
    /* Hamburger più piccolo su schermi piccoli */
    .hamburger-menu {
        top: 10px !important;
        right: 12px !important;
        width: 30px !important; /* Leggermente più piccolo */
        height: 30px !important;
    }
    
    .hamburger-icon span {
        width: 26px !important;
        height: 2.5px !important;
        margin: 2.5px 0 !important;
    }
    
    /* ICONA X - SOTTO HAMBURGER, STESSA LARGHEZZA */
    .x-icon-mobile {
        top: 50px !important;
        right: 12px !important; /* STESSA POSIZIONE ORIZZONTALE */
        width: 30px !important; /* STESSA LARGHEZZA DELL'HAMBURGER */
        height: 22px !important;
    }
    
    .x-icon-mobile img {
        width: 22px !important;
        height: 22px !important;
    }
    
    .logo img {
        height: 55px !important;
    }
    
    .logo {
        margin-top: 6px !important;
    }
    
    .header-content {
        min-height: 75px !important;
        padding: 6px 10px !important;
    }
    
    .hero-content h1 {
        font-size: 20px !important;
        line-height: 1.35 !important;
    }
    
    #hero {
        padding: 105px 15px 40px 15px !important;
    }
}

/* DESKTOP & TABLET - Header + Market Ticker + News Ticker */
@media screen and (min-width: 768px) {
    html {
        scroll-padding-top: 76px;
    }
}

/* MOBILE - Smaller header heights */
@media screen and (max-width: 767px) {
    html {
        scroll-padding-top: 110px;
    }
}

/* EXTREME SPECIFICITY FOR MOBILE MARKET TICKER FONT */
@media screen and (max-width: 767px) {
    #market-ticker-scroll span.market-symbol,
    #market-ticker-scroll span.market-last,
    #market-ticker-scroll span.market-change,
    #market-ticker-scroll span.market-pct,
    #market-ticker-scroll span.market-separator,
    #market-ticker-scroll .market-block span,
    #market-ticker-scroll .market-line1 span,
    #market-ticker-scroll .market-line2 span {
        font-family: 'Helvetica Neue', Arial, sans-serif !important;
    }
    
    #market-ticker-scroll span.market-symbol {
        font-weight: 800 !important;
    }
}

/* ============================================================================
   WORDPRESS BLOG CONTENT STYLES - FINAL FIX
   ============================================================================ */
.site-content {
    max-width: 1240px;
    margin: 40px auto;
    padding: 0 20px;
    position: relative;
}

.main-content {
    max-width: 900px;
    margin: 24px auto;
}

.post {
    margin-bottom: 24px;
    padding: 30px;
    background: #ffffff;
    border-radius: 0px;
}

.post-title {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 15px;
    line-height: 1.3;
    color: #000;
}

.post-title a {
    color: #000;
}

.post-title a:hover {
    color: #0066cc;
}

.post-meta {
    color: #666;
    font-size: 14px;
    margin-bottom: 20px;
}

.post-content {
    font-size: 18px;
    line-height: 1.8;
    color: #333;
}

.read-more {
    display: inline-block;
    background: #000;
    color: #fff;
    padding: 12px 24px;
    border-radius: 4px;
    font-weight: 600;
    margin-top: 20px;
}

/* SIDEBAR - FIXED TO RIGHT */
.sidebar {
    position: fixed;
    right: 20px;
    top: 124px;
    width: 300px;
    background: #f5f5f5;
    padding: 30px;
    border-radius: 8px;
    max-height: calc(100vh - 200px);
    overflow-y: auto;
    
    /* Hide scrollbar but keep functionality */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
}
/* TABLET: 768px - 1440px - Sidebar on the side, content properly contained */
@media screen and (min-width: 768px) and (max-width: 1440px) {
    .site-content {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 220px !important; /* minmax(0, 1fr) prevents overflow */
        gap: 30px !important;
        max-width: 100% !important;
        width: 100% !important;
        margin: 40px auto !important;
        padding: 0 30px !important;
        box-sizing: border-box !important;
    }
    
    .main-content {
        max-width: 100% !important;
        width: 100% !important;
        min-width: 0 !important; /* Crucial: allows content to shrink */
        margin: 24px 0 !important;
        padding: 0 !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }
    
    /* Force images and other elements to stay within bounds */
    .main-content img,
    .main-content .post-thumbnail img,
    .main-content figure img {
        max-width: 100% !important;
        height: auto !important;
    }
    
    .post {
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }
    
    .post-content {
        max-width: 100% !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
        font-size: 20px !important;
        line-height: 1.85 !important;
    }
    
    .post-title {
        font-size: 34px !important;
    }
    
    .post-meta {
        font-size: 15px !important;
    }
    
    .sidebar {
        position: relative !important;
        right: auto !important;
        top: auto !important;
        width: 220px !important;
        min-width: 220px !important;
        max-width: 220px !important;
        margin-top: 24px !important;
        max-height: calc(100vh - 200px) !important;
        overflow-y: auto !important;
        padding: 20px !important;
        font-size: 14px !important;
        flex-shrink: 0 !important;
    }
    
    .sidebar .widget-title,
    .sidebar .widget h2 {
        font-size: 16px !important;
    }
    
    .sidebar .widget ul li {
        font-size: 13px !important;
    }
}




/* MOBILE < 768px - Sidebar below content */
@media screen and (max-width: 767px) {
    .sidebar {
        position: relative !important;
        right: auto !important;
        top: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 30px !important;
        max-height: none !important;
        overflow-y: visible !important;
        padding: 20px !important;
    }
    
    .widget {
        margin-bottom: 30px !important;
    }
    
    .widget-title,
    .widget h2 {
        font-size: 18px !important;
    }
}
.sidebar::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}
.widget {
    margin-bottom: 40px;
}

.widget-title,
.widget h2 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 20px;
    color: #000;
}

.widget ul {
    list-style: none;
    padding: 0;
}

.widget ul li {
    margin-bottom: 10px;
}

.widget ul li a {
    color: #333;
}

.widget ul li a:hover {
    color: #0066cc;
}

.hierarchical-archive ul {
    padding-left: 20px;
}

.hierarchical-archive > ul {
    padding-left: 0;
}

/* SMALL TABLET: 768px - 1024px - Reduce sidebar further */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    .site-content {
        grid-template-columns: minmax(0, 1fr) 180px !important;
        gap: 20px !important;
        padding: 0 20px !important;
    }
    
    .sidebar {
        width: 180px !important;
        min-width: 180px !important;
        max-width: 180px !important;
        padding: 15px !important;
    }
    
    .post {
        padding: 20px !important;
    }
}


.site-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #000;
    color: #808080;
    padding: 24px 0;
    border-top: 1px solid #808080;
    z-index: 999;
}

.site-footer p {
    font-family: Verdana, sans-serif;
    font-size: 10px;
    color: #808080;
    text-align: center;
    margin: 0;
    line-height: 1.4;
}

/* Nascondi "Follow us" e "Privacy" nel footer SOLO su MOBILE (< 768px) */
@media screen and (max-width: 767px) {
    .site-footer .footer-privacy,
    .site-footer .footer-follow {
        display: none !important;
    }
}

/* TABLET + DESKTOP (≥768px): Mostra entrambi con hover verde */
@media screen and (min-width: 768px) {
    .site-footer .footer-privacy,
    .site-footer .footer-follow {
        display: block !important;
    }
    .site-footer .footer-follow a,
    .site-footer .footer-privacy a {
        transition: color 0.3s ease;
    }
    .site-footer .footer-follow a:hover,
    .site-footer .footer-privacy a:hover {
        color: #00b061 !important;
    }
}

/* TABLET (768-1440px): Margini ridotti */
@media screen and (min-width: 768px) and (max-width: 1440px) {
    .site-footer .footer-privacy {
        left: 20px !important;
    }
    .site-footer .footer-follow {
        right: 20px !important;
    }
}
@media (max-width: 768px) {
    .site-content {
        grid-template-columns: 1fr;
    }
    
    /* MOBILE BLOG CONTENT - RIDUZIONE TESTI */
    .post-title {
        font-size: 21px !important;
	    padding: 0px 0px !important;
    }
	
    .archive-title {
        font-size: 20px !important;
    }
    
    .post-meta {
        font-size: 11px !important;
    }
    
    .post-content {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }
    
    .read-more {
        padding: 8px 16px !important;
        font-size: 12px !important;
    }
    
    .widget-title {
        font-size: 16px !important;
    }
    
    .widget ul li {
        font-size: 13px !important;
    }
}

/* Ensure site logo shows in blog */
.site-logo {
    display: block !important;
}

.site-logo img {
    height: 120px;
}

/* FORCE LOGO VISIBILITY IN BLOG */
.logo {
    display: flex !important;
    justify-content: center;
}

/* Logo Bloomberg style - size adjustment */
#fixed-logo-overlay img {
    height: 40px !important;
}

@media screen and (min-width: 1441px) {
    .header-content {
        justify-content: space-between !important;
    }
    
    .logo {
        display: flex !important;
    }
}

/* Fix header logo - center it, not left */
.header-content {
    justify-content: center !important;
}

/* Hide logo on desktop in header (redundant with Bloomberg logo) */

/* Fix navigation - move to right on desktop */
@media screen and (min-width: 1441px) {
    .header-content {
        justify-content: flex-end !important;
        padding-right: 40px;
    }
    
    .main-nav {
        margin-left: auto;
    }

	
}



/* ============================================================================
   LOGO FIX - REGOLA UNICA E DEFINITIVA CON SFONDO NERO
   ============================================================================ */

/* Desktop >= 1441px: Logo visibile, centrato, con sfondo nero esteso */
@media screen and (min-width: 1441px) {
    .logo {
        display: flex !important;
        position: absolute !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: auto !important;
        height: auto !important;
        background: #000000 !important; /* ← SFONDO NERO */
        margin: 9px auto auto auto !important;
        z-index: 10 !important;
    }
    
    .logo img {
        height: 66px !important;
        width: auto !important;
        display: block !important;
        
    }
    
    /* Fix trasparenza logo */
    .logo, .logo a, .logo img {
        opacity: 1 !important;
        filter: none !important;
    }
}

/* Mobile < 1025px: Logo visibile, centrato, più grande */
@media screen and (max-width: 1024px) {
    .logo {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
    }
    
    .logo img {
        height: 52px !important;
    }
}

/* Fix trasparenza TUTTI i container del logo */
#header, .header-content, .container, .logo, .logo a, .logo img {
    opacity: 1 !important;
    filter: none !important;
}

/* MOBILE < 768px - FIX FOOTER OVERFLOW */
@media screen and (max-width: 767px) {
    #footer {
        overflow-x: hidden !important;
    }
    
    html body #footer p,
    html body .footer-container p,
    html body .site-footer p {
        font-size: min(2vw, 7px) !important;
        white-space: nowrap !important;
        overflow: visible !important;
        padding: 0 5px !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
        line-height: 1 !important;
        display: block !important;
    }
}

/* RIDUZIONE SPAZIO NERO SOTTO TICKERS SU MOBILE */
@media screen and (max-width: 767px) {
	#hero {
		padding: 105px 15px 40px 15px !important;
	}
	
	.site-content {
		margin: 20px auto !important;
		padding-top: 0 !important;
	}
	    .sticky-header-container {
        top: 0px !important;
    }
	
}

/* ============================================================================
   ACCOUNT LINK UNIFICATO - DESKTOP E MOBILE
   ============================================================================ */

/* Link principale per desktop */
.main-nav .account-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    line-height: 1;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
}

.main-nav .account-link .account-label {
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    line-height: 16px;
    white-space: nowrap;
    display: block;
}

.main-nav .account-link .user-name {
    color: #00b061;
    font-size: 14px;
    font-weight: 400;
    line-height: 14px;
    margin-top: 2px;
    white-space: nowrap;
    display: block;
}

/* Link per il menu hamburger mobile */
.mobile-nav .account-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    line-height: 1;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
}

.mobile-nav .account-link .account-label {
    color: #ffffff;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    display: block;
}

.mobile-nav .account-link .user-name {
    color: #00b061;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
    margin-top: 6px;
    white-space: nowrap;
    display: block;
}

/* Make ACCOUNT/LOGIN link responsive - MOBILE ONLY */
@media screen and (max-width: 767px) {
    .main-nav {
        display: none !important;
    }
}
/* ============================================================================
   DESKTOP ACCOUNT USERNAME POSITIONING - STILE MOBILE
   ============================================================================ */

/* SOLO DESKTOP - Usa lo stesso stile di mobile ma in alto a destra */
@media screen and (min-width: 768px) {
    .account-item {
        position: relative;
        display: inline-block;
        vertical-align: top;
    }
    
    .main-nav ul li a.account-link {
        display: inline-block !important;
        position: relative;
        line-height: 16px !important;
    }
    
    .main-nav ul li a.account-link .account-label {
        color: #ffffff !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 16px !important;
        display: inline-block !important;
        vertical-align: top !important;
    }
    
    .main-nav ul li a.account-link .user-name {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        color: #00b061 !important;
        font-size: 11px !important;
        font-weight: 400 !important;
        line-height: 1 !important;
        text-align: center !important;
        margin-top: 2px !important;
        white-space: nowrap !important;
    }
}
/* FORZA POSIZIONE HAMBURGER SU MOBILE */
@media screen and (max-width: 767px) {
    body .hamburger-menu,
    html body .hamburger-menu,
    body .hamburger-menu.active {
        right: 20px !important;
        left: auto !important;
    }
}
/* ============================================================================
   FIX BOTTONE GO TO BLOG - TESTO BIANCO, BACKGROUND VERDE
   ============================================================================ */

/* Bottone GO TO BLOG - Stile finale corretto */
.rrts-go-to-blog-btn {
    width: 100%;
    padding: clamp(12px, 1.5vh, 16px);
    background: #00b061 !important;
    border: none !important;
    border-radius: 4px;
    color: #ffffff !important;
    font-size: clamp(14px, 1.4vh, 16px);
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: clamp(20px, 2.5vh, 30px);
    text-align: center;
    display: block;
    text-decoration: none !important;
}

.rrts-go-to-blog-btn:hover {
    background: #00ff88 !important;
    color: #000000 !important;
}

/* Forza i colori nell'auth container */
.auth-container .rrts-go-to-blog-btn,
.auth-wrapper .rrts-go-to-blog-btn,
.page-template-page-auth .rrts-go-to-blog-btn,
#rrts-go-to-blog-btn {
    background: #00b061 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.auth-container .rrts-go-to-blog-btn:hover,
.auth-wrapper .rrts-go-to-blog-btn:hover,
.page-template-page-auth .rrts-go-to-blog-btn:hover,
#rrts-go-to-blog-btn:hover {
    background: #00ff88 !important;
    color: #000000 !important;
}

/* FIX BODY NEGATIVO - SEMPRE */
body {
    margin-top: 0 !important;
    top: 0 !important;
    position: relative !important;
}

/* ============================================================================
   FIX PAYMENT HISTORY TABLE - MOBILE RESPONSIVE
   Basato su HTML reale: #pms-payment-history.pms-payments-table
   ============================================================================ */

/* MOBILE: Tabella Payment History responsive (0-767px) */
@media screen and (max-width: 767px) {
    
    /* TABELLA: Rimuovi margini inline, larghezza piena, previeni overflow */
    #pms-payment-history,
    table.pms-payments-table {
        width: 100% !important;
        margin: 0 !important;
        display: block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    
    /* HEADER: Font ridotto, padding compatto */
    #pms-payment-history thead th,
    table.pms-payments-table thead th {
        font-size: 9px !important;
        padding: 8px 4px !important;
        white-space: nowrap !important;
    }
    
    /* CELLE: Font ridotto, padding compatto */
    #pms-payment-history tbody td,
    table.pms-payments-table tbody td {
        padding: 8px 4px !important;
    }
    
    /* DATA/TIME: Più compatta */
    #pms-payment-history .pms-payment-date,
    table.pms-payments-table .pms-payment-date {
        padding: 8px 2px !important;
    }
    
    #pms-payment-history .pms-payment-date div,
    table.pms-payments-table .pms-payment-date div {
        font-size: 9px !important;
        line-height: 1.2 !important;
    }
    
    #pms-payment-history .pms-payment-date div div,
    table.pms-payments-table .pms-payment-date div div {
        font-size: 8px !important;
    }
    
    /* SUBSCRIPTION: Font ridotto */
    #pms-payment-history .pms-payment-subscription-plan span,
    table.pms-payments-table .pms-payment-subscription-plan span {
        font-size: 10px !important;
    }
    
    /* AMOUNT: Font ridotto */
    #pms-payment-history .pms-payment-amount span,
    table.pms-payments-table .pms-payment-amount span {
        font-size: 10px !important;
    }
    
    /* STATUS BADGE: Più piccolo */
    #pms-payment-history .payment-status,
    table.pms-payments-table .payment-status {
        font-size: 8px !important;
        padding: 3px 6px !important;
        letter-spacing: 0.3px !important;
    }
}

/* TABLET: Dimensioni intermedie (768-1024px) */
@media screen and (min-width: 768px) and (max-width: 1440px) {
    
    #pms-payment-history,
    table.pms-payments-table {
        width: 95% !important;
        margin: 0 auto !important;
    }
    
    #pms-payment-history thead th,
    table.pms-payments-table thead th {
        font-size: 11px !important;
        padding: 10px 8px !important;
    }
    
    #pms-payment-history .pms-payment-subscription-plan span,
    table.pms-payments-table .pms-payment-subscription-plan span,
    #pms-payment-history .pms-payment-amount span,
    table.pms-payments-table .pms-payment-amount span {
        font-size: 12px !important;
    }
    
    #pms-payment-history .payment-status,
    table.pms-payments-table .payment-status {
        font-size: 10px !important;
    }
}

/* ============================================================================
   TABLET BREAKPOINT: 768-1440px
   iPad (tutti i modelli), Android tablet, Surface portrait
   ============================================================================
   
   OBIETTIVO: Usa layout MOBILE (hamburger menu + mobile auth button)
   invece del layout desktop che si rompe su questi device.
   
   Device target:
   - iPad Mini (768x1024)
   - iPad Air/Pro 11" (820x1180)
   - iPad Pro 13" portrait (1024x1366)
   - Samsung Tab A7 Lite (800x1280)
   - Surface Go portrait (800x1280)
   
   ============================================================================ */

@media screen and (min-width: 768px) and (max-width: 1440px) {
    
    /* NASCONDI MENU DESKTOP */
    .main-nav {
        display: none !important;
    }
    
    /* MOSTRA HAMBURGER MENU (come mobile) */
    .hamburger-menu {
        display: flex !important;
    }
    
    /* MOSTRA MOBILE AUTH BUTTON (come mobile) */
    .mobile-auth-button {
        display: flex !important;
    }
    
    /* LOGO: Visibile e centrato (come mobile) */
    .logo {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
    }
    
    .logo a {
        pointer-events: auto !important;
        cursor: pointer !important;
    }
    
    .logo img {
        height: 52px !important;
    }
    
    /* FIXED LOGO OVERLAY: Nascosto (come mobile) */
    #fixed-logo-overlay {
        display: none !important;
    }
    
    /* STICKY HEADER: Top 0 (come mobile) */
    .sticky-header-container {
        top: 0px !important;
    }
    
    /* HERO SECTION: Padding ridotto (come mobile) */
    #hero {
        padding: 105px 15px 40px 15px !important;
    }
    
    .site-content {
        margin: 20px auto !important;
        padding-top: 0 !important;
    }
    
    /* FOOTER: Fix overflow (come mobile) */
    #footer {
        overflow-x: hidden !important;
    }
}
/* MOBILE < 767px - FORZA SPESSORE 3PX */
@media screen and (max-width: 767px) {
    .hamburger-menu .hamburger-icon span,
    .hamburger-icon span {
        height: 3px !important;
        min-height: 3px !important;
        max-height: 3px !important;
    }
    /* SPOSTA TUTTA L'ICONA HAMBURGER IN BASSO DI 2PX */
    .hamburger-menu,
    .hamburger-icon {
        transform: translateY(2px) !important;
    }
	
/* ============================================================================
   VIEW PLANS LINK MOBILE FIX - Mobile < 767px
   ============================================================================ */

	@media screen and (max-width: 767px) {
		/* Allunga pannello verso il basso */
		div[style*="background-color: #1a1a1a"] {
			padding: 12px 14px 28px 14px !important;
		}
		
		/* Titolo - bottoni con più spazio */
		p[style*="color: #cccccc"] {
			font-size: 15px !important;
			margin: 10px 0 18px 0 !important;
		}
		
		/* View Plans più in basso, quasi al bordo - applies to ALL panels (Premium, Exclusive, and regular) */
		div[style*="text-align: right; margin-top: -15px;"],
		div[style*="text-align: right; margin-top: -20px;"] {
			margin-top: 22px !important;
			text-align: right !important;
			padding-right: 4px !important;
		}
		
		/* Link più in basso possibile - applies to ALL "View Plans" links */
		a.view-plans-link,
		a[href*="pricing"][style*="color: #888888"] {
			font-size: 12px !important;
			margin-bottom: 0 !important;
		}
	}

/* ============================================================================
   VIEW PLANS LINK TABLET FIX - Tablet 768-1440px
   ============================================================================ */

	@media screen and (min-width: 768px) and (max-width: 1440px) {
		/* Extend panel bottom padding - target by background color */
		div[style*="background-color: #1a1a1a"][style*="padding"] {
			padding-bottom: 9px !important;
		}
		
		/* Fix title spacing - target p inside dark panel */
		div[style*="background-color: #1a1a1a"] > p[style*="color: #cccccc"] {
			margin: 10px 0 18px 0 !important;
			font-size: 15px !important;
		}
		
		/* Fix View Plans div - target by text-align AND margin-top together */
		div[style*="background-color: #1a1a1a"] > div[style*="text-align: right"][style*="margin-top"] {
			margin-top: 8px !important;
			margin-bottom: 0 !important;
			padding-right: 6px !important;
		}
		
		/* Fix View Plans link - target inside right-aligned div */
		div[style*="background-color: #1a1a1a"] > div[style*="text-align: right"] a[href*="pricing"] {
			font-size: 12px !important;
			margin-bottom: 0 !important;
		}
	}
}

/* ============================================================================
   RESET PASSWORD MESSAGES - CLEAR NAMES
   ============================================================================ */
/* 1. ERROR: "The entered email wasn't found in our database. Please try again." */
.pms_field-errors-wrapper {
    /* RED BOX STYLING */
    background-color: rgba(255, 68, 68, 0.08) !important;
    border: 2px solid #ff4444 !important;
    border-radius: 6px !important;
    padding: 12px 20px !important;
    text-align: center !important;
    margin: 20px 0 !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.pms_field-errors-wrapper p {
    /* RED TEXT INSIDE ERROR BOX */
    color: #ff4444 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    margin: 0 !important;
    text-align: center !important;
    white-space: pre-line !important; /* Forces text to split into 2 lines */
}
/* 2. REQUEST SUCCESS: "SUCCESS! Please check your email for the confirmation link." */
.pms_success-messages-wrapper {
    /* GREEN BOX STYLING */
    background-color: rgba(0, 176, 97, 0.08) !important;
    border: 2px solid #00b061 !important;
    border-radius: 6px !important;
    text-align: center !important;
    margin: 20px 0 !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.pms_success-messages-wrapper p {
    /* GREEN TEXT INSIDE REQUEST SUCCESS BOX */
    color: #00b061 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    margin: 0 !important;
    text-align: center !important;
    line-height: 1.3 !important;
}
/* "SUCCESS!" title inside Request Success box */
.pms_success-messages-wrapper .pms-notice-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #00b061 !important;
    margin-bottom: 3px !important;
    display: block !important;
}
/* 3. CHANGE SUCCESS: "Your password was successfully changed!" */
#pms_new_password_form + p,
.pms-form + p {
    /* REMOVE EXTRA BOX - text only inside green box */
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #00b061 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-align: center !important;
    display: block !important;
}
/* REMOVE ANY INNER BOXES FOR ALL MESSAGES */
.pms_success-messages-wrapper *,
.pms_field-errors-wrapper * {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* ============================================================================
   POST NAVIGATION LINKS - Single Post Previous/Next
   ============================================================================ */

/* DESKTOP ONLY >= 1441px */
@media screen and (min-width: 1441px) {
    
    /* Container for nav links */
    .nav-links,
    .post-navigation .nav-links {
        margin-top: 40px; /* Space from content above */
        margin-bottom: 40px; /* Space before comments */
        display: block; /* NOT flex - prevents centering */
    }
    
    /* Previous link - ALWAYS LEFT aligned */
    .nav-previous {
        text-align: left !important;
        margin-bottom: 10px;
        display: block;
    }
    
    /* Next link - ALWAYS RIGHT aligned */
    .nav-next {
        text-align: right !important;
        margin-bottom: 10px;
        display: block;
    }
    
    /* Link styling - orange color */
    .nav-previous a,
    .nav-next a {
        color: #ff9500 !important;
        font-size: 16px;
        font-weight: 500;
        text-decoration: none;
        transition: color 0.3s ease;
    }
    
    /* Hover effect - lighter orange */
    .nav-previous a:hover,
    .nav-next a:hover {
        color: #ffb347 !important;
    }
    
    /* "Logged in as USERNAME" styling */
    .logged-in-as {
        margin-top: 0px;
        color: #808080;
        font-size: 16px;
    }
    
    .logged-in-as strong {
        color: #00b061 !important;
        font-weight: 600;
    }
    
    /* Comments heading spacing */
    #comments {
        margin-top: 40px;
    }
}

/* TABLET: 768px - 1440px */
@media screen and (min-width: 768px) and (max-width: 1440px) {
    
    /* Container for nav links */
    .nav-links,
    .post-navigation .nav-links {
        margin-top: 40px;
        margin-bottom: 40px;
        display: block;
    }
    
    /* Previous link - LEFT aligned */
    .nav-previous {
        text-align: left !important;
        margin-bottom: 10px;
        display: block;
    }
    
    /* Next link - RIGHT aligned */
    .nav-next {
        text-align: right !important;
        margin-bottom: 10px;
        display: block;
    }
    
    /* Link styling - orange color */
    .nav-previous a,
    .nav-next a {
        color: #ff9500 !important;
        font-size: 14px;
        font-weight: 500;
        text-decoration: none;
        transition: color 0.3s ease;
    }
    
    /* Hover effect */
    .nav-previous a:hover,
    .nav-next a:hover {
        color: #ffb347 !important;
    }
    
    /* "Logged in as USERNAME" */
    .logged-in-as {
        margin-top: 0px;
        color: #808080;
        font-size: 14px;
    }
    
    .logged-in-as strong {
        color: #00b061 !important;
        font-weight: 600;
    }
    
    /* Comments heading */
    #comments {
        margin-top: 40px;
    }
}

/* MOBILE < 768px */
@media screen and (max-width: 767px) {
    
    /* Container for nav links */
    .nav-links,
    .post-navigation .nav-links {
        margin-top: 30px;
        margin-bottom: 30px;
        display: block;
    }
    
    /* Previous link - LEFT aligned */
    .nav-previous {
        text-align: left !important;
        margin-bottom: 10px;
        display: block;
    }
    
    /* Next link - RIGHT aligned */
    .nav-next {
        text-align: right !important;
        margin-bottom: 10px;
        display: block;
    }
    
    /* Link styling - orange color */
    .nav-previous a,
    .nav-next a {
        color: #ff9500 !important;
        font-size: 12px;
        font-weight: 500;
        text-decoration: none;
        transition: color 0.3s ease;
    }
    
    /* Hover effect */
    .nav-previous a:hover,
    .nav-next a:hover {
        color: #ffb347 !important;
    }
    
    /* "Logged in as USERNAME" */
    .logged-in-as {
        margin-top: 0px;
        color: #808080;
        font-size: 14px;
    }
    
    .logged-in-as strong {
        color: #00b061 !important;
        font-weight: 600;
    }
    
    /* Comments heading */
    #comments {
        margin-top: 30px;
    }
}

/* DESKTOP/TABLET: Nascondi il <br> */
.mobile-break {
    display: none;
}

/* MOBILE < 767px: Mostra il <br> */
@media screen and (max-width: 767px) {
    .mobile-break {
        display: inline !important;
    }
}