/*
Print Styles
*/

/* General print rules */
@media print {
    
    /* Reset margins and paddings */
    * {
        box-shadow: none !important;
        text-shadow: none !important;
    }
    
    /* Reset positioning for all elements */
    *,
    *:before,
    *:after {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        z-index: auto !important;
        transform: none !important;
        transition: none !important;
        animation: none !important;
    }
    
    /* Page setup */
    @page {
        margin: 2cm 2cm 1.5cm 2cm;
        size: A4;
    }
    
    html {
        font-size: 12pt;
        line-height: 1.4;
    }
    
    body {
        background: white !important;
        color: black !important;
        font-family: Georgia, "Times New Roman", serif !important;
        font-size: 12pt;
        line-height: 1.4;
        margin: 0 !important;
        padding: 0.3cm 0 0 0 !important;
        min-height: auto !important;
    }
    
    /* Hide elements that shouldn't be printed */
    .no-print,
    .search-panel,
    .mobile-menu,
    #menu-toggle,
    #toggle-search-panel,
    .btn,
    .button,
    .subscribe-form,
    .social-links,
    .comments,
    .comment-form,
    .sidebar,
    .widget,
    .navigation,
    .nav,
    .pagination,
    .load-more,
    .related-posts,
    .swiper-button-prev,
    .swiper-button-next,
    .swiper-pagination,
    .rt-carousel-nav,
    footer,
    #footer,
    .footer,
    .advertisement,
    .ads,
    .banner,
    .cookie-notice,
    .back-to-top,
    .share-buttons,
    .social-share,
    video,
    iframe,
    .video-wrapper,
    .embed-responsive,
    form:not(.search-form),
    input[type="submit"],
    input[type="button"],
    button,
    .calculator-block,
    .flourish-embed,
    script,
    .rt-swipe-block,
    .swiper-container,
    .swiper-wrapper,
    .swiper-slide,
    .tns-outer,
    .tns-inner,
    .tns-item,
    .rt-swipe-block .swiper-button-prev,
    .rt-swipe-block .swiper-button-next,
    .rt-swipe-block .swiper-pagination,
    .rt-comments,
    .wp-block-buttons,
    .wp-block-button,
    .swiper-button-prev,
    .swiper-button-next,
    .swiper-pagination,
    .tns-controls,
    .tns-nav,
    .slide-info,
    .slide-counter,
    .swiper-pagination-fraction,
    .spacer,
    .space,
    .gap,
    .margin-top,
    .padding-top,
    .top-space,
    .header-space,
    .content-space,
    .section-gap,
    .empty-div,
    div[class*="space"],
    div[class*="gap"],
    div[class*="margin"],
    div[class*="padding"],
    hr,
    .separator,
    .divider,
    .line-break,
    .double-line,
    .border-top,
    .border-bottom {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        border: none !important;
    }
    .tns-item,
    .rt-swipe-block .swiper-button-prev,
    .rt-swipe-block .swiper-button-next,
    .rt-swipe-block .swiper-pagination,
    .rt-comments,
    .wp-block-buttons,
    .wp-block-button,
    .swiper-button-prev,
    .swiper-button-next,
    .swiper-pagination,
    .tns-controls,
    .tns-nav,
    .slide-info,
    .slide-counter,
    .swiper-pagination-fraction {
        display: none !important;
    }
    
    /* Header styling for print */
    header,
    #header,
    .header {
        background: none !important;
        box-shadow: none !important;
        padding: 0.2cm 0 0.1cm 0 !important;
        margin: 0 0 0.2cm 0 !important;
        border-bottom: none !important;
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        z-index: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: none !important;
        page-break-after: avoid;
    }
    
    /* Force immediate content after header */
    header + *,
    #header + *,
    .header + * {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    
    .site-title,
    .logo {
        font-size: 16pt !important;
        color: black !important;
        text-decoration: none !important;
        font-weight: bold;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.2;
    }
    
    .site-description {
        font-size: 9pt !important;
        color: #666 !important;
        font-style: italic;
        margin: 0.1cm 0 0 0 !important;
        padding: 0 !important;
        line-height: 1.2;
    }
    
    /* Main content styling */
    .main,
    .content,
    .post-content,
    .entry-content,
    main,
    article {
        margin: 0 !important;
        padding: 0.2cm 0 0 0 !important;
        width: 100% !important;
        max-width: none !important;
        float: none !important;
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        z-index: auto !important;
        transform: none !important;
        clear: both !important;
        page-break-before: avoid;
    }
    
    /* Ensure proper spacing for page wrapper */
    .page-wrap,
    .site-content,
    .container,
    .wrapper {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: none !important;
        position: static !important;
    }
    
    /* Aggressively remove spacing from all potential containers */
    .site,
    .site-inner,
    .content-area,
    .primary,
    .secondary,
    .main-content,
    .page-content,
    .entry,
    .post,
    .content-wrap,
    .inner-wrap,
    .container-fluid,
    .row,
    .col,
    [class*="col-"],
    section,
    aside,
    .widget-area {
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        background: none !important;
        min-height: 0 !important;
        height: auto !important;
    }
    
    /* Typography */
    h1, h2, h3, h4, h5, h6 {
        color: black !important;
        page-break-after: avoid;
        page-break-inside: avoid;
        font-weight: bold;
        margin-top: 0.4cm;
        margin-bottom: 0.3cm;
    }
    
    /* Specific spacing for page title */
    .page-title,
    .entry-title,
    .post-title,
    h1:first-child {
        margin-top: 0 !important;
        padding-top: 0.1cm !important;
    }
    
    /* Breadcrumbs styling */
    .breadcrumb,
    .breadcrumbs,
    .rt-breadcrumb {
        font-size: 10pt !important;
        color: #666 !important;
        margin: 0 0 0.3cm 0 !important;
        padding: 0 !important;
    }
    
    /* Top page info (like SANDBOX text) */
    .page-info,
    .sandbox-info,
    .post-meta-top {
        font-size: 9pt !important;
        color: #999 !important;
        text-align: center !important;
        margin: 0 0 0.3cm 0 !important;
        padding: 0.2cm 0 !important;
        border-bottom: none !important;
    }
    
    /* Target any pseudo-elements that might create lines */
    *:before,
    *:after {
        border: none !important;
        background: none !important;
        content: none !important;
    }
    
    /* Force single border only on header */
    header:after,
    #header:after,
    .header:after {
        content: "" !important;
        display: block !important;
        width: 100% !important;
        height: 1px !important;
        background: #000 !important;
        margin: 0.1cm 0 0 0 !important;
    }
    
    h1 {
        font-size: 18pt !important;
        border-bottom: 1px solid #666;
        padding-bottom: 0.1cm;
    }
    
    h2 {
        font-size: 16pt !important;
    }
    
    h3 {
        font-size: 14pt !important;
    }
    
    h4, h5, h6 {
        font-size: 12pt !important;
    }
    
    p {
        margin: 0.3cm 0;
        text-align: justify;
        orphans: 3;
        widows: 3;
    }
    
    /* Lists */
    ul, ol {
        margin: 0.3cm 0;
        padding-left: 0.8cm;
    }
    
    li {
        margin: 0.1cm 0;
    }
    
    /* Links */
    a {
        color: black !important;
        text-decoration: underline !important;
    }
    
    /* Show URLs after links */
    a[href]:after {
        content: " (" attr(href) ")";
        font-size: 10pt;
        color: #666;
    }
    
    /* Don't show URLs for internal links or fragments */
    a[href^="#"]:after,
    a[href^="tel:"]:after,
    a[href^="mailto:"]:after,
    a[href*="rikatillsammans.se"]:after {
        content: "";
    }
    
    /* Images */
    img {
        max-width: 100% !important;
        height: auto !important;
        page-break-inside: avoid;
        display: block;
        margin: 0.3cm auto;
    }
    
    /* Figures and captions */
    figure {
        margin: 0.5cm 0;
        page-break-inside: avoid;
    }
    
    figcaption {
        font-size: 10pt;
        font-style: italic;
        text-align: center;
        margin-top: 0.2cm;
        color: #666;
    }
    
    /* Tables */
    table {
        border-collapse: collapse;
        width: 100%;
        margin: 0.5cm 0;
        page-break-inside: avoid;
    }
    
    th, td {
        border: 1px solid #666;
        padding: 0.2cm;
        text-align: left;
        vertical-align: top;
    }
    
    th {
        background: #f0f0f0 !important;
        font-weight: bold;
    }
    
    /* Blockquotes */
    blockquote {
        margin: 0.5cm 1cm;
        padding: 0.3cm;
        border-left: 3px solid #666;
        font-style: italic;
        page-break-inside: avoid;
    }
    
    /* Code blocks */
    pre, code {
        font-family: "Courier New", monospace !important;
        font-size: 10pt;
        background: #f5f5f5 !important;
        border: 1px solid #ddd;
        padding: 0.2cm;
    }
    
    pre {
        white-space: pre-wrap;
        page-break-inside: avoid;
        margin: 0.3cm 0;
    }
    
    /* WordPress specific */
    .wp-caption {
        page-break-inside: avoid;
        margin: 0.3cm 0;
    }
    
    .wp-caption-text {
        font-size: 10pt;
        font-style: italic;
        text-align: center;
        margin-top: 0.2cm;
    }
    
    /* Post meta information */
    .post-meta,
    .entry-meta {
        font-size: 10pt;
        color: #666 !important;
        margin-bottom: 0.5cm;
        padding-bottom: 0.3cm;
        border-bottom: 1px solid #ddd;
    }
    
    .post-date,
    .post-author {
        font-weight: normal;
    }
    
    /* Page breaks */
    .page-break {
        page-break-before: always;
    }
    
    .avoid-break {
        page-break-inside: avoid;
    }
    
    /* Print specific utility classes */
    .print-only {
        display: block !important;
    }
    
    .print-hide {
        display: none !important;
    }
    
    /* Ensure proper spacing around WordPress blocks */
    .wp-block {
        margin: 0.3cm 0;
    }
    
    .wp-block-quote {
        margin: 0.5cm 1cm;
        padding: 0.3cm;
        border-left: 3px solid #666;
        font-style: italic;
    }
    
    .wp-block-group,
    .wp-block-columns,
    .wp-block-column {
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Multi-column layouts for print */
    .wp-block-columns {
        display: block !important;
        column-count: auto !important;
        column-gap: normal !important;
    }
    
    .wp-block-column {
        display: block !important;
        width: 100% !important;
        margin-bottom: 0.5cm !important;
        break-inside: avoid;
        border: 1px solid #eee;
        padding: 0.3cm !important;
    }
    
    /* Custom column layouts */
    .rt-columns,
    .columns,
    .column-layout {
        display: block !important;
        column-count: auto !important;
    }
    
    .rt-column,
    .column {
        display: block !important;
        width: 100% !important;
        margin-bottom: 0.5cm !important;
        break-inside: avoid;
        border: 1px solid #eee;
        padding: 0.3cm;
    }
    
    /* Calculator and interactive elements */
    .calculator,
    .interactive,
    .js-only {
        display: none !important;
    }
    
    /* Charts and graphs - show a placeholder text */
    .chart-container:before,
    .graph-container:before {
        content: "[Graf/diagram tillgängligt online]";
        display: block;
        font-style: italic;
        text-align: center;
        padding: 0.5cm;
        border: 1px dashed #999;
        background: #f9f9f9;
    }
    
    /* Card and section layouts */
    .card,
    .section,
    .content-block,
    .info-box {
        border: 1px solid #ddd !important;
        margin: 0.5cm 0 !important;
        padding: 0.4cm !important;
        background: #fafafa !important;
        page-break-inside: avoid;
    }
    
    .card-header,
    .section-header {
        font-weight: bold !important;
        border-bottom: 1px solid #ccc !important;
        padding-bottom: 0.2cm !important;
        margin-bottom: 0.3cm !important;
    }
    
    /* List styling improvements */
    ul li {
        margin-bottom: 0.1cm;
        line-height: 1.3;
    }
    
    ol li {
        margin-bottom: 0.1cm;
        line-height: 1.3;
    }
    article p, article li, article details,
    article p.lead, article li.lead, article details.lead {
        max-width: none;
    }
    
    /* Better spacing for FAQ or question sections */
    .faq-item,
    .question-item {
        margin: 0.5cm 0 !important;
        padding: 0.3cm !important;
        border: 1px solid #ddd;
        page-break-inside: avoid;
    }
    
    .faq-question,
    .question {
        font-weight: bold !important;
        margin-bottom: 0.2cm !important;
    }
    
    .faq-answer,
    .answer {
        margin-left: 0.3cm !important;
        color: #444 !important;
    }

    .rt-tips-swiper-view .rt-swiper-v2-skeleton {
        display: none !important;
    }
    
    /* Override the general swiper hiding rules for tips swiper */
    .rt-tips-swiper-view,
    .rt-tips-swiper-view .rt-swipe-block,
    .rt-tips-swiper-view .rt-swiper-v2-block,
    .rt-tips-swiper-view .rt-swiper-v2-container,
    .rt-tips-swiper-view .rt-swiper-v2-hold,
    .rt-tips-swiper-view .rt-swiper-v2,
    .rt-tips-swiper-view .rt-swiper-v2-wrapper,
    .rt-tips-swiper-view .rt-swiper-v2-slide {
        display: block !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        position: static !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    
    .rt-tips-swiper-view .rt-swiper-v2 {
        display: block !important;
        height: auto !important;
    }
    .rt-swiper-v2-block .rt-swiper-v2-wrapper {
        flex-wrap: wrap;
        height: auto !important;
    }
    .rt-swiper-v2-slide {
        width: 100% !important;
        margin: 0 0 40px !important;
        height: auto !important;
    }
    .rt-swiper-v2-block .rt-swiper-v2-pagination,
    .rt-swiper-v2-block .rt-swiper-v2-button-next,
    .rt-swiper-v2-block .rt-swiper-v2-button-prev {
        display: none !important; 
    }
}
