Reduce the size of cards

Hey guys,

really struggling with this one. I want to make a button card that can navigate to another dashboard. I want the button to be a certain size (retangular and to have 2 side by side on the dashboard). I have made what I want but I cant get the size and spacing right. I want the 2 rows of icons to be small and close to each other, and I want the right vertical stack to be the same height as the the 2 icon rows. Can anyone help?

type: custom:stack-in-card
title: null
mode: vertical
cards:
  - type: vertical-stack
    cards:
      - type: horizontal-stack
        cards:
          - type: custom:button-card
            entity: light.lights_house
            card_mod:
              style: |
                ha-card {
                border: none;
                margin: -1px 0px !important;
                height: 80px !important;
                width: 80px !important;                
                box-shadow: 0px 0px 0px 0.5px rgba(255,255,255,0.48);
                padding: 0.5rem 1rem;
                }     
            name: Lights
            show_name: false
            tap_action:
              action: navigate
              navigation_path: lights
            hold_action:
              action: none
            double_tap_action:
              action: none
            styles:
              name:
                - text-transform: capitalize
                - font-size: 14px
                - font-weight: bold
                - align-self: end
            state:
              - icon: mdi:lightbulb
                color: rgb( 255,250 ,0, 100%)
                operator: template
                value: |
                  [[[
                    return (states['light.lights_house'].state === 'on')
                  ]]]
              - icon: mdi:lightbulb
                operator: template
                color: rgb( 128,128 ,128, 10%)
                value: |
                  [[[
                    return (states['light.lights_house'].state === 'off')
                  ]]]
          - type: custom:button-card
            entity: sensor.wiser_heating
            icon: mdi:heating-coil
            name: Heating
            card_mod:
              style: |
                ha-card {
                border: none;
                margin: -1px 0px !important;
                height: 80px !important;
                width: 80px !important;                
                box-shadow: 0px 0px 0px 0.5px rgba(255,255,255,0.48);
                padding: 0.5rem 1rem;
                }    
            show_name: false
            tap_action:
              action: navigate
              navigation_path: heating
            hold_action:
              action: none
            double_tap_action:
              action: none
            styles:
              name:
                - text-transform: capitalize
                - font-size: 14px
                - font-weight: bold
                - align-self: end
            state:
              - icon: mdi:heating-coil
                color: rgb(255, 140, 0, 100%)
                operator: template
                value: |
                  [[[
                    return (states['sensor.wiser_heating'].state === 'On')
                  ]]]
              - icon: mdi:heating-coil
                operator: template
                color: rgb(128, 128, 128, 10%)
                value: |
                  [[[
                    return (states['sensor.wiser_heating'].state === 'Off')
                  ]]]
          - type: custom:button-card
            size: 60%
            card_mod:
              style: |
                ha-card {
                border: none;
                margin: -1px 0px !important;
                height: 80px !important;
                width: 250x !important;              
                box-shadow: 0px 0px 0px 0.5px rgba(255,255,255,0.48);
                padding: 0.5rem 1rem;
                }
            entity: sensor.wiser_lts_temperature_lounge
            tap_action:
              action: navigate
              navigation_path: livingroom
            name: Living Room
            show_state: true
            show_label: true
            show_icon: false
            label: null
            card size: null
            layout: icon_name_state2nd
            icon: mdi:sofa-outline
            styles:
              card:
                - height: 65px
              name:
                - align-self: left
                - justify-self: start
                - font-weight: bold
                - font-size: 15px
                - color: rgb( 255,255,255, 90%)
              state:
                - color: rgb( 255,255,255, 60%)
                - align-self: left
                - justify-self: start
                - font-size: 12px
                - font-weight: bold
              label:
                - null
  - type: vertical-stack
    cards:
      - type: horizontal-stack
        cards:
          - type: custom:button-card
            entity: null
            card_mod:
              style: |
                ha-card {
                border: none;
                margin: -1px 0px !important;
                height: 80px !important;
                width: 80px !important;                
                box-shadow: 0px 0px 0px 0.5px rgba(255,255,255,0.48);
                padding: 0.5rem 1rem;
                }     
            name: Media
            show_name: false
            tap_action:
              action: navigate
              navigation_path: media
            hold_action:
              action: none
            double_tap_action:
              action: none
            styles:
              name:
                - text-transform: capitalize
                - font-size: 14px
                - font-weight: bold
                - align-self: end
            state:
              - icon: mdi:multimedia
                color: rgb(0, 204, 0, 100%)
                operator: template
                value: |
                  [[[
                    return (states['media_player.media_house'].state === 'on')
                  ]]]
              - icon: mdi:multimedia
                operator: template
                color: rgb(128, 128, 128, 10%)
                value: |
                  [[[
                    return (states['media_player.media_house'].state === 'off')
                  ]]]

You might try putting the buttons in a grid. The size of the buttons will change depending on the number of grid cells in the row (you don’t have to use them all).

This is a vertical stack, each row containing a grid of nine cells (each row represents a room). The ones that contain buttons show on the dashboard, empty cells don’t.

If you just want icons, you can tweak button background and outline in your theme: